object_id與data_object_id的關係
object_id 是邏輯物件ID
data_object_id 是物理物件ID
SQL> create table test as select rownum rn from dba_objects;
Table created.
SQL> select object_id,data_object_id from dba_objects where object_name='TEST' A
ND WNER='SYS';
OBJECT_ID DATA_OBJECT_ID
---------- --------------
6680 6680
SQL> select header_file,header_block,blocks from dba_segments where segment_name
='TEST' and WNER='SYS';
HEADER_FILE HEADER_BLOCK BLOCKS
----------- ------------ ----------
1 42921 16
SQL> alter table test move;
Table altered.
SQL> select object_id,data_object_id from dba_objects where object_name='TEST' A
ND WNER='SYS';
OBJECT_ID DATA_OBJECT_ID
---------- --------------
6680 6681
表經過move後,物理ID發生變化
SQL> select header_file,header_block,blocks from dba_segments where segment_name
='TEST' and WNER='SYS';
HEADER_FILE HEADER_BLOCK BLOCKS
----------- ------------ ----------
1 43105 16
SQL> truncate table test;
Table truncated.
SQL> select header_file,header_block,blocks from dba_segments where segment_name
='TEST' and WNER='SYS';
HEADER_FILE HEADER_BLOCK BLOCKS
----------- ------------ ----------
1 43105 8
SQL> select object_id,data_object_id from dba_objects where object_name='TEST' A
ND WNER='SYS';
OBJECT_ID DATA_OBJECT_ID
---------- --------------
6680 6682
表經過truncate 後 物理ID也發生變化
SQL> alter table test add(n number);
Table altered.
SQL> select object_id,data_object_id from dba_objects where object_name='TEST' A
ND WNER='SYS';
OBJECT_ID DATA_OBJECT_ID
---------- --------------
6680 6682
給表增加一個列,也沒發生變化
所以總上所簡述
只有當segment發生變化時data_object_id才發生變化
有時候我們根據rowid 算時得到的data_object_id會誤以為就是object_id,因為要是沒有發生segment變化時
兩者值是相等的
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-112262/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- object_id 與data_object_id 的區別Object
- OBJECT_ID、DATA_OBJECT_ID與truncate的本質Object
- object_id與data_object_id淺析(一)Object
- object_id與data_object_id淺析(二)Object
- OBJECT_ID和DATA_OBJECT_IDObject
- data_object_id 及 object_id 的聯絡與區別Object
- Differences between DATA_OBJECT_ID and OBJECT_IDObject
- object_id 及 data_object_id (oracle)ObjectOracle
- object_id and data_object_id in dba_objectsObject
- Oracle中object_id和data_object_id的區別OracleObject
- object_id and data_object_id 區別_20091213Object
- 與if的關係
- 關聯關係與依賴關係的區別
- Scala與Java的關係Java
- Object與Class的關係Object
- sip與openser的關係
- act與zsh的關係
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- 行高與字型的關係
- create 與 store中的關係
- oracle datafile 與 object的關係OracleObject
- CQRS與OO思想的關係
- AIX aio與listener 的關係AI
- Socket與TCP/IP的關係TCP
- JRE 與 JVM 的關係JVM
- ERP 與 SAP的關係
- Cookie與Session 關係CookieSession
- 互動與關係
- 父表修改與外來鍵的關係(主鍵DML與外來鍵的關係)
- 資料庫 - 關係代數與關係運算資料庫
- CRM與ERP的整合與關係(轉)
- Excutors 與 ThreadPoolExcutor 的關係與區別thread
- ARM 與 STM32 的關係
- JSON 與 JS 物件的關係JSON物件
- 物聯網與APP的關係?APP
- 淺談框架與模式的關係框架模式
- ODS與DW之間的關係
- CDB與PDB的系統關係