logminer挖掘不同数据库的归档日志,使用redo log数据字典

来源:互联网 发布:linux开发板推荐 编辑:程序博客网 时间:2024/06/06 01:52

挖掘要求:

使用测试库挖掘生产库的归档日志,生产库未设置utl_file_dir参数,生产库不能重启,无法抽取出生产库的数据字典

挖掘方法:

将生产区数据库的数据字典抽取到redo log 中,将有数据字典的redo log一块加载入logminer,使用redo log中的数据字典进行数据挖掘。


操作步骤:

 1、抽取数据字典到redo log 

EXECUTE DBMS_LOGMNR_D.BUILD( OPTIONS=> DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

2、记录数据字典所在的日志文件

SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';--开始的日志文件SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_END='YES';--结束的日志文件
3、logminer加载日志:
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => '第一个文件', OPTIONS => DBMS_LOGMNR.NEW);--数据字典日志文件EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '之后的文件', OPTIONS => DBMS_LOGMNR.ADDFILE);--数据字典日志文件,加载开始到结束的全部日志文件EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '需要挖掘的日志文件', OPTIONS => DBMS_LOGMNR.ADDFILE);--添加需要挖掘的


4、开始数据挖掘:

EXECUTE DBMS_LOGMNR.START_LOGMNR( OPTIONS =>DBMS_LOGMNR.COMMITTED_DATA_ONLY+dbms_logmnr.NO_ROWID_IN_STMT+dbms_logmnr.DICT_FROM_REDO_LOGS);--使用dbms_logmnr.DICT_FROM_REDO_LOGS
5、挖掘查询结果:

SELECT scn,seg_owner,operation,timestamp,status,sql_redo,seg_name  FROM v$logmnr_contents 


0 0
原创粉丝点击