网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle PL/SQL语言初级教程之表和.
.教你如何处理Oracle数据库中的坏.
.如何在硬碟建置Linux系统之关於虚.
.Oracle 9i切换数据库的日志模式.
.ORACLE SQL性能优化系列(九).
.安装管理客户机.
.如何学习Oracle.
.生僻的SQLPLUS命令.
.2Gb or Not 2Gb.
.Oracle 11g for linux X86的SILE.
.PL/SQL入门教程.
.Oracle聚合函数RANK和dense_rank.
.关于数据库调优Node1.
.直接挖掘数据文件的数据.
.优化数据库的三板斧 大幅提高Ora.
.在linux上单机模拟Oracle 10g RA.
.ORACLE常用傻瓜問題1000問(之四).
.Oracle SQL精妙SQL语句讲解.
.创建实体化视图产生ORA-600 [ksm.
.[Oracle] Ora2html--收集Oracle数.

关于Logminer

发表日期:2008-2-9


Logminer能用来做什么?
LogMiner 提供了一个处理重做日志文件并将其内容翻译成代表对数据库的逻辑操作的SQL 语句的过程。
LogMiner 运行在Oracle 版本8.1 或者更高版本中。
如何使用Logminer:
1。先要安装logminer的两个包;以SYS用户运行下面两个sql:
$ORACLE_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql


2。创建数据字典文件
在参数文件中,添加参数UTL_FILE_DIR,该参数为放置数据字典文件的目录。
如:UTL_FILE_DIR = (e:\Oracle\logs)
重新启动数据库,使参数生效,然后创建数据字典文件:
EXECUTE dbms_logmnr_d.build(
dictionary_filename => ' v816dict.ora',
dictionary_location => 'e:\oracle\logs');
创建数据字典是让logminer引用实际到内部数据字典中的部分是使用对象的名称,而不是系统内部的16进制的ID.


3.创建要分析的日志文件的列表
(1)分析在线的重做日志
A。建立列表
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo01.log',
Options=>dbms_logmnr.new);
B。添加其他日至文件到列表
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo02.log',
Options=>dbms_logmnr.addfile);
(2)分析归档的重做日志
A。建立列表
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' E:\Oracle\oradata\sxf\archive\ARCARC09108.001',
Options=>dbms_logmnr.new);
B。添加其他日志文件到列表
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' E:\Oracle\oradata\sxf\archive\ARCARC09109.001',
Options=>dbms_logmnr.addfile);

在列表中删除文件
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo02.log',
Options=>dbms_logmnr. REMOVEFILE);


4.使用Logminer进行日志分析
无限制条件:
EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>' e:\oracle\logs\ v816dict.ora ');
有限制条件:
通过对过程DBMS_LOGMNR.START_LOGMNR中的时间或者SCN参数的设置,可以缩小分析日志文件的范围:
如我们仅仅分析2005年7月23日到2005年7月26日的日志:
EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' e:\oracle\logs\ v816dict.ora ',
StartTime => to_date('2005-7-23 00:00:00','YYYY-MM-DD HH24:MI:SS')
EndTime => to_date(''2005-7-26 23:59:59','YYYY-MM-DD HH24:MI:SS '));

相关的参数如下:
参数 参数类型 默认值 含义
StartScn 数字型 0 分析重作日志中SCN≥StartScn日志文件部分
EndScn 数字型 0 分析重作日志中SCN≤EndScn日志文件部分
StartTime 日期型 1998-01-01 分析重作日志中时间戳≥StartTime的日志文件部分
EndTime 日期型 2988-01-01 分析重作日志中时间戳≤EndTime的日志文件部分
DictFileName 字符型 字典文件该文件包含一个数据库目录的快照。
使用该文件可以使得到的分析结果是可以理解的文本形式,
而非系统内部的16进制
Options BINARY_INTEGER 0 系统调试参数,实际很少使用
5。得到分析结果:
这时候可以对v$logmnr_contents查询来得到你想要得结果:
select sql_redo from v$logmnr_contents;
假如想知道某个用户对某张表的操作,比如查询用户symield对表bill所做的操作:
select sql_redo from v$logmnr_contents where username = 'symield' and seg_name = 'bill';

这个视图:v$logmnr_contents只在dbms_logmnr.start_logmnr这个会话的生存期内存在,
当过程终止后,此视图内容被清除。

6。使用DBMS_LOGMNR.END_LOGMNR结束日志分析过程。
上一篇:如何创建DBA ROLE 人气:660
下一篇:关于系统的物理上不连续的碎片数计算! 人气:438
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐