因為在32位操作系統上執行了如下的操作
alter system set sga_max_size=2G scope=spfile;
之后再重啟數據庫就會失敗
報出錯誤:
ORA-27102
Out of Memory
解決的方法也很簡單:
新建一個文本文件 如initaaa.ora
內容:
SPFILE='../product/10.2.0/db_1/dbs/spfileorcl.ora'
sga_max_size=1073741824
保存之后
如是啟動數據庫:
SQL>startup pfile=$ORACLE_HOME/dbs/initaaa.ora
啟動成功之后就可以把之前的錯誤參數修改過來了
對于Spfile損壞或者丟失的情況
可以刪除原來的Spfile,然后利用系統中備份的pfile 來創建一個新的Spfile
SQL>CREATE SPFILE FROM PFILE='
.\pfile\init.ora.83200715416'
------------------------------------------------------------------------------------------------------------------------------------------------------
其他命令(轉):
//查看Oracle以pfile還以Spfile方式啟動
SQL>Select isspecified,count(*) from v$spparameter group by isspecified;
如果isspecified里有true,表明用spfile進行了指定配置
如果全為false,則表明用pfile啟動
//查看Spfile的路徑
SQL>show parameter spfile
//從spfile獲取pfile
SQL>Create pfile='d:pfileSID.ora' from spfile;
SQL>Create pfile='d:pfileSID.ora' from spfile='spfile_location';
//從pfile獲取spfile
SQL>Create spfile from pfile='Your_pfile_location'
SQL>Create spfile='spfile_location' from pfile='Your_pfile_location'
//動態修改參數
SQL>alter system set parameter=Value scope=spfile|both|memory
Startup nomount的時候需要讀去spfile或pfile,兩者共存,spfile優先
//強制用pfile啟動
SQL>startup pfile='Your_Pfile.ora'
SQL>startup spfile='/data/oracle/product/10.2.0/db_1/dbs/dbs/spfile_mqq.ora' force