【spfile】修改及重置spfile實操 plus 故障處理一則
如果不知道spfile為何物以及它能給我們DBA帶來哪些便利的同學,請自行Google:)
1.spfile修改語法
語法:
alter system set parameter_name=value ;
Oracle官方文件中描述如下(一樣的):
alter system set
parameter_name =
parameter_value [, parameter_value ]...
[ COMMENT = string ]
[ DEFERRED ]
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
[ SID = { 'sid' | * } ]
2.spfile修改語法註釋,含義爛熟於胸的同學可以在這裡飄過了~~~
引數註釋:
1).parameter_name=value
引數鍵值對應關係在這裡體現,如db_recovery_file_dest_size=10g
2).comment='text'
註釋資訊,使用後可以在v$parameter檢視的update_comment中體現出來
3).deferred
對當前的會話不生效,只對以後的會話生效。有些引數必須使用這個引數,這些引數有:select name from v$parameter where issys_modifiable = 'DEFERRED';
4).scope=memory|spfile|both
作用於在當前會話|只修改spfile|預設的會話級別和spfile同時修改
5).sid='sid|*'
RAC環境下使用,預設是“*”,可對具體的sid進行修改
3.恢復spfile引數為預設值的方法
alter system reset parameter_name sid='sid|*';
具體引數含義參見上面描述,不再重複。
4.實操“修改spfile”,以閃回區大小顯示引數db_recovery_file_dest_size由原來的20G修改為10G為例
1)當前值如下
sys@ora10g> show parameter db_recovery_file_dest_size
NAME TYPE VALUE
--------------------------- ------------- --------
db_recovery_file_dest_size big integer 20G
或使用下面的方法查詢
sys@ora10g> col name for a30
sys@ora10g> col VALUE for a11
sys@ora10g> col UPDATE_COMMENT for a40
sys@ora10g> select name,value,update_comment from v$parameter where name = 'db_recovery_file_dest_size';
NAME VALUE UPDATE_COMMENT
-------------------------- ----------- ---------------------------
db_recovery_file_dest_size 21474836480
2)修改之
sys@ora10g> alter system set db_recovery_file_dest_size=10g comment='alter db_recovery_file_dest_size to 10g';
System altered.
3)檢視一下修改後的效果,注意UPDATE_COMMENT欄位因為使用了comment引數,已經有相應的內容
sys@ora10g> col name for a30
sys@ora10g> col VALUE for a11
sys@ora10g> col UPDATE_COMMENT for a40
sys@ora10g> select name,value,update_comment from v$parameter where name = 'db_recovery_file_dest_size';
NAME VALUE UPDATE_COMMENT
-------------------------- ----------- --------------------------------
db_recovery_file_dest_size 10737418240 alter db_recovery_file_dest_size to 10g
5.實操“恢復spfile引數為預設值”
sys@ora10g> alter system reset db_recovery_file_dest_size scope=spfile sid='*';
System altered.
注意一下,這裡使用的是scope=spfile,需要重啟例項才能生效。
重置引數的實質是:將db_recovery_file_dest_size資訊從spfile中刪除,您可以透過建立pfile的方法驗證之,或者繼續觀看下面的演示,也許您也會有結果和收穫
6."plus故障處理"
重啟資料庫後發現:報錯了。
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g> startup;
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
原因很簡單,我們採用了簡單粗暴的方式刪除了spfile中的db_recovery_file_dest_size設定資訊,上面就是連帶的故障資訊。使用這個引數做演示有點草率,也許使用sort_area_size引數做例子更好一些:)
如何恢復上面的錯誤?有點偏離我們的主題了。方法不難,透過修改pfile,新增db_recovery_file_dest_size=10g的資訊,使用pfile啟動資料庫,然後在重新建立一下spfile。具體操作流程如下:
(1)$ vi /oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora 新增db_recovery_file_dest_size=10g
(2)NotConnected@> startup pfile='/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora'
(3)sys@ora10g> create spfile from pfile;
(4)sys@ora10g> startup force;
7.小結
透過這個故障說明什麼?要總結滴
請不要在生產環境做任何想當然的嘗試,DBA渴求實驗和測試,但是更需要謹慎和職業操守。
Good luck.
secooler
12.04.05
-- The End --
1.spfile修改語法
語法:
alter system set parameter_name=value
Oracle官方文件中描述如下(一樣的):
alter system set
parameter_name =
parameter_value [, parameter_value ]...
[ COMMENT = string ]
[ DEFERRED ]
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
[ SID = { 'sid' | * } ]
2.spfile修改語法註釋,含義爛熟於胸的同學可以在這裡飄過了~~~
引數註釋:
1).parameter_name=value
引數鍵值對應關係在這裡體現,如db_recovery_file_dest_size=10g
2).comment='text'
註釋資訊,使用後可以在v$parameter檢視的update_comment中體現出來
3).deferred
對當前的會話不生效,只對以後的會話生效。有些引數必須使用這個引數,這些引數有:select name from v$parameter where issys_modifiable = 'DEFERRED';
4).scope=memory|spfile|both
作用於在當前會話|只修改spfile|預設的會話級別和spfile同時修改
5).sid='sid|*'
RAC環境下使用,預設是“*”,可對具體的sid進行修改
3.恢復spfile引數為預設值的方法
alter system reset parameter_name
具體引數含義參見上面描述,不再重複。
4.實操“修改spfile”,以閃回區大小顯示引數db_recovery_file_dest_size由原來的20G修改為10G為例
1)當前值如下
sys@ora10g> show parameter db_recovery_file_dest_size
NAME TYPE VALUE
--------------------------- ------------- --------
db_recovery_file_dest_size big integer 20G
或使用下面的方法查詢
sys@ora10g> col name for a30
sys@ora10g> col VALUE for a11
sys@ora10g> col UPDATE_COMMENT for a40
sys@ora10g> select name,value,update_comment from v$parameter where name = 'db_recovery_file_dest_size';
NAME VALUE UPDATE_COMMENT
-------------------------- ----------- ---------------------------
db_recovery_file_dest_size 21474836480
2)修改之
sys@ora10g> alter system set db_recovery_file_dest_size=10g comment='alter db_recovery_file_dest_size to 10g';
System altered.
3)檢視一下修改後的效果,注意UPDATE_COMMENT欄位因為使用了comment引數,已經有相應的內容
sys@ora10g> col name for a30
sys@ora10g> col VALUE for a11
sys@ora10g> col UPDATE_COMMENT for a40
sys@ora10g> select name,value,update_comment from v$parameter where name = 'db_recovery_file_dest_size';
NAME VALUE UPDATE_COMMENT
-------------------------- ----------- --------------------------------
db_recovery_file_dest_size 10737418240 alter db_recovery_file_dest_size to 10g
5.實操“恢復spfile引數為預設值”
sys@ora10g> alter system reset db_recovery_file_dest_size scope=spfile sid='*';
System altered.
注意一下,這裡使用的是scope=spfile,需要重啟例項才能生效。
重置引數的實質是:將db_recovery_file_dest_size資訊從spfile中刪除,您可以透過建立pfile的方法驗證之,或者繼續觀看下面的演示,也許您也會有結果和收穫
6."plus故障處理"
重啟資料庫後發現:報錯了。
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g> startup;
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
原因很簡單,我們採用了簡單粗暴的方式刪除了spfile中的db_recovery_file_dest_size設定資訊,上面就是連帶的故障資訊。使用這個引數做演示有點草率,也許使用sort_area_size引數做例子更好一些:)
如何恢復上面的錯誤?有點偏離我們的主題了。方法不難,透過修改pfile,新增db_recovery_file_dest_size=10g的資訊,使用pfile啟動資料庫,然後在重新建立一下spfile。具體操作流程如下:
(1)$ vi /oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora 新增db_recovery_file_dest_size=10g
(2)NotConnected@> startup pfile='/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora'
(3)sys@ora10g> create spfile from pfile;
(4)sys@ora10g> startup force;
7.小結
透過這個故障說明什麼?要總結滴
請不要在生產環境做任何想當然的嘗試,DBA渴求實驗和測試,但是更需要謹慎和職業操守。
Good luck.
secooler
12.04.05
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-611418/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【故障處理】修改SPFILE無許可權
- Oracle修改spfile的位置Oracle
- 【故障處理】告警日誌報“ORA-01565 Unable To open Spfile”
- ORACLE RAC spfile異常處理辦法Oracle
- dataguard故障處理一則
- Oracle9i spfile 中如何用修改系統重置命令將引數值重置為預設值Oracle
- The SPFILE Initialization Parameter
- Oracle Spfile and pfileOracle
- RAC 11G ASM下修改spfile檔案ASM
- Mysql故障處理2則MySql
- oracle資料庫改壞spfile引數重啟處理方法Oracle資料庫
- 修改二進位制引數檔案(SPFILE)的方法之一
- RAC環境ASM磁碟組間修改spfile的位置ASM
- SPFILE引數修改錯誤的解決辦法
- ASM下遷移spfileASM
- Oracle的spfile和pfileOracle
- Oracle ASM spfile in a disk groupOracleASM
- 恢復SPFILE檔案
- 檔案-spfile說明
- 【故障恢復】因spfile修改錯誤導致資料庫無法啟動的恢復方法資料庫
- oracle實驗記錄 (PFILE 啟動SPFILE)Oracle
- 一次Oracle診斷案例-Spfile案例Oracle
- 關於pfile,spfile的一些命令
- oracle pfile spfile啟動順序 優先順序 spfilesid 〉 spfile 〉 initsidOracle
- 【故障處理】一次RAC故障處理過程
- Oracle中的spfile和 pfileOracle
- Oracle中的pfile和spfileOracle
- oracle spfile和pfile小結Oracle
- Oracle Concepts - pfile and spfileOracle
- Oracle ASM儲存Spfile解析OracleASM
- Oracle 11.2.0.4 Dataguard兩則故障處理Oracle
- Oracle Restart啟動資料庫例項故障一例( Oracle ASM儲存Spfile解析)OracleREST資料庫ASM
- 模擬一則ORA-600 [4194][][]故障並處理
- sqlplus"strace: exec: Exec format error"故障處理SQLORMError
- Create spfile from pfile命令要注意
- oracle中spfile的預設位置Oracle
- oracle引數檔案pfile,spfileOracle
- spfile誤修改導致資料庫無法啟動的另一種恢復方法資料庫