oracle初始化引數檔案詳解

2021-06-04 22:58:24 字數 1758 閱讀 9258

初始化引數檔案分為兩種:一、靜態初始化引數 檔案   二、動態初始化引數檔案

一、靜態初始化引數檔案:

在oracle9i之前,我們一直使用的是靜態的文字文字檔案來儲存初始化引數的配置,oracle為改檔案起名為pfile,我們必須通過作業系統的文字編譯器

對該檔案進行編譯,可以為乙個初始化引數設定多個值,但是如果設定多個值,後乙個值會把前乙個值覆蓋。

oracle9i之前,當我們啟動資料庫例項的時候,會去預設目錄下查詢pfile.ora是否存在,如果存在則用此檔案啟動資料庫例項。如果不存在,則oracle會先找

initsid.ora如果找到,則使用這個引數檔案,如果沒有會查詢init.ora,如果找到啟動oracle,如果沒有,就會顯示錯誤資訊。

我們可以在啟動資料庫的時候指定使用初始化引數檔案 startup pfile='';

二、動態初始化引數檔案

從oracle9i開始,oracle引入了所謂的動態初始化引數檔案,起名叫做spfile,之所以引入spfile是因為要彌補pfile的起確定,比如修改完引數要重新啟動資料庫,

還有就是因為oracle引入了很多自動調整的引數。這些引數的調整都需要使用spfile,而且rman能夠對spfile進行自動備份。

oracle9i開始,當我們啟動資料庫例項的時候,會去預設目錄下查詢spfilesid.ora是否存在,如果存在則用此檔案啟動資料庫例項。如果不存在,則oracle會先找

pfile.ora如果找到,則使用這個引數檔案,如果沒有會查詢initsid.ora,如果找到啟動oracle,如果沒有會查詢initora,如果沒有,就會顯示錯誤資訊。

oracle9i以後,我們這麼寫是支援的 startup spfile='';

建立spfile時,我們需要借助pfile,其命令為create spfile [='路徑']    from   pfile[='路徑']

我們也可以根據spfile去生成pfile,其命令為 create pfile [='路徑']    from   spfile[='路徑']    這種操作在某種場合是相當必要的,比如說,因為資料庫的某些引數修改有

問題的話,導致資料庫無法啟動時,但是我們不能使用文字編譯器修改spfile的屬性,我們沒辦法使用spfile啟動資料庫,所以,我們可以見spfile導成pfile,之後使用文字編譯器修改器內容,之後再導成spfile去啟動資料庫。

怎麼判斷oracle使用哪個初始化引數檔案啟動的資料庫呢,大概有兩種方法:

方法一:

sql> select distinct isspecified  from v$spparameter;

isspec

------

false

true

如果只有false,使用的是pfile,

如果有true,說明用的是spfile

方法二:

sql>show parameters spfile

如果有值說明使用spfile啟動,反之pfile

修改spfile的屬性,可以通過命令的方式,例如:

alter system set sga_target=200m scope[both(預設) | spfile | memory]

Oracle初始化引數檔案

oracle9i以前只有乙個文字初始化引數檔案,在oracle9i中增加了乙個伺服器引數檔案spfile,該檔案位於 oralce home database 目錄下,預設檔名spfile sid ora。在啟動資料庫例項時spfile比傳統的pfile優選,spfile是二進位制檔案不能通過文字形...

初始化引數檔案

引數檔案有兩類 pfile 靜態引數檔案 和spfile 動態伺服器引數檔案 spfile 是乙個二進位制檔案,不能手工編輯,修改值只能在sql plus上使用alter system set.命令或database express引數編輯功能。建立引數檔案 create spfile filena...

oracle中的初始化引數檔案

oracle初始化引數檔案管理 oracle例項是指執行狀態下的oracle軟體,是由記憶體結構跟一些程序結構組成的,主要實現資料庫的訪問跟控制功能,是oracle的核心。初始化引數檔案是oracle例項執行所需要的引數配置檔案,oracle例項啟動是必須先從引數檔案中讀取資料。初始化引數檔案分為p...