log添加 oracle redo_如何通过log miner来分析redo log中的transaction

insert into "UNKNOWN"."OBJ# 30347"("COL 1") values (HEXTORAW('666a696e'));

根据字典信息解释出来的sql为:

insert into "SYSTEM"."TEST"("ADDR") values ('fjin');

3:添加需要分析的日志文件(可以是inactive的,也可以使active的),如果需要使用当前active的,我们可以通过下面的sql查看当前的redo log,

SQL> col status format A10

SQL> col member format A40

SQL> select log.status, logfile.member

2  from v$log log, v$logfile logfile

3  where log.group#=logfile.group#;

STATUS     MEMBER

---------- ----------------------------------------

CURRENT    D:\ORACLE\ORADATA\TESTDB\REDO01.LOG

INACTIVE   D:\ORACLE\ORADATA\TESTDB\REDO02.LOG

INACTIVE   D:\ORACLE\ORADATA\TESTDB\REDO03.LOG

好了,我们看到当前的日志文件是REDO01.LOG,把它加入到logMiner中来

SQL> exec dbms_logmnr.add_logfile( logfilename => 'D:\oracle\oradata\TestDB\redo01.log', options => dbms_logmnr.new);

4:启动logMiner,

SQL> exec dbms_logmnr.start_logmnr( options => dbms_logmnr.dict_from_online_catalog);

5:根据指定的条件分析日志,

SQL> col sql_redo format a30

SQL> col xid format A10

SQL> col usr format A10

SQL> SELECT USERNAME AS usr,(XIDUSN || '.' || XIDSLT || '.' || XIDSQN) as XID, SQL_REDO FROM V$LOGMNR_CONTENTS WHERE username='SYSTEM';

我们可以通过sqlplus插入一条记录,如下:

SQL> insert into test values('fjin');

1 row created.

SQL> commit;

Commit complete.

插入这条记录后,我们可以在通过logMiner发现和该纪录相关的transaction信息如下:

SYSTEM     5.26.26758 set transaction read write;

SYSTEM     5.26.26758 insert into "SYSTEM"."TEST"("ADDR") values ('fjin');

SYSTEM     5.26.26758 commit;

6:结束logMiner,

SQL>EXEC DBMS_LOGMNR.END_LOGMNR();

这里只是给出了个大概步骤,具体的参数(5中的query condition),需要我们详细参考oracle的Oracle Database Utilities,以便根迅捷的定位出具体我们需要的信息。

注意:对于Oracle 10g,默认情况下LogMiner是不可用的,原文如下:

"By default, Oracle Database does not provide any supplemental logging, which means that by default LogMiner is not usable. Therefore, you must enable at least minimal supplemental logging prior to generating log files which will be analyzed by LogMiner."

所以,要在10g上使用LogMiner,我们必须修改如下的参数,

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

参数修改后的redo log才会纪录LogMiner需要的信息。参考note110301.1

posted on 2009-06-09 13:39 走走停停又三年 阅读(1870) 评论(0)  编辑  收藏 所属分类: Database

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值