知识大全 Oracle数据库LogMiner工具的使用方法
Posted 文件
篇首语:人心隔肚皮,看人看行为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle数据库LogMiner工具的使用方法相关的知识,希望对你有一定的参考价值。
Oracle数据库LogMiner工具的使用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Logminer(DBMS_LOGMNR和DBMS_LOGMNR_D)package 可以用来分析Oracle的重做日志文件 Logminer是oracle从 i开始提供的工具
我们可以使用logminer分析其它instance(版本可不一致)的重做日志文件 但是必须遵循以下要求
LogMiner日志分析工具仅能够分析Oracle 以后的产品
LogMiner必须使用被分析数据库实例产生的字典文件 且安装LogMiner数据库的字符集必须和被分析数据库的字符集相同
被分析数据库平台必须和当前LogMiner所在数据库平台一样 且block size相同
使用logminer
安装logminer
要安装LogMiner工具 必须首先要运行下面这样两个脚本 $ORACLE_HOME/rdbms/admin/dbmslm sql $ORACLE_HOME/rdbms/admin/dbmslmd sql
这两个脚本必须均以SYS用户身份运行
创建数据字典文件
首先在init ora初始化参数文件中 添加参数UTL_FILE_DIR 该参数值为服务器中放置数据字典文件的目录 如 UTL_FILE_DIR = (D:\\Oracle\\logs)
重新启动数据库 使新加的参数生效 然后创建数据字典文件 SQL> EXECUTE dbms_logmnr_d build( dictionary_filename => logmn_ora dat dictionary_location => D:\\Oracle\\logs );
创建数据字典是让LogMiner引用涉及到内部数据字典中的部分时使用对象的名称 而不是系统内部的 进制的ID 如果我们要分析的数据库中的表有变化 影响到库的数据字典也发生变化 就需要重新创建该字典
添加要分析的日志文件
Logminer可以用来分析在线的重做日志文件和归档日志文件 但是我们一般建议使用归档的日志文件
a 添加新的日志文件 SQL> EXECUTE dbms_logmnr add_logfile( LogFileName=> D:\\database\\oracle\\oradata\\ora \\archive \\ ARC Options=>dbms_logmnr new);
b 添加另外的日志文件到列表 SQL> EXECUTE dbms_logmnr add_logfile( LogFileName=> D:\\database\\oracle\\oradata\\ora \\archive \\ ARC Options=>dbms_logmnr addfile);
c 移去一个日志文件 SQL> EXECUTE dbms_logmnr add_logfile( LogFileName=> D:\\database\\oracle\\oradata\\ora \\archive \\ ARC Options=>dbms_logmnr REMOVEFILE);
创建了要分析的日志文件 就可以对其进行分析
进行日志分析 SQL> EXECUTE dbms_logmnr start_logmnr( DictFileName=> D:\\Oracle\\logs\\ logmn_ora dat );
可以使用相应的限制条件
时间范围 对dbms_logmnr start_logmnr使用StartTime和EndTime参数
SCN范围 对dbms_logmnr start_logmnr使用StartScn和EndScn参数
观察结果
主要是查询v$logmnr_contents SQL> desc v$logmnr_contents;
名称 空? 类型
SCN NUMBER TIMESTAMP DATE THREAD# NUMBER LOG_ID NUMBER XIDUSN NUMBER XIDSLT NUMBER XIDSQN NUMBER RBASQN NUMBER RBABLK NUMBER RBABYTE NUMBER UBAFIL NUMBER UBABLK NUMBER UBAREC NUMBER UBASQN NUMBER ABS_FILE# NUMBER REL_FILE# NUMBER DATA_BLK# NUMBER DATA_OBJ# NUMBER DATA_OBJD# NUMBER SEG_OWNER VARCHAR ( ) SEG_NAME VARCHAR ( ) SEG_TYPE NUMBER SEG_TYPE_NAME VARCHAR ( ) TABLE_SPACE VARCHAR ( ) ROW_ID VARCHAR ( ) SESSION# NUMBER SERIAL# NUMBER USERNAME VARCHAR ( ) SESSION_INFO VARCHAR ( ) ROLLBACK NUMBER OPERATION VARCHAR ( ) SQL_REDO VARCHAR ( ) SQL_UNDO VARCHAR ( ) RS_ID VARCHAR ( ) SSN NUMBER CSF NUMBER INFO VARCHAR ( ) STATUS NUMBER PH _NAME VARCHAR ( ) PH _REDO VARCHAR ( ) PH _UNDO VARCHAR ( ) PH _NAME VARCHAR ( ) PH _REDO VARCHAR ( ) PH _UNDO VARCHAR ( ) PH _NAME VARCHAR ( ) PH _REDO VARCHAR ( ) PH _UNDO VARCHAR ( ) PH _NAME VARCHAR ( ) PH _REDO VARCHAR ( ) PH _UNDO VARCHAR ( ) PH _NAME VARCHAR ( ) PH _REDO VARCHAR ( ) PH _UNDO VARCHAR ( )
通过字段sql_redo可以得到该日志文件中进行过的sql操作 通过sql_undo可以得到撤销的sql语句
还可以用这样的sql对日志文件中的所有的操作分类统计 select operation count(*)from v$logmnr_contents group by operation;
视图v$logmnr_contents中的分析结果仅在我们运行过程 dbms_logmrn start_logmnr 这个会话的生命期中存在 这是因为所有的LogMiner存储都在PGA内存中 所有其他的会话是看不到它的 同时随着会话的结束而清除分析结果
cha138/Article/program/Oracle/201311/18334相关参考
研究了好几天终于有了一个比较完整查看oracle的数据日志方法oracle没有想sqlserver那样有sqlE工具来辅助查询只能利用oracle自己的工具 一如何分析即LogMiner解释
知识大全 用Oracle导入导出工具实现Oracle数据库移植
用Oracle导入导出工具实现Oracle数据库移植 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Oracle数据库工具:Quest Code Tester
Oracle数据库工具:QuestCodeTester 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Oracle发布免费数据库管理工具Raptor 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
知识大全 使用Windows工具管理Nt上的Oracle数据库
使用Windows工具管理Nt上的Oracle数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle数据库专享工具:SQL*Loader 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!SQ
Oracle服务器常用命令行工具一览 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ()数据库管
一什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合有大小之分有相互的包容关系ORACLE支持国家语言的体系结构允许你使用本地化语言来存储处理检索数据它使数据库工具错误消
如何修改数据库名(db_name)及实例名(Instance_nameorService_name)Nid是Oracle从iR开始提供的工具可以用来更改数据库名称而无需通过之前重建控制文件等繁琐方式n
Oracle字符集是一个字节数据的解释的符号集合有大小之分有相互的包容关系ORACLE支持国家语言的体系结构允许你使用本地化语言来存储处理检索数据它使数据库工具错误消息排序次序日期时间货币数字和日