如果只看一篇文章弄懂Pfile与spfile,那么这篇就够了……
?Pfile(Parameter File,參數文件):是基于文本格式的參數文件,含有數據庫的配置參數。 默認的名稱為“init+例程名.ora”,這是一個文本文件,可以用任何文本編輯工具打開。
?SPfile(Server Parameter File,服務器參數文件)是基于二進制格式的參數文件,含有數據庫及例程的參數和數值,但不能用文本編輯工具打開。屬于二進制文件.
?1oracle實例啟動時,尋找參數文件的順序為
????? spfileSID.ora----->spfile.ora------>initSID.ora
?2.spfile與pfile的區別? (1)pfile是文本文件,可以使用文本編輯器進行編輯,而spfile是二進制文件,不能使用任何編輯器進行修改,但是可以使用strings查看文件的內容? (2)pfile里面是靜態參數,不能在線修改,而spfile里面有動態參數,可以在線修改,而不用重啟oracle;
PS:什么是靜態參數,動態參數,如何用?
?動態修改參數 alter system set parameter=Value scope={spfile|both|memory};SCOPE參數有三個可選值:MEMORY:內存中,只改變當前實例運行,重啟失效;SPFILE:硬盤中,只改變SPFILE的設置,需要重啟生效(如果修改的是靜態參數,則必須指定SCOPE=SPFILE,否則將會報ORA-02095錯。);BOTH:改變內存及SPFILE(使用BOTH選項實際上等同于不帶參數的ALTER SYSTEM語句)。
?靜態級:pfile,只能通過create pfile from spfile,來編輯修改文件,只有重啟數據庫才能生效;
?動態級:spfile,會話級:alter session,當前會話生效;
? ? ? ? ? ? ? ? ? ? ? ? ? ??系統級:alter system +scope
3用startup(默認)啟動的順序
?1、直接在默認路徑下查找spfileSID.ora --(spfile)如果沒有再查找2
?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
?
總結
以上是生活随笔為你收集整理的如果只看一篇文章弄懂Pfile与spfile,那么这篇就够了……的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rm –rf误删除了一个数据文件,而备份
- 下一篇: 删除数据文件—启动不了数据库--恢复数据