--使用rowID获取table的object_ID
select rowID,
dbms_rowid.rowid_object(rowid) object_id,
dbms_rowid.rowid_relative_fno(rowid) file_num,
dbms_rowid.rowid_block_number(rowid) block_number,
dbms_rowid.rowid_row_number(rowid) row_number,
dbms_rowid.rowid_to_absolute_fno(rowid,'SYS','TEST') file#
from table
where table.conditon = 'Your condition'
--根据objectID得知该数据位于哪个分区
select a.object_name,
a.object_type,
a.subobject_name,
a.object_id,
a.data_object_id
from dba_objects a
where object_name = UPPER('TABLE_NAME')
and object_id = 3019792
以上为原创.
--rowID的含义:
参考自:http://blog.csdn.net/haiross/article/details/15338061
为了方便,我直接放这里了:
ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置。
ROWID可以分为物理rowid和逻辑rowid两种。普通的堆表中的rowid是物理rowid,索引组织表(IOT)的rowid是逻辑rowid。oracle提供了一种urowid的数据类型,同时支持物理和逻辑rowid。本文主要关注物理rowid
物理rowid又分为扩展rowid(extended rowid)和限制rowid(restricted rowid)两种格式。限制rowid主要是oracle7以前的rowid格式,现在已经不再使用,保留该类型只是为了兼