Oracle參數(shù)文件有三種:
spfile: spfile.ora
pfile: init.ora
init: init.ora
參數(shù)文件的默認(rèn)路徑為:
$ORACLE_HOME/dbs (UNIX)
當(dāng)數(shù)據(jù)庫啟動(dòng)時(shí),oracle會(huì)按spfile.ora init.ora init.ora的順序去找參數(shù)文件。其中spfile為二進(jìn)制文件,所以不能直接對其進(jìn)行修改。
1. 如何確定當(dāng)前數(shù)據(jù)庫是否以spfile參數(shù)文件啟動(dòng)
sql> show parameter spfie;
若value列有值,則說明以spfile啟動(dòng)。
2. 如何修改參數(shù)文件
sql>alter system set timed_statistics=false scope=spfile;
scope可以有三種值:
spfile:修改spfile中的參數(shù)值
memory:修改當(dāng)前內(nèi)存中的參數(shù)值
both:修改內(nèi)存及spfile參數(shù)文件中的參數(shù)值
ps:不是所有參數(shù)都可以這樣修改的。在v$system_parameter中有issys_modifiable和isses_modifiable兩個(gè)字段標(biāo)志是否可以修改。所有參數(shù)值都可以從v$system_paramete中得到。
3. “ORA-32001: write to SPFILE requested but no SPFILE specified at startup”錯(cuò)誤,因?yàn)闆]有用spfile參數(shù)文件啟動(dòng)數(shù)據(jù)庫。解決辦法:
1) 檢查默認(rèn)路徑$ORACLE_HOME/dbs下是否存在spfile.ora文件。
2) 若不存在,重新生成spfile
create spfile from pfile;
3) 重啟數(shù)據(jù)庫。
4) 重新執(zhí)行alter system…命令。
4. 如何根據(jù)現(xiàn)有非默認(rèn)路徑下的spfile或pfile參數(shù)文件啟動(dòng)數(shù)據(jù)庫
sql>startup pfile=‘<路徑>’;
sql>startup spfile=‘ <路徑>’;


