二:總結如下
總述: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