標籤:oracle初始設定檔案 pfile spfile 修改
pfile和spfile的區別
pfile :Oracle 9i之前,ORACLE一直採用PFILE方式儲存初始化參數,該檔案為文字檔,可以在作業系統層級修改。當spfile檔案修改出現錯誤導致oracle無法啟動時,可以使用 pfile檔案啟動資料庫
spfile:從Oracle 9i開始,Oracle引入了SPFILE檔案,該檔案為二進位格式,不能通過手工修改,只能在sql下通過alter system set 修改其中的參數。
如 ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE = SPFILE ;
其中 scope有三個參數,分別為
scope=both 立即並永久生效,(預設模式)
scope=spfile 下次啟動才會生效。
scope=memory 立即生效但下次啟動時失效
查看spfile的位置
1.SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME =‘spfile‘;
2.show parameter spfile
驗證是否是spfile啟動
1.執行SELECT ISSPECIFIED,count(*) FROM v$spparameter group by ISSPECIFIED;
如果結果又true值,說明是spfile啟動
2.show parameter spfile 如果value值不為空白,則為spfile啟動
pfile檔案的建立和使用pfile檔案啟動資料庫
1.建立pfile檔案
create pfile from spfile; 建立的pfile預設位置在 $ORACLE_HOME/dbs/ initorcl.ora ,initorcl.ora是預設的pfile檔案名稱
create pfile=‘/home/oracle/pfile‘ from spfile; 指定pfile的路徑和檔案名稱
2.使用pfile檔案啟動資料庫
startup force pfile=‘?/dbs/initorcl.ora‘
從pfile建立spfile
create spfile from pfile=‘/home/oracle/pfile‘;
因為spfile在資料庫沒有啟動的情況下也能建立,所有通過pfile和spfile的互轉,可以在資料庫無法啟動的情況下修改spfile檔案