oracle11g之LogMiner分析重做日志实践
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle11g之LogMiner分析重做日志实践,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3456字,纯文字阅读大概需要5分钟。
内容图文
![oracle11g之LogMiner分析重做日志实践](/upload/InfoBanner/zyjiaocheng/567/7b19ff43b9b345f48d346e9f2465f45a.jpg)
1.安装LogMiner 以DBA用户身份运行下面2个脚本: dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。 SQL @$ORACLE_HOME/rdbms/admin/dbmslm.sql;Package created.Grant succeeded.Synonym created. dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创
1.安装LogMiner
以DBA用户身份运行下面2个脚本:
- dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。
SQL> @$ORACLE_HOME/rdbms/admin/dbmslm.sql; Package created. Grant succeeded. Synonym created.
- dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql; Package created. Synonym created.
2.设置参数UTL_FILE_DIR
添加参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录,
SQL> CREATE DIRECTORY utlfile AS '/home/oracle/logminer'; Directory created. SQL> alter system set utl_file_dir='/home/oracle/logminer' scope=spfile; System altered.
![]()
重启数据库,生效上面的设置。
SQL> shutdown immediate; SQL> startup; SQL> show parameters utl_file_dir;
3.启动补充日志
补充日志不是LogMiner日志分析必须的步骤,但是如果不启用补充日志,分析日志的的很多结果集信息就会显示为“UNKNOWN”,下面是开启最小补充日志。
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; Database altered. SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE; SUPPLEME -------- YES
![]()
4.创建专门的LogMiner用户
不是必须,实为管理安全方便。
5.创建数据字典
SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/logminer');
6.添加需要分析的在线日志或者归档日志
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_199_ckv04o6w_.arc',OPTIONS => DBMS_LOGMNR.NEW); SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_201_ckv08jyp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed. SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_200_ckv05pmp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed.
![]()
7. 使用字典分析归档日志文件
SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora');
8.在线日志分析实例
- 插入数据
SQL> insert into nn.t1 values(1000,'succ'); 1 row created. SQL> commit; Commit complete.
- 查询当前日志序列号
SQL> SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORD ER BY first_change#; GROUP# SEQUENCE# STATUS FIRST_CHANGE# FIRST_TIM ---------- ---------- ---------------- ------------- --------- 1 208 INACTIVE 2825768 25-APR-16 2 209 INACTIVE 2825872 25-APR-16 3 210 CURRENT 2845771 25-APR-16
- 加入当前日志组
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'/home/oracle/oradata/orcl/redo03.log',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed.
- 使用LogMiner进行分析
SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora'); PL/SQL procedure successfully completed.
- 查询分析结果
SQL> SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='T1'; SQL_REDO SQL_UNDO SEG_OWNER insert into "NN"."T1"("TID","TNAME") values ('1000','succ'); delete from "NN"."T1" where "TID" = '1000' and "TNAME" = 'succ' and ROWID = 'AAAR7YAAEAAAACrAAD'; NN
9.关闭LogMiner会话
SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR;
内容总结
以上是互联网集市为您收集整理的oracle11g之LogMiner分析重做日志实践全部内容,希望文章能够帮你解决oracle11g之LogMiner分析重做日志实践所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。