Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

41

积分

0

好友

15

主题
1#
发表于 2013-12-4 15:59:31 | 查看: 3437| 回复: 3
环境:
os:Red Hat Enterprise Linux AS release 4
db:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit

准备工作:
create table moe as select * from scott.dept;

insert into moe values (50,'moe','china');

commit;

alter system dump datafile 5 block 2675615;
trc文件中,部分内容如下:
Hex dump of block: st=0, typ_found=1
Dump of memory from 0x0000002A97291A00 to 0x0000002A97293A00
2A97291A00 0000A206 0168D39F 01C58601 06010000  [......h.........]
2A97291A10 00009AE5 00000001 0001973D 01C585DC  [........=.......]
2A97291A20 00000000 00320002 0168D399 00050013  [......2...h.....]
2A97291A30 00006AEE 0081486F 0002028F 00002001  [.j..oH....... ..]
2A97291A40 01C58601 00000000 00000000 00000000  [................]
2A97291A50 00000000 00000000 00000000 00000000  [................]
2A97291A60 00000000 00010100 0014FFFF 1F741F88  [..............t.]
2A97291A70 00001F74 1F880001 00000000 00000000  [t...............]
2A97291A80 00000000 00000000 00000000 00000000  [................]
        Repeat 501 times
2A972939E0 00000000 00000000 00000000 0203012C  [............,...]
2A972939F0 6D0333C1 6305656F 616E6968 86010601  [.3.moe.china....]

分析:
86010601  这个是块尾
616E6968 这是第三列部分值
6305656F 这个中,63是第三列部分值,05是第三列长度,656F是第二列部分值
6D0333C1 这个中,6D是第二列部分值,03是第二列长度,33C1是第一列值

问题:
1,那第一列的长度值在什么地方???
2, [.3.moe.china....]这个中的3是什么意思?

下面是dump成16进制后的值
select deptno,dname,loc,dump(50,'16'),dump('moe','16'),dump('china','16') from moe;
50 moe china
Typ=2 Len=2: c1,33
Typ=96 Len=3: 6d,6f,65
Typ=96 Len=5: 63,68,69,6e,61
2#
发表于 2013-12-4 16:09:27
SQL> create table moe as select * from scott.dept;

Table created.

SQL>
SQL> insert into moe values (50,'moe','china');

1 row created.

SQL> commit;

Commit complete.

SQL>
SQL> select dbms_rowid.rowid_block_number(rowid),dbms_rowid.rowid_relative_fno(rowid) from moe;

DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID)
------------------------------------ ------------------------------------
                              124641                                    1
                              124641                                    1
                              124641                                    1
                              124641                                    1
                              124642                                    1

scn: 0x0000.017c8b30 seq: 0x01 flg: 0x06 tail: 0x8b300601
frmt: 0x02 chkval: 0x5553 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
Dump of memory from 0x00007FE2BC674C00 to 0x00007FE2BC676C00
7FE2BC674C00 0000A206 0041E6E2 017C8B30 06010000  [......A.0.|.....]
7FE2BC674C10 00005553 00000001 0001709F 017C8B2F  [SU.......p../.|.]
7FE2BC674C20 00000000 0003F802 00000000 00190002  [................]
7FE2BC674C30 000013FC 00C000AE 000106E8 00002001  [............. ..]
7FE2BC674C40 017C8B30 00000000 00000000 00000000  [0.|.............]
7FE2BC674C50 00000000 00000000 00000000 00010100  [................]
7FE2BC674C60 0014FFFF 1F7C1F90 00001F7C 1F900001  [......|.|.......]
7FE2BC674C70 00000000 00000000 00000000 00000000  [................]
        Repeat 502 times
7FE2BC676BE0 00000000 00000000 00000000 0203012C  [............,...]
7FE2BC676BF0 6D0333C1 6305656F 616E6968 8B300601  [.3.moe.china..0.]
Block header dump:  0x0041e6e2
Object id on Block? Y
seg/obj: 0x1709f  csc: 0x00.17c8b2f  itc: 2  flg: O  typ: 1 - DATA
     fsl: 0  fnx: 0x0 ver: 0x01

Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0002.019.000013fc  0x00c000ae.06e8.01  --U-    1  fsc 0x0000.017c8b30
0x02   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc 0x0000.00000000
bdba: 0x0041e6e2
data_block_dump,data header at 0x7fe2bc674c5c
===============
tsiz: 0x1fa0
hsiz: 0x14
pbl: 0x7fe2bc674c5c
     76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f90
avsp=0x1f7c
tosp=0x1f7c
0xe:pti[0]      nrow=1  offs=0
0x12:pri[0]     offs=0x1f90
block_row_dump:
tab 0, row 0, @0x1f90
tl: 16 fb: --H-FL-- lb: 0x1  cc: 3
col  0: [ 2]  c1 33
col  1: [ 3]  6d 6f 65
col  2: [ 5]  63 68 69 6e 61



0203012C

2C 01 , 03 02

CC => 03   CC即column count 有几个列

02 =》col1 长度

6D0333C1

C1 33 , 03 6D

C1 33 是 column1


03 6D  03是 column 2长度

6D 是column 2开始

6305656F

6F 65 05 63

6F 65=> column 2

05=> column 3 长度

63=> column 3开始

616E6968=》

68 69 6e 61 column 3

回复 只看该作者 道具 举报

3#
发表于 2013-12-4 16:10:02
注意 你的block是litlle endian的,不是BIG ENDIAN的!!

回复 只看该作者 道具 举报

4#
发表于 2013-12-4 16:15:26
好快的速度,多谢。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-14 22:37 , Processed in 0.049155 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569