[置顶] 使用dbms_logmnr查看日志文件

大多为了寻找被意外修改的数据或者那条sql修改了哪些数据

如果是在线重做日志的话需要该日志是inactive模式下的

查询v$log和v$logfile获取相关信息

执行exec dbms_logmnr.add_logfile('log_filename',dbms_logmnr.new);
其中的日志可以是在线的也可以是离线的归档日志

exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);


然后select sql_redo from v$logmnr_contents where owner=user and operation='UPDATE';


如果要查询更新或者插入的某列的特定值可以使用mine_value功能

select sql_redo from v$logmnr_contents where owner=user and operation='UPDATE' and dbms_logmnr.mine_value(redo_value,'SCOTT.T.C1')=1
查询更新scott.t表日志记录c1列为1的日志记录


你可能感兴趣的:([置顶] 使用dbms_logmnr查看日志文件)