[Oracle] ORA-12505 からの復旧

Oracle

概要

ORA-12505

表題のエラーのため,Oracleに接続できない。サーバーのディスク空き容量が空になった場合や,アーカイブログがいっぱいになると,データベースが停止する。

状況を調べ対応する

サーバーのWindowsイベントログ (アプリケーション)を調べて,インスタンスが停止なのかどうか調べる

ログの名前: Application
ソース: Oracle.shinandb
イベント ID: 16
レベル: 警告
説明:
Instance xxxxxx has been terminated.

この場合だとデータベースが停止してしまっている。

停止状態なら,ひとまずサービスの再起動をしてみる

Windows のサービス より,該当のDBサービスを単純に再起動させてみる。対象となるサービス OracleServieXXXX を右クリックして 再起動

オラクルのサービスを再起動させる

アラートログを調べる

環境にもよるが以下の場所

“C:\app\diag\rdbms\xxxxxx\xxxxxx\alert\log.xml”

ワードパッドで開いて,ORA- を検索してみる

ORA-19815 が見つかるなら

リカバリ領域の不足が原因です。以下のページの作業をしてください。

ORA-04031 が見つかるなら

ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 3000 bytes of shared memory ("shared pool","insert into smon_scn_time (t...","sga heap(1,0)","call")

どうもメモリー不足らしい。 アラートログから ORA-04031 が原因だったと思われる場合は,共有メモリー不足らしい。詳しくは以下の記事を参照してほしい

プロパティ

Oracle 11.2.0.3.0
Windows Server 2008 R2

コメント

タイトルとURLをコピーしました