今天一个朋友想DUMP数据块查看ITL槽数,但是DUMP的时候老是DUMP不出来东西。
我找了半天才找出来原因:
SQL> select dbms_rowid.rowid_relative_fno(rowid) file#,
2 dbms_rowid.rowid_object(rowid) object#,
3 dbms_rowid.rowid_block_number(rowid) block#,rowid,O__NUM, O__ST
4 from dbtest.ab_testgbs where rownum<=10
5 /
FILE# OBJECT# BLOCK# ROWID O__NUM O__ST
---------- ---------- ---------- ------------------ -------------------------- ----------
984 6195708 313441 AAXon8APYAABMhhAAZ quIAh1032gPa6 2001
984 6195708 313441 AAXon8APYAABMhhAAa quIAh1032gPa7 2001
990 6195708 112263 AAXon8APeAAAbaHAAH quIAh1032gPaG 2001
990 6195708 112263 AAXon8APeAAAbaHAAI quIAh1032gPaH 2001
990 6195708 112263 AAXon8APeAAAbaHAAJ quIAh1032gPaI 2001
990 6195708 112263 AAXon8APeAAAbaHAAK quIAh1032gPaJ 2001
990 6195708 110044 AAXon8APeAAAa3cAAX quIAh1032gPaQ 2001
990 6195708 110044 AAXon8APeAAAa3cAAY quIAh1032gPaR 2001
990 6195708 110044 AAXon8APeAAAa3cAAZ quIAh1032gPaS 2001
990 6195708 110044 AAXon8APeAAAa3cAAa quIAh1032gPaT 2001
10 rows selected.
朋友通过上面查询出来的文件号和BLOCK进行:
ALTER SYSTEM DUMP DATAFILE 990 BLOCK 110044.
但是DUMP之后却得不到相应的结果。
其实DUMP时候指定的文件号是绝对文件号,而DBMA_ROWID.ROWID_RELATIVE_FNO查询出来的是相对文件号。
这2个文件号不一定就一样。
绝对文件号在整个数据库唯一的
相对文件号只在表空间唯一,就是说每个表空间都有自己的相对文件号;相对文件号对于整个数据库来说是不唯一的;
恰好在我们的环境中,这2个文件号就不一样,如下:
SQL> select tablespace_name,file_id,relative_fno from dba_data_files where relative_fno in (990,984);
TABLESPACE_NAME FILE_ID RELATIVE_FNO
------------------------------------------------------------ ---------- ------------
dbtest_INDEX_P201504 984 984
dbtest_INDEX_P201702 990 990
dbtest_DATA_P201201 2007 984
dbtest_DATA_P201201 2013 990
绝对文件号990和2013的相对文件号都是990,实际我们的数据只是存放到了表空间
dbtest_DATA_P201201 中,DUMP的时候我们需要指定文件2013。
SQL> oradebug setmypid;
Statement processed.
SQL> alter system dump datafile 2013 block 110044;
System altered.
SQL> oradebug tracefile_name
/u01/oracle/admin/testdb/udump/testdb_ora_5251946.trc
Block header dump: 0xf781addc
Object id on Block? Y
seg/obj: 0x5e89fc csc: 0x849.3723495a itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0xf781ab89 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0114.01a.000416df 0x0d877d6c.150f.13 --U- 3 fsc 0x0000.37234f42
0x02 0x014f.021.00052ce6 0x08cad027.18cf.44 C--- 0 scn 0x0849.3722f668
data_block_dump,data header at 0x11043e064
阅读(1385) | 评论(0) | 转发(1) |