Due to security restrictions it has become cumbersome to login to a DB Server or to even login as SYS to the DB.
I've had to quickly adapt and found the following views and queries beneficial when querying log files that I normally accessed from the OS:
To view the rman log for the last rman session:
select output
from v$rman_output
where session_recid = (select max(session_recid) from v$rman_status)
order by recid ;
The v$rman_output view is memory-based so it will not persist thru a database restart, the view provides the exact output from rman as it would appear on the screen or a logfile.
To query the alert.log:
select * from
(select record_id,
to_char(originating_timestamp,'DD.MM.YYYY HH24:MI:SS'),
message_text
from x$dbgalertext
order by RECORD_ID desc)
where rownum <= 20 order by RECORD_ID asc;
but will fail with "ORA-00942: table or view does not exist" if you are not logged in as SYS, and you can't even grant select access to the X$ table to another user, the grant will fail with "ORA-02030: can only select from fixed tables/views". My workaround was to create a view and then grant a select privilege on the view:
create view alert_log as select * from X$DBGALERTEXT;
grant select on alert_log to meyerm;
Then as user meyerm:
select * from
(select record_id,
to_char(originating_timestamp,'DD.MM.YYYY HH24:MI:SS'),
message_text
from sys.alert_log
order by RECORD_ID desc)
where rownum <= 20 order by RECORD_ID asc;
Tuesday, October 30, 2018
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment