SPFILEを消失した際のDB起動エラーと障害対応
SPFILE障害におけるDB起動エラー
SPFILEを誤って消してしまった場合、DB起動時にこのようなエラーが発生します。
[root@server01:/] srvctl start db -d db01 PRCR-1079 : リソースora.db01.dbの起動に失敗しました CRS-5017: リソース・アクション"ora.db01.db start"に次のエラーが発生しました: ORA-01078: failure in processing system parameters ORA-01565: error in identifying file '+DATA/db01/spfiledb01.ora' ORA-17503: ksfdopn:2 Failed to open file +DATA/db01/spfiledb01.ora ORA-15056: additional error message ORA-17503: ksfdopn:2 Failed to open file +DATA/db01/spfiledb01.ora ORA-15173: entry 'spfiledb01.ora' does not exist in directory 'db01' ORA-06512: at line 4 。詳細は"(:CLSN00107:)"("/u01/app/11.2.0.4/grid/log/server02/agent/crsd/oraagent_oracle/oraagent_oracle.log")を参照してください。 CRS-5017: リソース・アクション"ora.db01.db start"に次のエラーが発生しました: ORA-01078: failure in processing system parameters ORA-01565: error in identifying file '+DATA/db01/spfiledb01.ora' ORA-17503: ksfdopn:2 Failed to open file +DATA/db01/spfiledb01.ora ORA-15056: additional error message ORA-17503: ksfdopn:2 Failed to open file +DATA/db01/spfiledb01.ora ORA-15173: entry 'spfiledb01.ora' does not exist in directory 'db01' ORA-06512: at line 4 。詳細は"(:CLSN00107:)"("/u01/app/11.2.0.4/grid/log/server01/agent/crsd/oraagent_oracle/oraagent_oracle.log")を参照してください。 CRS-2674: 'ora.db01.db'('server02')の起動に失敗しました CRS-2674: 'ora.db01.db'('server01')の起動に失敗しました CRS-2632: 配置ポリシーを満たす場所へのリソース'ora.db01.db'の配置を試行するサーバーはありません [root@server01:/]
障害対応
SPFILEを消失した場合の対応は2つあります。
- SPFAILEのバックアップからコピーする。
- PFILEからDB起動する。
ここでは、事前にPFILEバックアップを取得していましたので、2.のPFILEから起動してSPFILEを作成する手順で対応します。
PFILEからDB起動
oracleユーザーでsqlplusを起動します。
[oracle@server01:/home/oracle] sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on 金 10月 18 14:30:10 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> conn / as sysdba アイドル・インスタンスに接続しました。 SQL>
PFILE指定でDBを起動します。
SQL> startup pfile='/home/oracle/initdb01.ora' ORACLEインスタンスが起動しました。 Total System Global Area 9620525056 bytes Fixed Size 2254496 bytes Variable Size 1778387296 bytes Database Buffers 7818182656 bytes Redo Buffers 21700608 bytes データベースがマウントされました。 データベースがオープンされました。 SQL>
無事に起動できました。この後、PFILEからSPFILEを作成します。
→ SPFILE作成手順
データベースをシャットダウンします。
SQL> shutdown immediate データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 SQL>
本来の起動方法である、SPFILEからDBを起動します。
[root@server01:] srvctl start db -d db01 [root@server01:]
無事に起動できました!これで障害対応は完了です。