ORACLE PILE 與 SPFILE

1、PFILE

PFILE的全名稱爲 parameter file 參數文件,是一種基於文本格式的參數文件,其中含有數據庫的配置參數

PFILE的文件名稱爲initSID.ora,該文件位置放置在 $ORACLE_HOME/dbs目錄下面,這是一個文本文件,可以用任何文本編輯工具打開。

創建PFILE的時候,採用如下命令:

cp  init.ora  $ORACLE_HOME/dbs/initorcl.ora

在獲得該文件之後,可以通過編輯initorcl.ora文件,修改適合自己運行環境的參數,建議不要使用oracle提供的初始化參數,這個文檔相對而言有點老。

在這份文檔當中,需要修改的參數有以下幾個方面:

db_name = orcl

#添加 db_block_size

db_block_size = 8192

control_files = ('目錄/control01.ctl','目錄/control02.ctl','目錄/control03.ctl')


2、SPFILE(該文件爲oracle9i之後引入的概念)

SPFILE全稱爲:Server Parameter File,服務器參數文件,該文件是基於二進制格式的參數文件,含有數據庫及例程的參數和數值,但不能用文本編輯工具打開,在動態修改參數的時候,需要執行以下的SQL語句:

alter system set parameter = Value

scope = {spfile | both | memory};

SCOPE參數有三個可選值:

MEMORY : 只改變當前實例運行

SPFILE : 只改變SPFILE的設置(如果修改的是靜態參數,則必須制定SCOPE=SPFILE,否則將會報ORA-02095錯誤);

BOTH : 只改變實例以及SPFILE(使用BOTH選項實際上等同於不帶參數的ALTERSYSTEM語句)。


SPFILE->spfileSID.ora,位置放在$ORACLE_HOME/dbs目錄下面

根據PFILE創建SPFILE,在啓動instance實例之前或之後都可以創建SPFILE,其穿件語句如下所示:

CREATE SPFILE = '$ORACLE_HOME/dbs/spfileDBA01.ora'  

from PFILE = 'ORACLE_HOME/dbs/initDBA01.ora';


同時也可以使用缺省的方式來創建SPFILE

create spfile from pfile;


查看SPFILE等二進制文件 使用

strings fpfileorcl.ora

修改SPFILE文件的內容可以使用如下的SQL語句:

alter system set parameter = vlaue <comment = 'text'>  <deferred>  <scope = memory | spfile | both> <sid = 'sid l *'>

其中deferred表示延遲生效,可以通過show parameter fast_start 查看 fast_start_開頭的所有參數是否已經生效。


刪除或重置SPFILE參數回缺省值:

alter system set undo_suppress_errors = ture;

alter system reset undo_suppress_errors scope = both sid = ' ';


3、根據SPFILE創建PFILE

在這裏需要注意,在進入sqlplus後,就可以創建,不一定要啓動數據庫。還有lock_sga參數只能在AIX操作系統中有效,在Linux和Unix系統中是無效的,讓SGA儘量駐留內存的辦法就是修改SGA區內存的大小。

create pfile from spfile;


4 、oracle 數據庫的啓動順序

用startup啓動的順序,這種啓動的方式是oracle數據庫的默認啓動方式

首先、直接在默認路徑下查找spfileSID.ora -- (spfile),如果沒有,則再查找 第二步;

其次、直接在默認路徑下查找spfile.ora 如果沒有,則再查找 第三步

再次、直接在默認路徑下查找initSID.ora -- (pfile),如果還沒有,則會報錯誤


採用startup pfile = 的方式啓動

首先,需要指定 pfile: startup pfile = $ORACLE_HOME/dbs/initSID.ora

其次,使用spfile啓動,需要變通一下,如vi 一個pfile文件aaa.ora,包含一下內容:

spfile = $ORACLE_HOME/dbs/spfile/spfileSID.ora

再用startup pfile = $ORACLE_HOME/dbs/aaa.ora啓動即可

若使用兩種方式,級別會高於直接用startup啓動的方式。


發佈了59 篇原創文章 · 獲贊 9 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章