2009年6月24日水曜日

[ORA]データベース停止後、起動できなくなる現象について

■現象の概要
・"as sysdba"で接続、"shutdown normal"で停止。
・"as sysdba"で接続、"startup"を実行。
 ora-01081(稼動中のOracleは起動できません)が表示される。
・"shutdown immediate"を実行。
 ora-24324,ora-24323,ora01090がツヅけて表示される。
・"startup"を実行。ora-01031(権限不足)が表示される。

■現象の補足
上記ジョウキ手順テジュンオコナうと、毎回マイカイ2回目カイメのstartupはエラー内容ナイヨウチガう。
インスタンスを起動キドウできない。何故ナゼ

■調査
まだインスタンスに接続セツゾクしているプロセスが存在ソンザイするため、
シャットダウン未完了ミカンリョウ可能性カノウセイタカい。 そのプロセスはOracleのサービスである可能性カノウセイタカい。 (DBに接続セツゾクできるならv$sessionで接続セツゾクしているプロセスメイ
確認カクニンできる。イマ当然トウゼン無理ムリ。) あたりをつけてプロセスを終了シュウリョウさせる必要ヒツヨウがある。 プロセスがワカらない、ワカっても停止テイシさせられない場合バアイは、
"shutdown abort"を実行ジッコウできるかカンガえる。 (トランザクションのロールバックをオコナわずインスタンスリカバリが
ハシるだけのはず。だがここで転ぶと大怪我する。)
OracleSqlDeveloperが該当ガイトウプロセスかとオモ終了シュウリョウさせる。
3分後フンゴに"startup"実行ジッコウ、ora-01081がる。 "OracleOraHome81 Agent"というWindwosサービスが
該当ガイトウプロセスである可能性カノウセイもある。(XEではサービスメイ若干ジャッカンチガうとてかかるべき。) サービス一覧イチランから"OracleXEClrAgent"を発見ハッケン開始カイシされていない。 (OracleXxAgentはSNMPに対応タイオウしたOpenViewなどを使ツカって
Oracleを監視カンシするためのサービスで、OracleをタンにDB(ハコ)として使ツカうなら必要ヒツヨウいものらしい。) 仕方いので"shutdown abort"を決意。"conn sys/password as sysdba", "shutdown abort"を実行即座に"ORACLEインスタンスがシャットダウンされました。"と
メッセージが表示される。"startup"を実行する。5程度"データベースがオープンされました。"のメッセージまでる。
OracleSqlDeveloperで軽く動作検証、問題見つからず。
(今回の再起動目的は制御ファイルの多重化。v$viewで制御ファイルを確認多重化されている。)

■今回学んだ事
"shutdown normal"で停止しようとすると、正体不明のプロセス残で
ハマる事がある。(だからと言って、常時"shutdown immediate"は
どうかと思う。現場では基本どうやって停止させるんだろう?)

/*
*<<"desc">>
* 制御ファイル多重化を実践確認するのに要した時間が約2時間半。
* もちろん、他にも得たものは沢山あった。
* だがここまで掛かるとは。。正直6割方予想通りだけどねー。。
* こういったトラブルを迅速に解決出来るようになるのも
* PG基礎戦力強化として重要。とても重要。
* なんて悠長な事言ってると試験間に合わない。
* このジレンマは辛い。
*
* ドーラ「泣き言なんて聞きたかないね。なんとかしな。」
*/




0 件のコメント:

コメントを投稿