oracle redo internal,oracle redo internal 之 dump logfile

常使用的Dumpredo命令

Dumplogfile的方法有很多,现总结如下,后续将对orcacle的redo进行更深入的研究

(1)Dump日志文件的内容

SQL> selectgroup#,memberfromv$logfile;

GROUP#

----------

MEMBER

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

6

/u01/app/oracle/oradata/gztes/redo60.log

6

/u01/app/oracle/oradata/gztes/redo61.log

6

/u01/app/oracle/oradata/gztes/redo62.log

SQL> altersystem dumplogfile '/u01/app/oracle/oradata/gztes/redo10.log';

System altered.

(2)根据数据文件中的数据块dump

SQL> createtabletest (id number ) tablespace yzkf;

Table created.

SQL> insertintotest(id) values (1);

1 row created.

SQL> commit;

Commit complete.

SQL> colsegment_namefora20;

SQL> select SEGMENT_NAME,FILE_ID,BLOCK_ID,BLOCKS,RELATIVE_FNOfromdba_extents where segment_name ='TEST';

SEGMENT_NAMEFILE_IDBLOCK_IDBLOCKS RELATIVE_FNO

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

TEST14190305814

SQL> altersystemdump logfile '/u01/app/oracle/oradata/gztes/redo51.log' dba min 14 190305 dba max 14 190313;

System altered.

(3)指定RBA(redo byte addresses) dump

RBA: 0x000605.00017b82.01a4由三部分组成:

0x000605:日志的序列号

00017b82:redo日志中块号

01a4:日志文件中块内部的偏移量

SQL> selectSEQUENCE#,group#fromv$log;

SEQUENCE#GROUP#

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

15371

15382

15393

15404

15415

1542 6

6 rows selected.

SQL> altersystemdump logfile '/u01/app/oracle/oradata/gztes/redo51.log' Rba min 5 1541 RBA max 5 1541;

System altered.

(4)通过具体的LAYER和OPCODEdump日志文件

Dump ‘/u01/app/oracle/oradata/gztes/redo51.log’中操作为OP为11.2(insert操作)

SQL> altersystemdump logfile '/u01/app/oracle/oradata/gztes/redo51.log' layer 11 opcode 2;

System altered.

(5)Dump出两个SCN号之间的日志

SQL> selectdbms_flashback.get_system_change_number fromdual;

GET_SYSTEM_CHANGE_NUMBER

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

8.3844E+12

SQL> select to_char(dbms_flashback.get_system_change_number) fromdual;

TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE

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

8384403923900

SQL> select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;

MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)

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

8.3844E+12

SQL> altersystemdump logfile '/u01/app/oracle/oradata/gztes/redo51.log' scn min 8384403923900 scnmax 8384403923977;

System altered.

(6)Dump日志文件头

通过oradebug获取trace

SQL> oradebug setmypid

Statement processed.

SQL> oradebug dump redohdr 3;

Statement processed.

SQL> oradebug tracefile_name

/u01/app/oracle/admin/gztes/udump/gztes_ora_25062.trc

通过设置事件获取dump文件

SQL> alter session setevents'immediate trace name redohdr level 10';

Session altered.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值