rowid 以及資料儲存

lelepapa發表於2011-11-06

rowid是一個18位的64進位制數字。

A~Z   0~~25

a~z    26~~51

0~9    52~~61

+          62

/           63

前六位是segmentid(data_object_id)

再三位:file_id,其實是相對的檔案號relative_fno

再六位:blockno

 再三位:rownum

select object_id,date_object_id from dba_objects;

這裡面的data_object_id是segmentid

 

檢視dump出來的檔案。

-----裡面的數字用函式utl_raw.cast_to_number('c102')

SQL> select utl_raw.cast_to_number('c102') from dual;

UTL_RAW.CAST_TO_NUMBER('C102')
------------------------------
                             1

--------或者使用dump(1,16)  

SQL> select dump(1,16) from dual;

DUMP(1,16)
-----------------
Typ=2 Len=2: c1,2

LB: lock byte

uba:undo block address

16進位制轉10進位制

to_number(‘012349’,'xxxxxxxxx');

dbms_utility.data_block_address_file(10進位制)

dbms_utility.data_block_address_block();

usn:undo segment number

v$rollstat

dba_rollback_seg

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22374393/viewspace-710326/,如需轉載,請註明出處,否則將追究法律責任。

相關文章