Logminer的使用,具体执行步骤

/*2008/07/27 星期日
*蒙昭良
*环境:windowsXP + Oracle10gR2
*Logminer的使用,具体执行步骤
*/


Logminer具体实行步骤:


1、设置logminer的使用目录,在系统中必须存在d:\oracle\logs的目录

SQL> conn /as sysdba 已连接。

SQL> show user

USER 为 "SYS"

SQL> alter system set utl_file_dir='d:\oracle\logs' scope=spfile;

系统已更改。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup ORACLE 例程已经启动。

Total System Global Area 289406976 bytes

Fixed Size 1248576 bytes Variable Size

96469696 bytes Database Buffers 184549376 bytes

Redo Buffers 7139328 bytes

数据库装载完毕。数据库已经打开。

2、生成logminer package

SQL> @D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslm.sql

程序包已创建。

授权成功。

SQL> @D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslmd.sql

程序包已创建。

3、生成logminer file,logminer.ora会在d:\oracle\logs中自动生成

SQL> execute dbms_logmnr_d.build('logminer.ora','d:\oracle\logs');

PL/SQL 过程已成功完成。


4、将要分析的日志文件加入要分析的log list中
                           
                                                                               

SQL> col member for a50

SQL> select a.group#,a.archived,a.status,b.member  from v$log a,v$logfile b  where a.group#=b.group# ;

GROUP# ARC STATUS ---------- --- ---------------- MEMBER ------------------------------------

3 YES INACTIVE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG

2 YES INACTIVE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG

1 NO CURRENT D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG

SQL> execute dbms_logmnr.add_logfile('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG',dbms_logmnr.new);

PL/SQL 过程已成功完成。

SQL> archive log list;

数据库日志模式

存档模式自动存档

启用存档终点 USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列 21

下一个存档日志序列 23

当前日志序列 23

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_27\O1_MF_1_20_48QNHXTC_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_27\O1_MF_1_21_48QNJ4CQ_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_27\O1_MF_1_22_48QPROTV_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_26\O1_MF_1_16_48OHF0VC_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_26\O1_MF_1_17_48OOOSC7_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_26\O1_MF_1_18_48PGCWWB_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2008_07_26\O1_MF_1_19_48PGHNF5_.ARC',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

5、查看分析的日志文件包含的scn范围和日期范围。

SQL> select log_id,low_time,high_time,low_scn,next_scn,filename from v$logmnr_logs;
6、执行分析:

SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'d:\oracle\logs\logminer.ora'); PL/SQL 过程已成功完成。

7、查看分析结果                                                                           

SQL> select username,to_char(timestamp,'yyyy-mm-dd hh24:mi:ss'),sql_redo from v$logmnr_contents where username='MZL' and (sql_redo like '%TABLE%' or sql_redo like '%table%');

USERNAME TO_CHAR(TIMESTAMP,' ------------------------------ ------------------- SQL_REDO --------------------------------------------------

MZL 2008-07-26 11:36:01 -- Add/modify columns alter table EMP modify JOB VARCHAR2(19) ;

 MZL 2008-07-26 11:41:00 -- Add/modify columns alter table EMP add test varchar2(33) ;

USERNAME TO_CHAR(TIMESTAMP,' ------------------------------ ------------------- SQL_REDO --------------------------------------------------

MZL 2008-07-27 10:03:36 create table ssss(id number,name varchar2(20));

MZL 2008-07-27 10:04:00 ALTER TABLE "MZL"."MZL" RENAME TO "BIN$baUXfB1uTMK bobheHlgK7A==$0" ;

MZL 2008-07-27 10:04:00 USERNAME TO_CHAR(TIMESTAMP,' ------------------------------ ------------------- SQL_REDO -------------------------------------------------- drop table mzl AS "BIN$baUXfB1uTMKbobheHlgK7A==$0" ;

 
8、结束logminer                                                                              

SQL> execute dbms_logmnr.end_logmnr;

PL/SQL 过程已成功完成。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-410324/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-410324/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值