############################################
--数据库日志分析
--用于分析oracle 数据库归档日志或 REDO日志
--应用于分析数据库归档日志增长过快的原因或查找执行过的SQL等
--分析工具用LogMiner
#############################################
一、从备份的归档日志中抽取归档日志,如果是现成的归档日志(没有备份打包压缩过),则不用执行这一步
二、安装对应的包
--创建DBMS_LOGMNR包,该包用来分析日志文件。
--创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
三、分析日志文件
--指定要分析的日志文件,如果有多个日志文件要分析,测可以用dbms_logmnr.new新增后,再用 dbms_logmnr.addfile 添加
--添加要分析的日志文件
--对日志文件进行分析,使用本地的在线数据字典分析归档日志;如果本地的数据字典与归档日志的数据字典并不一致(不是同一个数据库或跟产生归档日志的数据库没有关系),则要用到 DBMS_LOGMNR_D包
--查询分析结果
--也可以在plsql-developer 工具中执行,效果是一样
--数据库日志分析
--用于分析oracle 数据库归档日志或 REDO日志
--应用于分析数据库归档日志增长过快的原因或查找执行过的SQL等
--分析工具用LogMiner
#############################################
一、从备份的归档日志中抽取归档日志,如果是现成的归档日志(没有备份打包压缩过),则不用执行这一步
点击(此处)折叠或打开
- declare
- devtype varchar2(256);
- done boolean;
- BEGIN
- devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
- sys.dbms_backup_restore.restoreSetArchivedLog;
- sys.dbms_backup_restore.restoreArchivedLogRange;
- sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'/home/oracle/orabak/databack/arc_20160201_onqssbnp_1_1.bak',params=>null);
- sys.dbms_backup_restore.deviceDeallocate;
- END;
二、安装对应的包
--创建DBMS_LOGMNR包,该包用来分析日志文件。
点击(此处)折叠或打开
- @$ORACLE_HOME/rdbms/admin/dbmslm.sql
--创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
点击(此处)折叠或打开
- @$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
三、分析日志文件
--指定要分析的日志文件,如果有多个日志文件要分析,测可以用dbms_logmnr.new新增后,再用 dbms_logmnr.addfile 添加
点击(此处)折叠或打开
- exec sys.dbms_logmnr.add_logfile(logfilename => '/u01/app/oracle/arch/1_250_892951721.dbf',options => dbms_logmnr.new);
点击(此处)折叠或打开
- exec sys.dbms_logmnr.add_logfile(logfilename => '/u01/app/oracle/arch/1_251_892951721.dbf',options => dbms_logmnr.addfile);
点击(此处)折叠或打开
- exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
--查询分析结果
点击(此处)折叠或打开
- select timestamp, session_info ,sql_redo from v$logmnr_contents where rownum<=20
--也可以在plsql-developer 工具中执行,效果是一样
点击(此处)折叠或打开
- begin
- sys.dbms_logmnr.add_logfile(logfilename => '/u01/app/oracle/arch/1_250_892951721.dbf',options => dbms_logmnr.new);
- sys.dbms_logmnr.add_logfile(logfilename => '/u01/app/oracle/arch/1_251_892951721.dbf',options => dbms_logmnr.addfile);
- sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
- end;
点击(此处)折叠或打开
- select timestamp, session_info ,sql_redo from v$logmnr_contents where rownum<=20
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29701030/viewspace-2127041/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29701030/viewspace-2127041/