0
点赞
收藏
分享

微信扫一扫

Oracle-redo日志挖掘

--当前会话时间格式化
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';


--查询补充日志状态 NO关闭 YES开启

SQL> select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL  from v$database;


SUPPLEME SUP SUP SUP SUP

-------- --- --- --- ---

YES      NO  NO  NO  NO


SQL>


--开启补充日志

alter database add supplemental log data;

alter database add supplemental log data (primary key) columns;

alter database add supplemental log data (unique) columns;

alter database add supplemental log data (primary key, unique index) columns;


--手动切换归档 将redo记录写入到datafile,并形成归档

alter system checkpoint;

alter system switch logfile;


--开启日志挖掘

begin

dbms_logmnr.start_logmnr(

starttime=>to_date('2024-01-17 00:00:00','yyyy-mm-dd hh24:mi:ss'),

endtime=>to_date('2024-01-18 16:52:14','yyyy/mm/dd hh24:mi:ss'),

options=>dbms_logmnr.dict_from_online_catalog + dbms_logmnr.continuous_mine);

end;

/


--查询视图 v$logmnr_contents  
SELECT sql_redo,sql_undo,SESSION#,serial#,username,MACHINE_NAME,SESSION_INFO,operation,xid

FROM

    v$logmnr_contents  
WHERE

    SESSION# = (SELECT s.sid FROM v$session s WHERE s.sid = ( SELECT sid FROM v$mystat WHERE ROWNUM = 1 ))  
    AND serial# = (SELECT serial# FROM v$session s WHERE s.sid = ( SELECT sid FROM v$mystat WHERE ROWNUM = 1 ));

--简约版显示

SELECT SESSION#,serial#,username,operation,xid,sql_redo,sql_undo

FROM

    v$logmnr_contents  
WHERE

    SESSION# = (SELECT s.sid FROM v$session s WHERE s.sid = ( SELECT sid FROM v$mystat WHERE ROWNUM = 1 ))  
    AND serial# = (SELECT serial# FROM v$session s WHERE s.sid = ( SELECT sid FROM v$mystat WHERE ROWNUM = 1 ));


--关闭日志挖掘

begin

dbms_logmnr.end_logmnr;

end;

/


--日志

select GROUP#,THREAD#,SEQUENCE#,BYTES,BLOCKSIZE,MEMBERS,ARCHIVED,STATUS,
FIRST_CHANGE#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') FIRST_TIME,NEXT_CHANGE#,to_char(NEXT_TIME,'yyyy-mm-dd hh24:mi:ss') NEXT_TIME from v$log;


col MEMBER for a65

select * from v$logfile;

select * from v$log;

select * from v$archived_log;

举报

相关推荐

0 条评论