LoginSignup
0
0

More than 1 year has passed since last update.

Oracleで「ORA-01033 Oracleの初期化またはシャットダウン中です」と出たときの対応

Posted at

個人的メモです。
原因1と2を書いていますが、他にもora-01033を起こす原因はあるかもしれません。
間違いがあればご指摘いただけると嬉しいです。

原因1. DBがマウントされていない

DB起動時のマウントに失敗している。

対応

sqlplusにてsysdba権限ユーザで接続しマウントして開始する。

以下でログイン(ユーザ名は環境に応じて)

sqlplus sys as sysdba

以下でマウントと開始

ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;

参考
https://cosol.jp/knowledge/knowledge_post/ot0007_ora01033/

マウントされていないだけならこれで解決します。

ファイルが破損している場合[ALTER DATABASE MOUNT]で、すでにマウントされていますと言われ、[ALTER DATABASE OPEN]で以下のようなエラーが発生します。
破損しているファイルによってORAコードは異なる?

ORA-00742:
ログの読取りでスレッドx、順序xxxx、ブロックxxxxに書込みの欠落が検出されました
ORA-00312: オンライン・ログx スレッドx: 'C:\xxxx\REDO01.LOG'

原因2. REDOログの破損

起動時、REDOログの不整合が見つかったため、DBを開始できない。

対応

以下URLを参考にRMANを使ってリカバリーする。
https://atmarkit.itmedia.co.jp/ait/articles/1111/11/news138.html
https://atmarkit.itmedia.co.jp/ait/articles/1109/22/news118.html

REDOログはグループ別に管理されており、それぞれグループに1つ以上のメンバーが属しています。
1つのグループにログを書き込んでいき、ファイルサイズが上限に達すると、書込み先を別グループにします。
ローテーションで回していき、最後のグループのあとは初めのグループに戻り古いログに上書きする仕組みです。

同じグループに属するメンバーには同じログを書き込みます。これによって、あるメンバーが破損しても同じグループで無事なメンバーがいれば、完全リカバリができます。それができない場合(全メンバー破損、グループにメンバーが1つしかないなど)、不完全リカバリします。

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