Oracle下絕對文件號和相對文件號區別

一:oracle官方給出的描述
Oracle Database assigns each datafile two associated file numbers, an absolute file
number and a relative file number, that are used to uniquely identify it

 

AbsoluteUniquely identifies a datafile in the database. This file number can be used in many SQL statements that reference datafiles in place of using the file name. The absolute file number can be found in the FILE# column of the V$DATAFILE or V$TEMPFILE view, or in the FILE_ID column of the DBA_DATA_FILES or DBA_TEMP_FILES  view

 

RelativeUniquely identifies a datafile within a tablespace. For small and medium size databases, relative file numbers usually have the same value as the absolute file number. However, when the
number of datafiles in a database exceeds a threshold (typically 1023), the relative file number differs from the absolute file number. In a bigfile tablespace, the relative file number is always
1024 (4096 on OS/390 platform).
 
二:總結如下
總述:oracle數據庫會給每一個新創建的datafile分配一個絕對文件號和相對文件號,兩者都用於唯一性標識該數據文件,只不過標識範圍不一樣。

 

絕對文件號:
1 絕對文件號數據庫範圍內唯一標識一個數據文件
2 sql語句中常常用絕對文件號代替該數據文件名字。
3 絕對文件號可通過查詢視圖v$datafile|v$tempfile|dba_data_files|dba_temp_files相關字段file#|file_id 獲得
例如:v$datafile file#字段
select file#,name,status from v$datafile

 

     FILE# NAME                                     STATUS
---------- ---------------------------------------- -------
         1 /oracle/CRM2/system1.dbf                 SYSTEM
         2 /oracle/CRM2/zxb.dbf                     ONLINE
         3 /oracle/CRM2/CRM/sysaux01.dbf            ONLINE
         4 /oracle/CRM2/CRM/users01.dbf             ONLINE
         5 /oracle/CRM2/zxa.dbf                     ONLINE
         6 /oracle/CRM2/CRM/test1.dbf               ONLINE
         7 /oracle/CRM2/zxc.dbf                     ONLINE
         8 /oracle/CRM2/CRM/undotbs1.dbf            ONLINE
相當文件號:
1 相對文件號在表空間範圍內唯一標識一個數據文件。
2 數據庫內數據文件沒有超過1023個,相對文件號和絕對文件號相等,反之則不同。
3 在大表空間中數據文件相對文件號總是1024
4 查詢v$datafile|v$tempfile字段RFILE# ,dba_data_files|dba_temp_files字段RELATIVE_FNO等,可查出相對文件號。

 

1 v$datafile的字段rfile#
SQL> Select file#,rfile#,name,status from v$datafile;

 

     FILE#     RFILE#  NAME                                     STATUS
---------- ---------- ---------------------------------------- -------
         1          1   /oracle/CRM2/system1.dbf                 SYSTEM
         2          2   /oracle/CRM2/zxb.dbf                     ONLINE
         3          3   /oracle/CRM2/CRM/sysaux01.dbf            ONLINE
         4          4   /oracle/CRM2/CRM/users01.dbf             ONLINE
         5          5   /oracle/CRM2/zxa.dbf                     ONLINE
         6          6   /oracle/CRM2/CRM/test1.dbf               ONLINE
         7          7   /oracle/CRM2/zxc.dbf                     ONLINE
         8          8   /oracle/CRM2/CRM/undotbs1.dbf            ONLINE

 

8 rows selected.
2 大表空間絕對文件號和相對文件號情況

 

SQL> select file#,rfile#,name,status from v$datafile;

 

     FILE#     RFILE#  NAME                                     STATUS
---------- ---------- ---------------------------------------- -------
         1          1  /oracle/CRM2/system1.dbf                 SYSTEM
         2          2  /oracle/CRM2/zxb.dbf                     ONLINE
         3          3  /oracle/CRM2/CRM/sysaux01.dbf            ONLINE
         4          4  /oracle/CRM2/CRM/users01.dbf             ONLINE
         5          5  /oracle/CRM2/zxa.dbf                     ONLINE
         6          6  /oracle/CRM2/CRM/test1.dbf               ONLINE
         7          7  /oracle/CRM2/zxc.dbf                      ONLINE
         8          8  /oracle/CRM2/CRM/undotbs1.dbf            ONLINE
         9       1024  /oracle/CRM2/CRM/zxbig.dbf               ONLINE

 

SQL>select file_id,relative_fno,file_name from dba_data_files order by 1
   FILE_ID RELATIVE_FNO  FILE_NAME
---------- ------------ ----------------------------------------
         1            1  /oracle/CRM2/system1.dbf
         2            2  /oracle/CRM2/zxb.dbf
         3            3  /oracle/CRM2/CRM/sysaux01.dbf
         4            4  /oracle/CRM2/CRM/users01.dbf
         5            5  /oracle/CRM2/zxa.dbf
         6            6  /oracle/CRM2/CRM/test1.dbf
         7            7  /oracle/CRM2/zxc.dbf
         8            8  /oracle/CRM2/CRM/undotbs1.dbf
         9         1024  /oracle/CRM2/CRM/zxbig.dbf
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章