簡單總結一下rowid的相關知識
rowid在磁碟上需要10 個位元組的儲存空間並使用18 個字元來顯示它包含下列元件:
資料物件編號:每個資料物件如表或索引在建立時都分配有此編號,並且此編號在資料庫中是唯一的;
相關檔案編號:此編號對於一個表空間中的每個檔案是唯一的;
塊編號:表示包含此行的塊在檔案中的位置;
行編號:標識塊頭中行目錄位置的位置;
在內部資料物件編號需要32位,相關檔案編號需要10位,塊編號需要22位,位行編號需要16位,加起來總共是80位或10 個位元組,ROWID 使用以64為基數的編碼方案來顯示該方案將6個位置用於資料物件,編號3個位置用於相關檔案編號,6個位置用於塊編號,3個位置用於行編號以64為基數的編碼方案使用字元A-Z a-z 0-9 + 和/共64 個字元,如下例所示:
AAAB/R AAB AAAGmS AAA
在本例中
AAAB/R 是資料物件編號
AAB 是相關檔案編號
AAAGmS 是塊編號
AAA 是行編號
這裡再版補充一下:
由於block是22位,因此一個資料檔案中最多可以有2^22 -1個資料塊
2K資料庫的資料檔案的size最大隻能是8G
而依此類推8K資料塊的一個資料檔案的最大size只能是32G
有個指令碼再記錄一下:
create or replace function get_rowid
(l_rowid in varchar2)
return varchar2
is
ls_my_rowid varchar2(200);
rowid_type number;
object_number number;
relative_fno number;
block_number number;
row_number number;
begin
dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno, block_number, row_number);
ls_my_rowid := 'Object# is :'||to_char(object_number)||chr(10)||
'Relative_fno is :'||to_char(relative_fno)||chr(10)||
'Block number is :'||to_char(block_number)||chr(10)||
'Row number is :'||to_char(row_number);
return ls_my_rowid ;
end;
/create or replace function get_rowid
(l_rowid in varchar2)
return varchar2
is
ls_my_rowid varchar2(200);
rowid_type number;
object_number number;
relative_fno number;
block_number number;
row_number number;
begin
dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno, block_number, row_number);
ls_my_rowid := 'Object# is :'||to_char(object_number)||chr(10)||
'Relative_fno is :'||to_char(relative_fno)||chr(10)||
'Block number is :'||to_char(block_number)||chr(10)||
'Row number is :'||to_char(row_number);
return ls_my_rowid ;
end;
/
通過此自定義function我們可以很方便的獲得rowid的相關資訊.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-720/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 相機成像相關知識總結
- HTML簡單知識的總結HTML
- 總結 MySQL 相關知識點MySql
- 資訊熵相關知識總結熵
- JVM相關知識點總結JVM
- PHP物件相關知識點的總結PHP物件
- GC相關知識簡單學習GC
- Java 容器相關知識全面總結Java
- 老Python總結的字典相關知識Python
- 電腦硬體相關簡單知識
- Java與Mysql鎖相關知識總結JavaMySql
- 作業系統相關知識總結作業系統
- web跨域及cookie相關知識總結Web跨域Cookie
- RMAN備份相關知識與技能總結
- STM32中斷相關知識總結
- C++中類相關知識點總結C++
- Linux 動態庫相關知識總結Linux
- 知識總結二--個人愛好(非工作相關)
- Android 藍芽開發相關知識總結Android藍芽
- 由char和byte的關係引申出去——總結一下java中的字元編碼相關知識Java字元
- MySQL面試之簡單知識和命令總結MySql面試
- 【總結】日常遇到的一些問題相關知識
- js--promise、async 和 await 相關知識總結JSPromiseAI
- 檔案包含漏洞相關知識總結-千鋒教育
- 資料結構相關知識資料結構
- Redis的相關知識Redis
- /proc的相關知識
- 決策樹相關知識小結
- 誰能講解一下ThreadLocal類的相關知識!thread
- Shell相關知識
- .net相關知識
- mobile相關知識
- rollback相關知識
- Form 表單提交知識的總結(全)ORM
- 我也來總結一下nginx知識點Nginx
- 網路相關工具簡單彙總
- Vue知識精簡總結-更新中Vue
- MySQL學習總結:提問式回顧 undo log 相關知識MySql