Hi All,
I am trying to modify my query to get last n-hour(last 1 hour currently) data. Below is my query:
select accTab.lanid Access_ID,accTab.username Access_Name,nar.NAME Access_Profile,accTab.login_type Access_Type,accTab.country Access_Country,accTab.source_system Access_SourceIP,
accTab.source_host Access_SourceHost,(to_char(accTab.login_date,'DDMMYYYY HH12.MI.SS AM')) Access_LoginTimeStamp,(to_char(accTab.logout_date,'DDMMYYYY HH12.MI.SS AM'))
Access_LogoutTimeStamp
from (select lanid,username,login_type,country,source_system,source_host,login_date,logout_date,
rank() over (partition by lanid order by login_date desc) rnk from SECMON_ACCESSLOG) accTab inner join
nvb_az_authorization naa on accTab.LANID = naa.windows_identity inner join
nvb_az_roles nar on naa.role_id=nar.role_id
and accTab.login_date between sys_extract_utc(systimestamp - 1/24) and sys_extract_utc(systimestamp);
Note: The login_date column and logout_date columns are declared as Timestamp and are stored with timestamps in UTC timezone/format
But, I am getting below error:
ORA-30175: invalid type given for an argument
30175. 00000- "invalid type given for an argument"
*Cause: There is an argument with an invalid type in the argument list.
*Action: Use the correct type wrapper for the argument.
Error at Line: 8 Column: 61
I have also tried the below modifications in the query:
select accTab.lanid Access_ID,accTab.username Access_Name,nar.NAME Access_Profile,accTab.login_type Access_Type,accTab.country Access_Country,accTab.source_system Access_SourceIP,
accTab.source_host Access_SourceHost,(to_char(accTab.login_date,'DDMMYYYY HH12.MI.SS AM')) Access_LoginTimeStamp,(to_char(accTab.logout_date,'DDMMYYYY HH12.MI.SS AM'))
Access_LogoutTimeStamp
from (select lanid,username,login_type,country,source_system,source_host,login_date,logout_date,
rank() over (partition by lanid order by login_date desc) rnk from SECMON_ACCESSLOG) accTab inner join
nvb_az_authorization naa on accTab.LANID = naa.windows_identity inner join
nvb_az_roles nar on naa.role_id=nar.role_id
and accTab.login_date > accTab.login_date-1;
but this query gives all the data present in the table.
Can someone help me what is it i am missing to get last 1 hour data from the query?
Note: I am using Oracle 11g and SQL Developer