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 件のコメント:

コメントを投稿