Select file_name,tablespace_name,file_id “AFN”,relative_fno “RFN”From dba_data_files。一直不理解relative_fno 这个字段意思,哪位大侠知道,谢谢 !!

解决方案 »

  1.   

    不是有注释了么:Tablespace-relative file number
      

  2.   

    绝对文件号是整个数据库唯一 的;
    相对文件号只在 表空间唯一,就是说每个表空间都有自己的相对文件号;相对文件号对于整个数据库来说是不唯一的;
    每个表空间的最大文件数为1023。下 面通过一些示例来看看相对文件号是如何产生的。SQL> select tablespace_name from dba_tablespaces;TABLESPACE_NAME
    ------------------------------
    SYSTEM
    RBS
    USERS
    TEMP
    TOOLS
    INDX
    DRSYS7 rows selected.SQL> select file_id,relative_fno from dba_data_files where tablespace_name='SYSTEM';FILE_ID    RELATIVE_FNO
    ---------- ------------
    1          1SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';FILE_ID    RELATIVE_FNO
    ---------- ------------
    3          3
    9          9
    10         10
    11         11
    12         12
    13         13
    14         14
    15         15
    ..         ..
    ..         ..
    ..         ..
    1020       1020
    1021       1021
    1022       1022
    1023       1023
    1024       1通过上面的输出可以看到,相对文件号尽 量同绝对文件号保持一致,直到表空间中的文件数超出1023。现在对users表空间添加一个数据文件,然后看看相对文件和绝对文件的变化。SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\USER001.DBF' SIZE 1m;Tablespace altered.SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';FILE_ID    RELATIVE_FNO
    ---------- ------------
    3          3
    9          9
    10         10
    11         11
    12         12
    13         13
    14         14
    15         15
    ..         ..
    ..         ..
    ..         ..
    1020       1020
    1021       1021
    1022       1022
    1023       1023
    1024       1
    1025       2         --已经添加了一个相对文件号为2的数据文件。接下来,再对任意表空间添加一个数据文件,然后再对users表空间添加数据文件。SQL> ALTER TABLESPACE TOOLS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\TOOLS001.DBF' SIZE 1m;Tablespace altered.SQL> select file_id,relative_fno from dba_data_files where tablespace_name='TOOLS';FILE_ID    RELATIVE_FNO
    ---------- ------------
    8          8
    1026       3SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\USER002.DBF' SIZE 1m;Tablespace altered.SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';FILE_ID    RELATIVE_FNO
    ---------- ------------
    3          3
    9          9
    10         10
    11         11
    12         12
    13         13
    14         14
    15         15
    ..         ..
    ..         ..
    ..         ..
    1020       1020
    1021       1021
    1022       1022
    1023       1023
    1024       1
    1025       2
    1027       4             --这里添加的是相对文件号为4的数据文件,因为已经存在3号文件