--当前会话时间格式化
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;