[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/