PDBを利用していて ORA-01033 が出た場合の対処方法

はじめに

ORA-01033: Oracleの初期化またはシャットダウン中です。

先週は、問題なく使えていたローカルPC上のOracle。週が明けて再び使おうと思ったらこのメッセージ。つまり、つながらなくなったのだ。

見なかったことにして、そっと再起動してみる。Windowsならよくあることだ。きっと直ると信じて。 しかし、状況は変わらなかった。

朝から頭が真っ白になった。

Oracleは、通常は開発者個人で設定しない。そのため、こういう場合はいつもなら、インフラチームとかに連絡を入れて、復旧を待てばよい。しかし、ローカルにOracleがあると、当然直す人は自分以外にいない。

しくしく・・。

それにしても変だ。何日もマシンは再起動を繰り返しているはずなのに、今日に限ってどうしてこんな事象が発生したのだろう。壊れたのかな。

・・・ということで、ようやく現実を見て、調査開始。

試行錯誤

まず、最初の試み

定石通り、ググってみる。
すぐに多数ヒットする。見通しはいい感じだ。(きっとよくあることなのだ)

最初に見つかったのは、以下URL

sqlplus /nolog で、sqlplusにつないで connect sys/manager as sysdba shutdown normal startup mount recover database alter database open

やることがシンプルにまとまっています。(説明が少ないけど、なんとなくわかる)
つまり、DBが壊れたと想定して、復旧を試みる感じだろう。

指示通りやってみる。

ここで固まること数十分。

おかしい。
仕方なく、強制的にPC再起動。(ちょっと怖かったけど)

そして、再挑戦!
ただし、ちょっとコマンドを変更

最後のところを、以下に変更してみる。
shutdown immediate;

進展あり。
じゃあ、次だ。

このエコーバックを読む限り・・・DBは壊れてなかったらしい。
じゃあ、動くようになったかな?ということで、

そして、そっと接続してみる・・

しかし、だめだった。復旧していない。。。

次の試み

再び検索。他の検索結果を探してみる。

ここもほぼ同じアプローチだったが、念のため試してみることにした。

ORA-01033 ORACLE initialization or shutdown in progress が出たら 1.取りあえずinternalなどでオラクルにSQLPlusあたりでログイン 2.select status from v$instance; で状態確認 3.shutdown immideate;...

抜粋すると、こんな感じ。

ORA-01033 ORACLE initialization or shutdown in progress
が出たら
1.取りあえずinternalなどでオラクルにSQLPlusあたりでログイン
2.select status from v$instance; で状態確認
3.shutdown immediate;
4.startup mount;
5.recover database; ->AUTO
6.alter database open;

などと打ち込んでやれば、データファイルがオフライン状態になって拗ねているオラクルのご機嫌を取ることが出来る。
まぁ、ディスクフルとかにならないようにすれば、拗ねないんだけどね。

通常出たら、ディスク空き容量を確認して1,2を実行。
空き容量が確保できたら、3,4,6を実行してみて、まだメディアリカバリがなんたらとエラーを出していたら、5を実行して再度3,4,6(6だけでも行けるとは思う)を実行。
軽傷ならこれで機嫌が直るはず。

結果は、一言でいうと、変化なし。残念。
それは、つまり、重症ということなのか?

そして、最後にたどり着いたのがココ

ここは、PDBでデフォルトのセットアップを行った場合、PDBが自動起動になっていないことに対応するアプローチ。

検索キーワードに、PDBを入れてヒットしたなかで、これまでと違ったアプローチだったので、試してみることにした。

でも、これまで何日も自動起動してくれてたんだけどな・・と思いながらも、試しました。

Oracle12cをインストールした後にPCを再起動して sqlplus ora01/oracle@local…

結論としては、これで復活!
よかった。重症じゃなかった!

さいごに

何回もいうけれど、何日も自動起動していたのに、どうして今日に限って自動起動しなくなったのだろう。

まあ、直ったのでよしとしよう。
しかし、PDB、恐るべし。。

それにしても、このサイト記事作成した人、どうして、「ORA-01033: Oracleの初期化またはシャットダウン中です。」のメッセージを見て、すぐに「あ、PDB自動起動しないんだ」、って気づけたのだろう。この人すごすぎ。

それとも、自分が勉強不足なだけか?

スポンサーリンク
任意
任意

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

フォローする

スポンサーリンク
任意