Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> How Oracle deal with Rowid when we using transport tablespace?
When we using transport tablespace,we know Oracle never change
relative file no and dataobj#.
So we will have the same rowid in database to different object.
How oracle deal with it?
Some test:
TRANS on 13-JUN-04 >select file_id from dba_data_files where tablespace_name='TRANS';
FILE_ID
8
SYS AS SYSDBA on 14-JUN-04 >select file#,blocks,ts#,relfile# from file$;
FILE# BLOCKS TS# RELFILE#
---------- ---------- ---------- ----------
1 38400 0 1 2 25600 1 2 3 15360 2 3 4 640 4 4 5 640 5 5 6 12800 6 6 7 12800 7 7 8 1280 8 8 9 131072 9 1024 10 128
In the source database ,we have datafile 8 with RELFILE# 8.
When we transport it to another database:
SQL> select file#,blocks,ts#,relfile# from file$;
FILE# BLOCKS TS# RELFILE#
---------- ---------- ---------- ----------
1 38400 0 1 2 25600 1 2 3 15360 2 3 4 640 4 4 5 128 6 5 6 128 7 6 7 128 8 7 8 128 9 8 9 1280 5 8
The file# 9 is the transport tablespace have RELFILE# 8.
And the dataobj# is not change:
SQL> select obj#,owner#,dataobj# from obj$ where owner#=50;
OBJ# OWNER# DATAOBJ#
---------- ---------- ----------
45214 50 45213 50 45212 50 18938 45211 50 18937
With transport tablespace,Oracle no change to index,So how Oracle deal with the same rowid to different objects?
Thanks a lot. Received on Mon Jun 14 2004 - 02:49:25 CDT