核心概念
| 參數 | 說明 |
DB_NAME |
資料庫名稱,最長 8 字元。建庫時寫入資料檔、控制檔、Redo Log。啟動時參數檔與控制檔的 DB_NAME 必須一致,否則無法啟動。 |
INSTANCE_NAME |
實例名稱,識別記憶體結構與背景程序集合。單機可對應不同參數檔啟動多個實例掛載同一資料庫(需 RAC/OPS 架構支援同時開啟)。 |
關鍵規則
- 一個實例同一時間只能開啟一個資料庫。
- 一個資料庫可被一或多個實例掛載/開啟(RAC 環境下多實例同時開啟同一資料庫)。
DB_NAME 固定不變;INSTANCE_NAME 可依部署需求設定不同值。
實際環境驗證範例
-- 參數檔設定
*.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
...
-- 確認參數生效
SQL> SHOW PARAMETER db_name;
NAME TYPE VALUE
------------ ------ ------
db_name string eygle
SQL> SHOW PARAMETER instance_name;
NAME TYPE VALUE
---------------- ------ ------
instance_name string eygle
建立 PFILE 供手動調整
SQL> CREATE PFILE FROM SPFILE;
File created.
應用場景
- 單機多實例測試:同一組資料檔,建立多個參數檔(不同 INSTANCE_NAME、PORT、SGA 設定),分別啟動實例進行隔離測試(同一時間僅能啟動一個)。
- RAC 叢集:多節點各啟動一實例(不同 INSTANCE_NAME),共同開啟同一資料庫(相同 DB_NAME),提供高可用與擴充性。
- Data Guard 待測:主要/備援資料庫 DB_NAME 相同,INSTANCE_NAME 可同或不同,視管理習慣。
注意事項
- 非 RAC 環境下,嘗試同時啟動第二個實例開啟同一資料庫會報
ORA-01102(cannot mount database in EXCLUSIVE mode)。
- 參數檔建議使用 SPFILE,動態調整參數無需重啟;PFILE 適合版本控管與跨環境部署。