数据文件个数大于1024时ORACLE数据文件FILE_ID及RELATIVE_FNO的变化示例(三)

2014-11-24 09:03:58 · 作者: · 浏览: 4
LESPACE已经指定一个数据文件,此时表空间TEST2内有1023个数据文件。

6.查看此时文件号,相对文件号信息,对比并总结。

BYS@ bys3>select count(file_name) from dba_data_files where tablespace_name='TEST2';
COUNT(FILE_NAME)
----------------
1023
BYS@ bys3>select * from (select file_name,file_id,relative_fno from dba_data_files where tablespace_name='TEST2' order by file_id desc) where rownum<9;
FILE_NAME FILE_ID RELATIVE_FNO
-------------------------------------- ---------- ------------
/u01/oradata/bys3/test2/test1022.dbf 2050 4
/u01/oradata/bys3/test2/test1021.dbf 2049 3
/u01/oradata/bys3/test2/test1020.dbf 2048 2
/u01/oradata/bys3/test2/test1019.dbf 2047 1
/u01/oradata/bys3/test2/test1018.dbf 2046 1023
/u01/oradata/bys3/test2/test1017.dbf 2045 1022
/u01/oradata/bys3/test2/test1016.dbf 2044 1021
/u01/oradata/bys3/test2/test1015.dbf 2043 1020
8 rows selected.
通过以下查询,可以验证在一个表空间中,相对文件号RELATIVE_FNO是可以从1-1023。

当然如果表空间只有500个数据文件,假设最后一个数据文件的相对文件号和FILE_ID都是506,此时再增加新表空间,新表空间的第一个数据文件的相对文件号和FILE_ID都是507.。

相对文件号RELATIVE_FNO变为1只在数据库全库数据文件到达第1024个时发生(1023个时正常--相对文件号和FILE_ID相同)。
BYS@ bys3>select file_name,file_id,relative_fno from dba_data_files where relative_fno in(1,1022,1023);

FILE_NAME FILE_ID RELATIVE_FNO
-------------------------------------- ---------- ------------
/u01/oradata/bys3/system01.dbf 1 1
/u01/oradata/bys3/test1/test1017.dbf 1022 1022 ---生成数据文件序号顺序,
/u01/oradata/bys3/test1/test1018.dbf 1023 1023 ---可以看到相对文件号大于1023时,自动变为1--TEST1表空间的1
/u01/oradata/bys3/test1/test1019.dbf 1024 1 --FILE_ID在不断增大
/u01/oradata/bys3/test2/test1017.dbf 2045 1022 ---生成数据文件序号顺序,
/u01/oradata/bys3/test2/test1018.dbf 2046 1023 ---可以看到相对文件号大于1023时,自动变为1--TEST2表空间的1
/u01/oradata/bys3/test2/test1019.dbf 2047 1 --FILE_ID在不断增大

\
#########################

7.删除实验用表空间/数据文件,恢复测试环境。

drop tablespace test1 including contents and datafiles;
drop tablespace test2 including contents and datafiles;