14.3.3 分析一个或多个重做日志文件

来源:互联网 发布:2017赛季林书豪数据 编辑:程序博客网 时间:2024/06/05 23:27

14.3.3 分析一个或多个重做日志文件

2009-01-20 15:43 刘伟琴 清华大学出版社 字号:T | T
一键收藏,随时查看,分享好友!

《Oracle Database 11gDBA手册》将介绍Oracle 11g最新的特性以及如何将这些特性结合到Oracle数据库管理中。第14章将会学习能够显著增强数据库应用程序可用性的各种功能特性的实现细节。本节说的是分析一个或多个重做日志文件。

AD:51CTO学院:IT精品课程在线看!

14.3.3  分析一个或多个重做日志文件

为了使用LogMiner分析重做日志文件,遵照以下步骤:

(1) 使用V$LOGMNR_LOGS获得一个可用的重做日志文件的清单。

(2) 使用DBMS_LOGMNR.START_LOGMNR程序启动LogMiner实用程序。参见本节后面的表14-2来了解START_LOGMNR参数。

(3) 查询V$LOGMNR_CONTENTS来查看结果。

(4) 一旦已经完成对重做日志的查看,发出如下命令来结束会话:

execute DBMS_LOGMNR.END_LOGMNR;

表14-1 中介绍了DBMS_LOGMNR程序包可用的子程序。

表14-2 显示了START_LOGMNR程序的参数。

为了创建一个可用于分析的重做日志文件的清单,如下所示运行带有NEW选项的DBMS_LOGMNR.ADD_LOGFILE程序,此例使用Linux文件系统:

execute DBMS_LOGMNR.ADD_LOGFILE(LogFileName=> '/oracle/ora10/redo01.ora',Options=> DBMS_LOGMNR.NEW);execute DBMS_LOGMNR.ADD_LOGFILE(LogFileName=> '/oracle/ora10/redo02.ora',Options=> DBMS_LOGMNR.NEW);

表14-1  DBMS_LOGMNR子程序

   

   

ADD_LOGFILE

向要处理的归档文件清单添加一个文件

START_LOGMNR

初始化LogMiner实用程序

END_LOGMNR

完成并结束一个LogMiner会话

MINE_VALUE (函数)

对于任何从V$LOGMNR_CONTENT返回的行,返回由COLUMN_NAME参数指定的列名的撤销或重做列的值

COLUMN_PRESENT (函数)

对于任何从V$LOGMNR_CONTENT返回的行,决定是否存在由COLUMN_NAME参数指定的列名的撤销或重做列的值

REMOVE_LOGFILE

从LogMiner将要处理的日志文件清单中删除一个日志文件

表14-2  START_LOGMNR选项的值

   

   

COMMITTED_DATA_ONLY

如果设定了这个选项,只返回对应于提交的事务处理的DML

SKIP_CORRUPTION

在从V$LOGMNR_CONTENTS选择的过程中,跳过重做日志文件中遇到的任何损坏的块。只有在实际的重做日志文件中存在一个损坏的块时,该选项才有用,如果数据头块损坏,则该选项不起作用

DDL_DICT_TRACKING

如果发生一个DDL事件,启用LogMiner来更新内部数据字典,以确保SQL_REDO 和SQL_UNDO信息被维护并保持正确

DICT_FROM_ONLINE_CATALOG

指示LogMiner使用联机数据字典来代替平面文件或重做日志文件存储的字典

DICT_FROM_REDO_LOGS

指示LogMiner使用存储在一个或多个重做日志文件中的数据字典

NO_SQL_DELIMITER

指示LogMiner在重构的SQL语句末尾不插入SQL定界符(;)

NO_ROWID_IN_STMT

指示LogMiner在重构的SQL语句中不包含ROWID语句

PRINT_PRETTY_SQL

指示LogMiner格式化重构的SQL语句以便于阅读

CONTINUOUS_MINE

指示LogMiner自动添加重做日志文件来找到感兴趣的数据。指定起始SCN、日期或要挖掘的第一个日志。LogMiner必须连接到正在生成重做日志文件的同一个数据库实例

可以指定数据字典文件的位置,如下所示:

execute DBMS_LOGMNR.ADD_LOGFILE(DictFileName=> '/oracle/ora10/dictionary.ora',

在已经告知LogMiner数据字典的位置并添加了重做日志文件后,可以使用DBMS_LOGMNR.START_LOGMNR程序包开始分析重做日志文件。例如,以下的命令在一段时间内分析日志文件:

execute DBMS_LOGMNR.START_LOGMNR(DictFileName => '/oracle/dictionary.ora',StartTime => TO_DATE('01-SEP-2007 12:45:00', DD-MON-YYYY HH:MI:SS')EndTime => TO_DATE('01-OCT-2007 00:00:00', DD-MON-YYYY HH:MI:SS'));

注意:

使用时间戳将不能保证重做记录的次序,必须使用SCN编号来确保记录的次序。

可以使用SCN值来筛选数据,如下所示:

execute DBMS_LOGMNR.START_LOGMNR(DictFileName => '/oracle/dictionary.ora',StartScn => 125,EndScr => 300);

如果没有输入起始和结束时间或者SCN编号范围,对于发出的每条select语句,将读取整个文件。

为了查看重做代码和取消代码,可以选择SQL_REDO和SQL_UNDO列,如下所示:

select sql_redo, sql_undofrom V$LOGMNR_CONTENTS;

可以使用OEM服务器管理控制台(OEM Server Manager Console)启动基于Java的LogMiner Viewer来查看重做日志和归档的重做日志。为了在Windows平台上启动LogMiner Viewer,使用Start | Programs | Oracle_Home | Oracle Enterprise Manager Console选项。一旦已经连接到基于Java的OEM Server Console(Oracle Database 10g及更早版本),选择希望在它上面运行LogMiner Viewer的数据库。要确保已经启动了该数据库。

为了启动LogMiner Viewer,突出显示数据库并右击。将光标移动到Related Tools选项,然后移到LogMiner Viewer选项。当出现LogMiner Viewer Console屏幕时,通过单击图标面板中顶端的图标或从Object下拉菜单中选择Create Query来创建一个对象查询。LogMiner Viewer自动查找用来创建查询的可用的归档重做日志文件。如果没有可用的归档重做日志文件,会接收到错误消息。可以创建筛选选项(通过创建查询标准),查看每个可用的重做日志文件的起始和结束SCN,并选择要显示的列。OEM LogMiner Viewer可以简化筛选日志文件内容的过程。此外,可以使用Grid Control屏幕来访问和查看LogMiner的输出。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
0 0
原创粉丝点击