0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle 起動エラー「ORA-214」

Last updated at Posted at 2019-05-06

今朝スケジュール再起動したオンプレミスのOracleサービスが起動に失敗していました
対応方法についてメモ

現象

  • サービスの再起動を行っても解決しない
  • エラーログを確認すると以下のエラー
ORA-214 signalled during: alter database mount exclusive...

環境

  • Windows Server 2008R2
  • Oracle 11.2.0.1

対応

①制御ファイルの置換え

ORA-214について

  • ORA-214のエラーは、複数の制御ファイル間での不整合が原因のエラーのようです。
  • 制御ファイルとはoracleの物理構成を保存したファイルで、複数のドライブなどに冗長化されることが推奨されてますが、この時の複数ファイル間で不整合が発生した場合にORA-214が発生するようです
  • この現象は以下のような状況で発生するようです
    • ファイルのコピー操作時のミス
      • バックアップから復旧した際にドライブごとのバックアップ時刻が違った
    • ハードウェアの障害で制御ファイルが破損した
      • DBが異常停止した
      • ディスクが破損した

置換え方法

  • SQLコマンドでCTLファイルのパスを確認
    • 私は sqlplus で実行しました
    • 下記の出力のファイルが制御ファイルになるので、
>> sqlplus / as sysdba

SQL> SELECT VALUE FROM V$PARAMETER WHERE NAME = 'control_files';

VALUE
--------------------------------------------------------------------------------

F:\ORADATA\<サービス名>\CONTROL01.CTL, C:\ORACLE\FLASH_RECOVERY_AREA\<サービス名>\CONTROL02.CTL
  • ファイルを置き換える
    • 前の手順で確認したCTLファイルのうち、古い時刻のものを念のためバックアップしておく
    • 新しい時刻のCTLファイルを古い時刻のディレクトリにコピーし、古い時刻の元々のファイル名にリネームする
>> rename F:\ORADATA\<サービス名>\CONTROL01.CTL F:\ORADATA\<サービス名>\CONTROL01.CTL.back
>> copy C:\ORACLE\FLASH_RECOVERY_AREA\<サービス名>\CONTROL02.CTL F:\ORADATA\<サービス名>\CONTROL01.CTL
  • サービスを再起動し、動作すればOK

今回の私の場合はORA-01033:Oracleの初期化またはシャットダウン中です。のエラーが発生し、解決しませんでした.

② リセットログからの Database オープン

データベースのステータスを確認すると、マウントまではいっているようですが、オープンできていないようです
おそらく制御ファイルがまだおかしいようですので、まずはリセットログからの復帰を実施します

>> sqlplus / as sysdba

SQL>shutdown immediate
SQL>startup mount
SQL>alter database open resetlogs;

今回はORA-01033:Oracleの初期化またはシャットダウン中です。のエラーが発生し、解決しませんでした.

③リカバリの実行

リセットログからも復帰が出来ないようです。
仕方ないので、リカバリを実施して起動するようにします。

>> sqlplus / as sysdba

SQL>shutdown immediate
SQL>startup mount
SQL>recover database using backup controlfile;
    ORA-00279: 変更: 363383(08/09/02 10:46:35で生成)にはスレッド番号: 1が必要です。
    ORA-00289: 検討すべきログ・ファイル: D:¥ORA817¥ORADATA¥ORA817¥archive¥arch1_335.dbf
    ORA-00280: 変更: 363383(スレッド: 1)は順序番号: 335に存在します。
    ログを指定してください: {<RET>=suggested | filename | AUTO | CANCEL}

##### ここでREDOログのファイルパスを指定する #####

SQL>alter database open resetlogs;

REDOログのファイルパスは次のSQLコマンドで確認します

SQL> SELECT MEMBER FROM V$LOGFILE;

MEMBER
---------------------------------------

F:\ORADATA\<サービス名>\REDO03.LOG
F:\ORADATA\<サービス名>\REDO02.LOG
F:\ORADATA\<サービス名>\REDO01.LOG

これで復帰しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?