使用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的日志记录


 

posted @ 2015-12-29 23:30  飞天的白猪  阅读(706)  评论(0编辑  收藏  举报