使用LogMiner恢复数据的方法:
1.首先设置UTL_FILE_DIR参数.
该参数为静态参数,需要重启数据库才能设置完成
如果使用的是pfile启动的数据库,需要停止数据库后,修改init参数文件,然后重启数据库;
如果使用的是spfile文件,使用alter system set UTL_FILE_DIR='/xxx/dir' scope=spfile;修改spfile参数后重启数据库修改.
2.执行logminer的创建脚本
使用sys用户执行下面的两个脚本:
$ORACLE_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql
3.生成数据字典文件
exec dbms_logmnr_d.build('xxxx_dictfile.ora','/xxx/dir');
之后可以看到在/xxx/dir目录下生成一个xxxx_dictfile.ora文件.
4.添加日志文件
exec dbms_logmnr.add_logfile('/oracle/oradata/orcl/redo03.log',sys.dbms_logmnr.new);
5.启动LogMiner进行分析
exec dbms_logmnr.start_logmnr(dictfilename=>'/xxx/dir/xxxx_dictfile.ora');
6.查看日志分析结果
create table xx_test as (select * from v$logmnr_contents where seg_name like '%XX_TEST%');
7.关闭LogMiner
exec dbms_logmnr.end_logfile();
LogMiner相关的视图:
v$loghist
v$logmnr_contents;
v$logmnr_parameters;
v$logmnr_dictionary;
v$logmnr_logs[@more@]