达梦分析归档日志方法
在很多场合下,我们需要分析数据库操作日志来确认是否对数据库是否存在误操作,类似删表和删除数据等操作。这个时候就可以使用logmnr工具来分析归档日志。
1、首先确保数据库处于归档模式下,且保留的归档文件日志包含误操作日志。
2、确保RLOG_APPEND_LOGIC为1或者2,如果为0,归档文件记录的操作会很少。
查看数据库归档信息,使用DM管理工具查询或手动查看归档目录
select first_time,name from v$archived_log;
或者进入归档目录查看
服务器查询归档需要进入归档路径查看。
添加需要分析的归档日志
Call dbms_logmnr.add_logfile(’/dbbak/db7bak/arch/ARCHIVE_LOCAL1_20161013025146670_0.log’);
Call dbms_logmnr.add_logfile(’ E:\dmdbms\dmarch\ARCHIVE_LOCAL1_0x3D2E02C4[0]_2020-12-01_17-41-45.log’);
每次call只能添加一条归档,可以执行多条call;
确认归档日志是否被加载
Select * from v$logmnr_logs;
启动日志分析
DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2128,STARTTIME=>TO_DATE(‘2020-11-20 14:31:49.702000’,‘YYYY-MM-DD HH24:MI:SS’) ,ENDTIME=>TO_DATE(‘2020-11-23 17:54:13.507000’,‘YYYY-MM-DD HH24:MI:SS’));
其中STARTTIME=查询结果中的LOW_TIME;ENDTIME=HIGH_TIME
查看v$logmnr_contents视图找出对应的操作
select start_timestamp,sql_redo from v$logmnr_contents
where table_name='TABLES' and operation='DELETE' and sql_redo like '%000300008617%';
停止分析v$logmnr_contents视图分析所有的操作日志。
DBMS_LOGMNR.END_LOGMNR