PFILE和SPFILE介紹
2024-07-21 02:52:11
供稿:網友
PFILE和SPFILE介紹 一、PFILEPfile(Parameter File,參數文件)是基于文本格式的參數文件,含有數據庫的配置參數。1、PFILE - initSID.ora(默認PFILE名稱),位置在$Oracle_HOME/dbs目錄下面。 這是一個文本文件,可以用任何文本編輯工具打開。2、創建PFILEcp init.ora $ORACLE_HOME/dbs/initorcl.ora編輯initorcl.ora文件,修改適合自己的參數。建議不要使用oracle提供的初始化參數,這個文檔有點老。需要修改的名字有:db_name=wilson#添加db_block_sizedb_block_size=8192control_files=('目錄/control01.ctl','目錄/control02.ctl', '目錄/control03.ctl') 二、SPFILE: Oracle9i之后引入的概念SPfile(Server Parameter File,服務器參數文件)是基于二進制格式的參數文件,含有數據庫及例程的參數和數值,但不能用文本編輯工具打開。動態修改參數alter system set parameter=Valuescope={spfile|both|memory};SCOPE參數有三個可選值:MEMORY:只改變當前實例運行;SPFILE:只改變SPFILE的設置(如果修改的是靜態參數,則必須指定SCOPE=SPFILE,否則將會報ORA-02095錯);BOTH:改變實例及SPFILE(使用BOTH選項實際上等同于不帶參數的ALTER SYSTEM語句)。 SPFILE->spfileSID.ora,位置在$ORACLE_HOME/dbs目錄下面根據PFILE創建SPFILE, 在啟動Instance實例之前或之后都可以創建SPFILE。CREATE SPFILE = ‘$ORACLE_HOME/dbs/spfileDBA01.ora’ FROM PFILE = ‘$ORACLE_HOME/dbs/initDBA01.ora; 也可以使用缺省的方式來創建SPFILEcreate spfile from pfile; 查看SPFILE等二進制文件使用strings spfilewilson.ora 修改SPFILE的內容:alter system set parameter=value <comment='text'> <deferred> <scope=memory|spfile|both><sid='sid|*'>其中deferred表示延遲生效,可以通過show parameter fast_start_查看fast_start_開頭的所有參數是否已經生效。 刪除或重置SPFILE參數回缺省值:alter system set undo_supPRess_errors=true;alter system reset undo_suppress_errors scope= both sid='*'; 三、根據SPFILE創建PFILE【注意】在進入sqlplus后就可以創建,不一定要啟動數據庫。還有lock_sga參數只能在AIX操作系統中有效,在linux和unix中是無效的,讓SGA盡量駐留內存的辦法就是修改SGA區的內存大小。create pfile from spfile; 四、Oracle的啟動順序用startup(默認)啟動的順序1、直接在默認路徑下查找spfileSID.ora --(spfile)如果沒有再查找22、直接在默認路徑下查找spfile.ora 如果沒有再查找33、直接在默認路徑下查找initSID.ora --(pfile) 如果還沒有 就會報錯…… 用startup pfile= 的方式啟動。1、指定的pfile:startup pfile=$ORACLE_HOME/dbs/initSID.ora2、使用spfile啟動,需要變通一下如:vi一個pfile文件aaa.ora,包含以下內容:spfile=$ORACLE_HOME/dbs/spfileSID.ora再用startup pfile=$ORACLE_HOME/dbs/aaa.ora啟動即可。若使用這兩種方式,級別會高于直接用startup啟動的方式