ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Logminer数据字典文件

Logminer数据字典文件

原创 Linux操作系统 作者:lsmnlsmn 时间:2012-07-12 21:39:03 0 删除 编辑

参考:(1)http://blog.csdn.net/fidelhl/archive/2008/05/12/2439058.aspx

(2)http://download.oracle.com/docs/cd/B28359_01/server.111/b28319/logminer.htm#i1015913之LogMiner Dictionary Files and Redo Log Files

 

 

在使用logminer之前,要弄懂logminer怎么使用logminer数据字典和重做日志。

 

Logminer需要数据字典进行对象ID到对象名的转换,有三种类型的数据字典可供使用:

 

1。在线目录(online catalog)

2。重做日志

3。普通的文件(参考1使用了该方式)

 

三种方式的选择依据如下:

 

说明: 源数据库(source database)指产生重做日志的数据库,与之相对的是挖掘数据库(mining database)指进行logminer的数据库。这两个数据库可以是同一个,也可以不是同一个。

 

本文选择第一种方式,具体操作过程如下:

1.以管理员身份登录

$sqlplus / as sysdba

 

2.打开supplemental log data

SQL>alter database add supplemental log data;

SQL>alter database add supplemental log data(primary key) columns;

 

3.修改表HR.EMPLOYEES

SQL>update hr.employees set salary=10000 where employee_id=100;

SQL>update hr.employees set salary=10100 where employee_id=101;

SQL>commit;

 

4.强制切换日志

在切换日志之前,查看所有日志文件。

SQL>alter system switch logfile;

 

新生成日志文件/u01/app/orames/admin/mestest/archivelog/1_29_753314348.dbf。

 

5.Logminer过程

(1)添加要进行挖掘的归档日志文件

SQL>exec dbms_logmnr.add_logfile(LogFileName => '/u01/app/orames/admin/mestest/archivelog/1_29_753314348.dbf',options=>DBMS_LOGMNR.new);

 

可是用该方法继续添加文件,只需将方法add_logfile第二个参数改为options=>DBMS_LOGMNR.ADDFILE。

 

(2)开始挖掘

SQL>dbms_logmnr.start_logmnr(Options => dbms_logmnr.DICT_FROM_ONLINE_CATALOG);

 

(3)查看结果

SQL>select sql_undo,sql_redo from v$logmnr_contents vlc where vlc.SEG_NAME='EMPLOYEES';

 

结果如下:

SQL_UNDO
--------------------------------------------------------------------------------
update "HR"."EMPLOYEES" set "SALARY" = '12000' where "EMPLOYEE_ID" = '100' and "
update "HR"."EMPLOYEES" set "SALARY" = '10200' where "EMPLOYEE_ID" = '101' and "

 

SQL_REDO

--------------------------------------------------------------------------------
update "HR"."EMPLOYEES" set "SALARY" = '10000' where "EMPLOYEE_ID" = '100' and "
update "HR"."EMPLOYEES" set "SALARY" = '10100' where "EMPLOYEE_ID" = '101' and "
 

 

(4)结束该过程

SQL>exec dbms_logmnr.end_logmnr;

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

请登录后发表评论 登录
全部评论

注册时间:2012-07-12

  • 博文量
    16
  • 访问量
    19735