用bbed 模拟提交事物

  

bbed 模拟提交事物

2015/08/31

desert_xu

 
   今天做了几个实验,用bbed 模拟提交 oracle 事物,虽然提交成功了,而且也能查到数据,打开过程中遇到了  ORA-00600: 内部错误代码, 参数: [kddummy_blkchk], [2], [41], [38504], [], [], [], [],不知道是不是与 shutdown abort 有关系呢? 操作系统 solaris10 x86_32  oracle 10.2.0.2 
   下面是关于bbed 模拟提交的思路,先insert  一个事物
   scott@ORA10G@147> insert into t1 values (3,'CCCCC');  不提交。
 
查询一下 文件号块号

scott@ORA10G@147> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,dbms_rowid.rowid_row_number(rowid) row#,id,name from t1;

     FILE#     BLOCK#       ROW#         ID NAME
---------- ---------- ---------- ---------- --------------------
         4      22916          0          1 AAAAA
         4      22916          1          2 BBBBB
         4      22916          2          3 CCCCC

查看事物状态
 sys@ORA10G@144> SELECT xidusn,xidslot,xidsqn,ubablk,ubafil,ubasqn,ubarec FROM v$transaction;

    XIDUSN    XIDSLOT     XIDSQN     UBABLK     UBAFIL     UBASQN     UBAREC
------------   --------- ---       ---------       ----------     ----------    ----------      ----------
         3          23             423                 45            2             327                 17     
sys@ORA10G@144> select name from v$rollname where usn=3;

NAME
--------------------------------------------------
_SYSSMU3$

dump 3号回滚头 

sys@ORA10G@159> alter system dump undo header '_SYSSMU3$';

系统已更改。
sys@ORA10G@159> select header_block from dba_segments where segment_name='_SYSSMU3$';


HEADER_BLOCK
-------------------------------------
          41

sys@ORA10G@159> oradebug setmypid
已处理的语句
sys@ORA10G@159> oradebug tracefile_name
/export/home/oracle/admin/ora10g/udump/ora10g_ora_29340.trc
sys@ORA10G@159> alter system flush buffer_cache; --写入磁盘

trace文件 
Undo Segment:  _SYSSMU3$ (3)
********************************************************************************
  Extent Control Header
  -----------------------------------------------------------------
  Extent Header:: spare1: 0      spare2: 0      #extents: 2      #blocks: 15
                  last map  0x00000000  #maps: 0      offset: 4080
      Highwater::  0x0080002d  ext#: 0      blk#: 3      ext size: 7
  #blocks in seg. hdr's freelists: 0
  #blocks below: 0
  mapblk  0x00000000  offset: 0
                   Unlocked
     Map Header:: next  0x00000000  #extents: 2    obj#: 0      flag: 0x40000000
  Extent Map
  -----------------------------------------------------------------
   0x0080002a  length: 7
   0x00800031  length: 8


 Retention Table
  -----------------------------------------------------------
 Extent Number:0  Commit Time: 1440998032
 Extent Number:1  Commit Time: 1440998032


  TRN CTL:: seq: 0x0147 chd: 0x0020 ctl: 0x001c inc: 0x00000000 nfb: 0x0001
            mgc: 0x8201 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)
            uba: 0x0080002d.0147.11 scn: 0x0000.000b86b0
Version: 0x01
  FREE BLOCK POOL::
    uba: 0x00000000.0147.10 ext: 0x0  spc: 0x1722
    uba: 0x0080002a.0147.34 ext: 0x0  spc: 0x4aa
    uba: 0x00000000.0145.37 ext: 0x0  spc: 0x330
    uba: 0x00000000.0000.00 ext: 0x0  spc: 0x0
    uba: 0x00000000.0000.00 ext: 0x0  spc: 0x0
  TRN TBL::


  index  state cflags  wrap#    uel         scn            dba            parent-xid
nub     stmt_num    cmt
  --------------------------------------------------------------------------------------
----------
   0x00    9    0x00  0x01a7  0x0002  0x0000.000b8911  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999055
   0x01    9    0x00  0x01a7  0x002b  0x0000.000b898b  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999295
   0x02    9    0x00  0x01a7  0x0004  0x0000.000b8953  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999219
   0x03    9    0x00  0x01a7  0x000c  0x0000.000b89f3  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999530
   0x04    9    0x00  0x01a7  0x0001  0x0000.000b8968  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999235
   0x05    9    0x00  0x01a7  0x0025  0x0000.000b8894  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440998775
   0x06    9    0x00  0x01a7  0x000d  0x0000.000b8adf  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1440999975
   0x07    9    0x00  0x01a7  0x0000  0x0000.000b88d8  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440998918
   0x08    9    0x00  0x01a7  0x002c  0x0000.000b8a9e  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1440999896
   0x09    9    0x00  0x01a7  0x0028  0x0000.000b8b40  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000197
   0x0a    9    0x00  0x01a7  0x000f  0x0000.000b8bd4  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000498
   0x0b    9    0x00  0x01a7  0x0014  0x0000.000b8d8d  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000860
   0x0c    9    0x00  0x01a7  0x002f  0x0000.000b8a29  0x0080002b  0x0000.000.00000000
0x00000001   0x00000000  1440999655
   0x0d    9    0x00  0x01a7  0x0009  0x0000.000b8b07  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000068
   0x0e    9    0x00  0x01a7  0x002a  0x0000.000b8acd  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1440999975
   0x0f    9    0x00  0x01a7  0x0018  0x0000.000b8c03  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000598
   0x10    9    0x00  0x01a7  0x001a  0x0000.000b8c17  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000598
   0x11    9    0x00  0x01a7  0x0013  0x0000.000b8ba6  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000438
   0x12    9    0x00  0x01a7  0x001b  0x0000.000b8de8  0x0080002d  0x0000.000.00000000
0x00000002   0x00000000  1441001039
   0x13    9    0x00  0x01a6  0x000a  0x0000.000b8bb6  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000438
   0x14    9    0x00  0x01a7  0x0012  0x0000.000b8dc4  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000977
   0x15    9    0x00  0x01a7  0x0016  0x0000.000b8c8b  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000678
   0x16    9    0x00  0x01a7  0x0019  0x0000.000b8cd1  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000850
   0x17   10    0x80  0x01a7  0x0000  0x0000.000b8e17  0x0080002d  0x0000.000.00000000
0x00000001   0x00000000  0
   0x18    9    0x00  0x01a7  0x0010  0x0000.000b8c0d  0x0080002c  0x0000.000.00000000
0x00000001   0x00000000  1441000598

bbed 修改
bbed> set file 2 block 41
f/x 0a80

找到位置 然后修改 

m/x 0900 

sum apply

verify  

修改 4号文件22916 block块

set  file 4 block 22916

p ktbbh
BBED> set file 4 block 22916
        FILE#           4
        BLOCK#          22916


BBED> p ktbbh
struct ktbbh, 72 bytes                      @20      
   ub1 ktbbhtyp                             @20       0x01 (KDDBTDATA)
   union ktbbhsid, 4 bytes                  @24      
      ub4 ktbbhsg1                          @24       0x0000cdd8
      ub4 ktbbhod1                          @24       0x0000cdd8
   struct ktbbhcsc, 8 bytes                 @28      
      ub4 kscnbas                           @28       0x000b87f6
      ub2 kscnwrp                           @32       0x0000
   b2 ktbbhict                              @36       7938
   ub1 ktbbhflg                             @38       0x32 (NONE)
   ub1 ktbbhfsl                             @39       0x00
   ub4 ktbbhfnx                             @40       0x01005981
   struct ktbbhitl[0], 24 bytes             @44      
      struct ktbitxid, 8 bytes              @44      
         ub2 kxidusn                        @44       0x0003
         ub2 kxidslt                        @46       0x0017
         ub4 kxidsqn                        @48       0x000001a7
      struct ktbituba, 8 bytes              @52      
         ub4 kubadba                        @52       0x0080002d
         ub2 kubaseq                        @56       0x0147
         ub1 kubarec                        @58       0x11
      ub2 ktbitflg                          @60       0x8000 (KTBFCOM)  --修改这里,modify /x 0080 offset 60 x86 字节反转
      union _ktbitun, 2 bytes               @62      
         b2 _ktbitfsc                       @62       0
         ub2 _ktbitwrp                      @62       0x0000
      ub4 ktbitbas                          @64       0x00000000
   struct ktbbhitl[1], 24 bytes             @68      
      struct ktbitxid, 8 bytes              @68      
         ub2 kxidusn                        @68       0x0003
         ub2 kxidslt                        @70       0x0021
         ub4 kxidsqn                        @72       0x000001a5
      struct ktbituba, 8 bytes              @76      
         ub4 kubadba                        @76       0x00800036
         ub2 kubaseq                        @80       0x0146
         ub1 kubarec                        @82       0x22
      ub2 ktbitflg                          @84       0xa000 (KTBFUPB, KTBFCOM)
      union _ktbitun, 2 bytes               @86      
         b2 _ktbitfsc                       @86       0
         ub2 _ktbitwrp                      @86       0x0000
      ub4 ktbitbas                          @88       0x000b7fc4

大概是这样的过程,有空在动动实验,看看 在正常的shutdown  immediate 下,是否出现  kddummy_blkchk 校验值错误。




 


 


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

转载于:http://blog.itpub.net/21980353/viewspace-1787644/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值