select rowid from test_block_num where rownum=1;
select DBMS_ROWID.ROWID_OBJECT('&rowid') data_object_id#,
DBMS_ROWID.ROWID_RELATIVE_FNO('&rowid') rfile#,
DBMS_ROWID.ROWID_BLOCK_NUMBER('&rowid') block#,
DBMS_ROWID.ROWID_ROW_NUMBER('&rowid') row#
from dual;
& 多次

select rowid from test_block_num where rownum=1;
select DBMS_ROWID.ROWID_OBJECT('&&rowid') data_object_id#,
DBMS_ROWID.ROWID_RELATIVE_FNO('&&rowid') rfile#,
DBMS_ROWID.ROWID_BLOCK_NUMBER('&&rowid') block#,
DBMS_ROWID.ROWID_ROW_NUMBER('&&rowid') row#
from dual;
&& 一次

col owner format a10
col object_name format a20
select owner, object_name from dba_objects where object_id=&data_object_id;
col file_name format a40
col tablespace_name format a30
select file_name, tablespace_name from dba_data_files where file_id=&rfile;
这篇博客探讨了Oracle数据库中ROWID的使用,通过DBMS_ROWID包的函数解析ROWID的各个组成部分,包括对象ID、相对文件号、块号和行号。同时,展示了如何利用这些信息查询DBA_OBJECTS和DBA_DATA_FILES视图来获取对象的所有者、对象名称以及数据文件的相关信息。
1242

被折叠的 条评论
为什么被折叠?



