[20181204]bbed修改问题.txt

[20181204]bbed修改问题.txt


--//使用bbed修改数据块,遇到一个问题,做1个记录.


1.环境:

SYS@book> @ ver1

PORT_STRING                    VERSION        BANNER

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

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SYS@book> select HEADER_FILE,HEADER_BLOCK,BLOCKS,EXTENTS from dba_segments where segment_name='SYSTEM' and SEGMENT_TYPE='ROLLBACK';

HEADER_FILE HEADER_BLOCK     BLOCKS    EXTENTS

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

          1          128         48          6


--//system表空间使用MSSM,bbed可以访问段头.

SYS@book> shutdown immediate ;

Database closed.

Database dismounted.

ORACLE instance shut down.


2.解决ora-00600[4193][4194]问题,需要修改如下:

set dba 1,128

assign ktuxc.ktuxcnfb=0x0000

assign ktuxc.ktuxcfbp[0].ktufbuba.kubadba=0x00000000


--//遇到的奇怪问题,做一个记录:


2.bbed操作:


SYS@book> shutdown immediate ;

Database closed.

Database dismounted.

ORACLE instance shut down.


BBED> set dba 1,128

        DBA             0x00400080 (4194432 1,128)


BBED> p dba 1,128 ktuxc

struct ktuxc, 104 bytes                     @4148

   struct ktuxcscn, 8 bytes                 @4148

      ub4 kscnbas                           @4148     0x3776bed3

      ub2 kscnwrp                           @4152     0x0003

   struct ktuxcuba, 8 bytes                 @4156

      ub4 kubadba                           @4156     0x0040008c

      ub2 kubaseq                           @4160     0x002b

      ub1 kubarec                           @4162     0x15

   sb2 ktuxcflg                             @4164     1 (KTUXCFSK)

   ub2 ktuxcseq                             @4166     0x002b

   sb2 ktuxcnfb                             @4168     1

   ub4 ktuxcinc                             @4172     0x00000000

   sb2 ktuxcchd                             @4176     84

   sb2 ktuxcctl                             @4178     72

   ub2 ktuxcmgc                             @4180     0x8002

   ub4 ktuxcopt                             @4188     0x7ffffffe

   struct ktuxcfbp[0], 12 bytes             @4192

      struct ktufbuba, 8 bytes              @4192

         ub4 kubadba                        @4192     0x0040008c

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  

         ub2 kubaseq                        @4196     0x002b

         ub1 kubarec                        @4198     0x1e

      sb2 ktufbext                          @4200     1

      sb2 ktufbspc                          @4202     650


--//修改下划线的内容为0x00000000.

--//我写成assign ktuxc.ktuxcfbp[0].ktufbuba=0x00000000,少写了kubadba,看看发生什么?


BBED> assign ktuxc.ktuxcfbp[0].ktufbuba=0x00000000

Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y

struct ktufbuba, 8 bytes                    @4192

   ub4 kubadba                              @4192     0x00000000

   ub2 kubaseq                              @4196     0x8180

   ub1 kubarec                              @4198     0x62


--//连后面的ktuxcfbp[0].kubaseq,ktuxcfbp[0].kubarec都修改了.


BBED> p ktuxc.ktuxcfbp[0]

struct ktuxcfbp[0], 12 bytes                @4192

   struct ktufbuba, 8 bytes                 @4192

      ub4 kubadba                           @4192     0x00000000

      ub2 kubaseq                           @4196     0x8180

      ub1 kubarec                           @4198     0x62

   sb2 ktufbext                             @4200     1

   sb2 ktufbspc                             @4202     650



--//还原:

BBED> revert

All changes made in this session will be rolled back. Proceed? (Y/N) y

Reverted file '/mnt/ramdisk/book/system01.dbf', block 128

Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y


BBED> p ktuxc.ktuxcfbp[0]

struct ktuxcfbp[0], 12 bytes                @4192

   struct ktufbuba, 8 bytes                 @4192

      ub4 kubadba                           @4192     0x0040008c

      ub2 kubaseq                           @4196     0x002b

      ub1 kubarec                           @4198     0x1e

   sb2 ktufbext                             @4200     1

   sb2 ktufbspc                             @4202     650


--//实际上上面的命令assign ktuxc.ktuxcfbp[0].ktufbuba=0x00000000,修改的是ktufbuba,长度不足,我估计乱打入一些内容.以后注意.

--//正确的是执行:

BBED> assign ktuxc.ktuxcfbp[0].ktufbuba.kubadba=0x00000000

ub4 kubadba                                 @4192     0x00000000


BBED> p ktuxc.ktuxcfbp[0]

struct ktuxcfbp[0], 12 bytes                @4192

   struct ktufbuba, 8 bytes                 @4192

      ub4 kubadba                           @4192     0x00000000

      ub2 kubaseq                           @4196     0x002b

      ub1 kubarec                           @4198     0x1e

   sb2 ktufbext                             @4200     1

   sb2 ktufbspc                             @4202     650


--//这样才修改正确,以后工作注意,一些细节很重要,尽量避免不必要的错误.


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

转载于:http://blog.itpub.net/267265/viewspace-2284090/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值