> select * from t;
KEY NAME
---------- ----------
1 boobooke
2 boobooke
3 boobooke
>select rowid,
dbms_rowid.rowid_object(rowid) ono,
dbms_rowid.rowid_relative_fno(rowid) fno,
dbms_rowid.rowid_block_number(rowid) bno,
dbms_rowid.rowid_row_number(rowid) rno,
key,name from t;
ROWID ONO FNO BNO RNO KEY NAME
---------------------------------------- ---------- ---------- ---------- ----------- ----------- ----------
AAANYeAAEAAAAGIAAA 54814 4 392 0 1 boobooke
AAANYeAAEAAAAGIAAB 54814 4 392 1 2 boobooke
AAANYeAAEAAAAGIAAC 54814 4 392 2 3 boobooke
Rowed 由4部分组成
1.Data_object_id 通过dbms_rowid.rowid_object(rowid)返回,返回的是物理对象id(data_object_id)不是逻辑对象id(object_id),物理对象id是数据字典dba_objects的data_object_id字段(对应没有data_ojbect_id的数据类型以后再研究)。
2.file_id 通过dbms_rowid.rowid_relative_fno(rowid)返回,返回的是文件id,文件id是数据字典dba_data_files的file_id字段。
3.block_id 通过dbms_rowid.rowid_block_number(rowid)返回,返回的是数据块id,
4.row_number通过dbms_rowid. rowid_row_number(rowid)返回,返回的是row number
ROWID的编码是64进制
A~Z表示0~25
a~z表示26~51
0~9表示52~61
+表示 62
/表示 63
1~6位表示data_object_id,AAANYe=13*64*64+24*64+30=54814
7~9位表示file_id,AAE=4
10~15位表示block_id,AAAAGI=6*64+8=392
16~18位表示row_number AAA = 0
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22531894/viewspace-1027004/ ,如需转载,请注明出处,否则将追究法律责任。