网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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数据库无法加载_OraMTS_的.
.一些oracle的论坛和网站.
.两个有用Oracle运算:intersect和.
.ORACLE 中常用的查看数据库的SQL.
.将Oracle的数据导入EXCEL中的方法.
.Oracle经验技巧集锦.
.Oracle数据库碎片整理.
.用ODP.NET执行SQL读取数据库记录.
.[转载]Oracle数据库性能终极优化.
.如何使SQL Server数据库支持XML.
.Linux 平台上之 Multipath Routi.
.Oracle诊断案例1 -SGA与Swap.
.ORACLE数据库备份方法.
.oracle产品服务和技术级别介绍.
.Oracle 10g中利用哈希函数提高查.
.Linux V2.2.X(i386体系结构)进.
.Oracle数据库删除两表中相同数据.
.Oracle9i连接ASP.NET方法及注意点.
.用VC开发基于Oracle的数据库应用.
.实现RedHat非正常关机的自动磁盘.

logminer使用方法

发表日期:2008-2-9



前一段时间我想查询数据库中一个表的纪录的最后修改时间,大家给我提出了很多方法,其中logminer我觉得是比较好的一种,就找了些帮助文档,并进行了研究测试,下面公布一下使用过程,以及期间碰到的问题和解决方法,跟大家共享。 其中Oracle home的路径大家自己根据我的路径进行修改。
1:介绍:dbms_logmnr是oracle在oracle8i所提供的新package。它主要用于分析log file文件(包括online redo log file,archived log file),将log file中的信息转存到v$logmnr_contents中,从而获取对oracle数据库操作的历史信息。它不仅可以分析oracle8i的log file,也可以分析oracle8的log file。信息主要包括在你分析的时间限制内数据库数据作了些什么变更,执行了哪些语句。
2:使用方法
       1)打开<sid>init.ora文件,加入utl_file_dir=d:\oracle(注:改为自己的路径,是logminer使用文件的默认路径),然后应用新的设置打开oracle数据库。
        2)执行SQL>。 execute dbms_logmnr_d.build('shwdict.ora','D:\oracle'); ,(注:将生成d:\oracle\shwdict.ora文件,此文件可以以后重复使用,但不能同时用于几个logmnr)用于生成数据字典;假如没有dbms_logmnr_d包,需手工执行@d:\oracle\ora8\rdbms\admin\dbmslmd.sql;假如执行过程中报下标越界错误,则需要打开@d:\oracle\ora8\rdbms\admin\dbmslmd.sql文件,将其中的TYPE col_desc_array IS VARRAY(513) OF col_description的513加大,我是改成了1513,保存文件重新执行@d:\oracle\ora8\rdbms\admin\dbmslmd.sql;(注:都要以sysdba身份登陆执行)。
      3)将要分析的日志文件加入要分析的log list中,察看有哪些日志文件可以用select * from v$logfile;查询已经加入那些可以用select * from v$logmnr_logs(注:查询必须在同一个会话中查询,单独开查询将查不到)语句如下:execute dbms_logmnr.add_logfile('d:\oracle\oradata\shw\redo01_1.log',dbms_logmnr.new);
execute dbms_logmnr.add_logfile('d:\ORACLE\ORADATA\ORA\REDO02_1.LOG',dbms_logmnr.addfile);
execute dbms_logmnr.add_logfile('d:\ORACLE\ORADATA\ORA\REDO03_1.LOG',dbms_logmnr.addfile);
假如需要从分析列表里去掉一个文件用
('d:\ORACLE\ORADATA\ORA\REDO03_1.LOG',dbms_logmnr.removefile);     
        4)更改会话时间表达方式(注一定要在本会话下修改,我开始发生错误就是因为在别的会话里修改的,假如答应,可以将数据库默认的时间表达方式修改掉)会话内修改为alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 系统设置在注册表。
        5)查询分析的日志文件包含的scn范围和日期范围。
  select low_time,high_time,low_scn,next_scn from v$logmnr_logs;会列出你加入的日志文件的以上信息。
     6)执行分析:
dbms_logmnr.start_logmnr(
     dictfilename => 'd:\oracle\shwdict.ora',startscn=>xxxxxx,endscn=>xxxxx,starttime => to_date('20030501 12:15:00','yyyymmdd hh24:mi:ss'), endtime => to_date('20030501 15:40:30','yyyymmdd hh24:mi:ss'));
要注重scn范围和日期格式,格式要与你修改的一样。
     7:查询
Select SCN,timestamp, session# session_num, sql_redo

From V$LOGMNR_CONTENTS
Order by 1
具体要查询什么内容可以自己修改。
有问题或错误请指正,我会予以修改,希望对大家有用!
上一篇:Oracle数据库技术(44) 人气:656
下一篇:ODBC API常用函数诠释 人气:970
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐