數據庫參數文件PFILE和SPFILE
阿新 • • 發佈:2018-06-05
parameter param name iss ont 立即生效 reat oracl 文件的
PFILE和SPFILE都是Oracle 數據庫的參數文件;PFILE格式為文本文件,可以直接編輯文件修改,Oracle 9i 以前只能用PFILE來指定和修改數據庫初始化參數;SPFILE 格式為二進制文件,只能通過SQL命令修改,Oracle從 9i 開始,引入了SPFILE.
1. 如何確定數據庫用的是PFILE還是SPFILE?
a. 執行如下命令,結果為非空, 用的是SPFILE
Show parameter spfile;
b. 執行如下查詢,結果為非空, 用的是SPFILE
SELECT NAME, VALUE, FROM V$PARAMETER WHERE NAME =‘spfile‘;
c. 執行如下查詢,結果>0, 用的是SPFILE
SELECT count(*) FROM v$spparameter where isspecified = true;
2. 當使用PFILE時,修改數據庫初始化參數,重啟之後才能生效,非常不方便;
當使用SPFILE時,如果修改的是靜態的數據庫初始化參數,重啟之後才能生效;如果修改的是動態的數據庫初始化參數,可以不用重啟,即可生效。具體見下圖:
參數類型 |
Scope=spfile |
Scope=memory |
Scope=both |
deferred |
靜態參數 |
可以,重啟服務器生效 |
不可以 |
不可以 |
不可以 |
動態參數(issys_modifiable為immediate) |
可以,重啟服務器生效 |
可以,立即生效,重啟服務失效 |
可以,立即生效,重啟服務器仍然有效果 |
可以 |
動態參數(issys_modifiable為deferred) |
可以 |
不可以 |
不可以 |
可以 |
3. 創建PFILE 和 SPFILE
create spfile[=’spfile_name‘] from pfile[=‘pfile_name‘]; create pfile[=‘pfile_name‘] from spfile[=‘spfile_name‘];
4.參數文件的搜索順序
a. spfile<sid>.ora
Unix/Linux缺省目錄 $ORACLE_HOME/dbs/
Windows缺省目錄 %ORACLE_HOME%\database
b. spfile.ora
Unix/Linux缺省目錄 $ORACLE_HOME/dbs/
Windows缺省目錄 %ORACLE_HOME%\database
c. init<sid>.ora
Unix/Linux缺省目錄 $ORACLE_HOME/dbs/
Windows缺省目錄 %ORACLE_HOME%\database
數據庫參數文件PFILE和SPFILE