//參數檔載入順序(Oracle 10g for windows版)
Oracle 10g 裝好後,雖然去查v$parameter,顯示的是該 "C:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA" 位置(見參考1
),但經實驗得知,其實該Instance是去 "C:\oracle\product\10.2.0\db_1\database" 該 Oracle_Home 路徑下依序找相關參數檔(見參考2),
但為什麼參數檔最終是去讀 "C:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA" 呢? 因為Oracle_Home下的參數檔
initorcl.ora的內容(PFILE型態),是指向另一個參數檔(SPFILE型態),請見參考3‧
 
如果去更改 initorcl.ora的預設的內容,或是作相關更改動作後,請見參考4,該Instance將不會間接去讀另一個路徑下的參數檔
 "C:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA" 了‧
 
 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//參考1
SQL> select name,value from v$parameter where name like '%pfile%';
     NAME     VALUE
     ------   ------------------------------------------------------
     spfile   C:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA
 

//參考2
Oracle Instance會在Oracle_Home下會按照如下順序找出可以讀取的參數檔
(1)%ORACLE_HOME %\database \SPFILE<SID>.ORA
(2)%ORACLE_HOME %\database \SPFILE.ORA
(3)%ORACLE_HOME %\database \INIT<SID>.ORA

//參考3
檔案位置: C:\oracle\product\10.2.0\db_1\database\initorcl.ora
檔案內容: SPFILE='C:\oracle\product\10.2.0\db_1/dbs/spfileorcl.ora'
 

//參考4
SQL> create pfile from spfile; ==> 將c:\oracle\product\10.2.0\db_1\dbs\spfileorcl.ora的內容轉至C:\oracle\product\10.2.0\db_1\database\initorcl.ora
SQL> create spfile from pfile; ==> 將C:\oracle\product\10.2.0\db_1\database\initorcl.ora的內容轉至c:\oracle\product\10.2.0\db_1\database\spfileorcl.ora
SQL> shutdown immediate;
SQL> startup;
SQL> select name,value from v$parameter where name like '%pfile%';
     NAME     VALUE
     ------   ------------------------------------------------------
     spfile   C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SPFILEORCL.ORA
備註: 當然你也可以不用多此一舉,直接將C:\ORACLE\PRODUCT\10.2.0\DB_1\DBS路徑下的SPFILEORCL.ORA,拷貝至Oracle_Home的
          路徑下 "c:\oracle\product\10.2.0\db_1\database" ‧
創作者介紹

香蕉皮

香 香蕉皮 發表在 痞客邦 PIXNET 留言(0) 人氣()