ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Logminer的使用,具体执行步骤

Logminer的使用,具体执行步骤

原创 Linux操作系统 作者:mengzhaoliang 时间:2008-07-27 13:55:38 0 删除 编辑

/*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博客 ” ,链接:https://blog.itpub.net/12778571/viewspace-410324/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-01-30

  • 博文量
    336
  • 访问量
    3085695