對於Oracle數據庫來說,db_name和instance_name可以不同。
我們來看一下Oracle文檔中對於db_name的定義:
DB_NAME必須是一個不超過8個字符的文本串.在數據庫創建過程中,db_name被記錄在數據文件,日志文件和控制文件中。如果數據庫實例啟動過程中參數文件中的db_name和控制文件中的數據庫名稱不一致,則數據庫不能啟動。
一個實例可以mount並打開任何數據庫,但是同一時間一個實例只能打開一個數據庫。
一個數據庫可以被一個或多個實例所mount並打開(在OPS/RAC環境下,一個數據庫可以被多個實例所打開).
我們看一下我的數據庫:
[Oracle@jumper dbs]$ grep name initeygle.ora
*.db_name=''eygle''
*.instance_name=''eygle''
當前參數設置下的數據庫:
SQL> select name from v$datafile;
NAME
-----------------------------------------------------
/opt/Oracle/oradata/eygle/system01.dbf
/opt/Oracle/oradata/eygle/undotbs01.dbf
/opt/Oracle/oradata/eygle/users01.dbf
/opt/Oracle/oradata/eygle/eygle01.dbf
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- -----------
db_name string eygle
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- -----------
instance_name string eygle
SQL> create pfile from spfile;
File created.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production