2016年12月14日 星期三

[Oracle]spfile與pfile

在Oracle database 中有兩個檔案是不可或缺的, 它們扮演著database 開起來之後資源的分配狀況, 這兩個至少要有一個是正常的, 只要同時缺少這兩個檔案, 資料庫將無法打開, 它們就是spfile 和 pfile。

spfile 就是system parameter file的簡稱, 而pfile 則是parameter file, 即資料庫參數檔。
對oracle database來說, 這兩個東東是一樣的功能, 但是卻有不一樣的講究, 搞不清楚時, 常常改了參數, 可是database開起來的時候卻是以舊的參數帶起來, 有時候甚至還開不起來。

Spfile是一種binary檔案, 人無法看懂, 也無法直接開啟修改, 當資料庫開啟時會優先以它作為參數檔開啟, 如果沒有它, 資料庫就會開不起來; 而pfile則是一般的文字檔, 可以直接開啟修改, 當缺少spfile時, 資料庫會找pfile, 若有pfile, 則資料庫還是開得起來, 因此, 這兩個檔案有相輔助的作用, 當資料庫建好後, 通常會先有一個spfile, 此時可以用create pfile from spfile; 來製作pfile, 產生pfile後, 可以把它備份起來或是在將來進行參數的修改, 因此這個檔案對管理者來說是非常重要的。

一旦對pfile進行修改, 可以將spfile刪除, 重新啟動資料庫, 資料庫就會以新的參數啟動, 進入資料庫後, 使用create spfile from pfile; 這個指令來製作spfile, 就可以令新的參數永久生效. 因此, 如果沒有瞭解這兩個參數檔的作用及其生成原因, 就有可能會對資料庫造成不良的影響, 不可不慎。

DB的參數檔有兩個, 一個是spfileORCL.ora, 另一個為initORCL.ora, 其中,initORCL.ora就是pfile。在資料庫剛建好時, 這裡只會看到spfileORCL.ora, 而當執行“create pfile from spfile; “的指令後, 就會出現initORCL.ora這個檔案, 這個檔案是可以閱讀並修改的

轉貼自 http://blog.xuite.net/joshua_chen1124/gospel/124232156-spfile%E8%88%87pfile

沒有留言:

張貼留言