如果只看一篇文章弄懂Pfile與spfile,那麼這篇就夠了……
•Pfile(Parameter File,引數檔案):是基於文字格式的引數檔案,含有資料庫的配置引數。 預設的名稱為“init+例程名.ora”,這是一個文字檔案,可以用任何文字編輯工具開啟。
•SPfile(Server Parameter File,伺服器引數檔案)是基於二進位制格式的引數檔案,含有資料庫及例程的引數和數值,但不能用文字編輯工具開啟。屬於二進位制檔案.
•1oracle例項啟動時,尋找引數檔案的順序為 spfileSID.ora----->spfile.ora------>initSID.ora
•2.spfile與pfile的區別 (1
PS:什麼是靜態引數,動態引數,如何用?
•動態修改引數 alter system set parameter=Value scope={spfile|both|memory};SCOPE引數有三個可選值:MEMORY:記憶體中,只改變當前例項執行,重啟失效;SPFILE:硬碟中,只改變SPFILE的設定,需要重啟生效(如果修改的是靜態引數,則必須指定
•靜態級:pfile,只能通過create pfile from spfile,來編輯修改檔案,只有重啟資料庫才能生效;
•動態級:spfile,會話級:alter session,當前會話生效;
系統級:alter system +scope
3用startup(預設)啟動的順序
•1、直接在預設路徑下查詢spfileSID.ora --(spfile)如果沒有再查詢
•2、直接在預設路徑下查詢spfile.ora 如果沒有再查詢3
•3、直接在預設路徑下查詢initSID.ora --(pfile) 如果還沒有 就會報錯……
4startup pfile= <> 的方式啟動。
•1、指定的pfile:startup pfile=$ORACLE_HOME/dbs/initSID.ora
•2、使用spfile啟動,需要變通一下如:vi一個pfile檔案aaa.ora,包含以下內容:spfile=$ORACLE_HOME/dbs/spfileSID.ora
•再用startup pfile=$ORACLE_HOME/dbs/aaa.ora啟動即可。
•若使用這兩種方式,級別會高於直接用startup啟動的方式。
5可以通過以下命令檢視oracle使用pfile啟動,還是spfile啟動
6.oracle的spfile,pfile存放位置
• pfile:$ORACLE_HOME/dbs目錄下,如果資料庫是用dbca建立的話,則在$ORACLE_BASE/admin/ora/pfile還有一個pfile檔案,並且 在$ORACLE_HOME/dbs目錄下建立一個spfileSID.ora的spfile檔案
• spfile:$ORACLE_HOME/dbs目錄下
7spfile與pfile互相建立
•(1)如果oracle是從pfile啟動,則可以使用如下命令建立spfile
• SQL> create spfile from pfile
•(2)如果oracle是從spfile啟動,則可以使用以下命令建立pfile
•SQL> create pfile from spfile
8利用pfile啟動oracle例項
•SQL>STARTUP PFILE = $ORACLE_HOME/dbs/initORCL.ora