・"as sysdba"で接続、"shutdown normal"で停止。
・"as sysdba"で接続、"startup"を実行。
ora-01081(既に稼動中のOracleは起動できません)が表示される。
・"shutdown immediate"を実行。
ora-24324,ora-24323,ora01090が続けて表示される。
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"は
どうかと思う。現場では基本どうやって停止させるんだろう?)
/*
"shutdown normal"で停止しようとすると、正体不明のプロセス残で
ハマる事がある。(だからと言って、常時"shutdown immediate"は
どうかと思う。現場では基本どうやって停止させるんだろう?)
/*
*<<"desc">>
* 制御ファイル多重化を実践確認するのに要した時間が約2時間半。
* もちろん、他にも得たものは沢山あった。
* だがここまで掛かるとは。。正直6割方予想通りだけどねー。。
* こういったトラブルを迅速に解決出来るようになるのも
* PG基礎戦力強化として重要。とても重要。
* なんて悠長な事言ってると試験間に合わない。
* このジレンマは辛い。
*
* ドーラ「泣き言なんて聞きたかないね。なんとかしな。」
*/
* 制御ファイル多重化を実践確認するのに要した時間が約2時間半。
* もちろん、他にも得たものは沢山あった。
* だがここまで掛かるとは。。正直6割方予想通りだけどねー。。
* こういったトラブルを迅速に解決出来るようになるのも
* PG基礎戦力強化として重要。とても重要。
* なんて悠長な事言ってると試験間に合わない。
* このジレンマは辛い。
*
* ドーラ「泣き言なんて聞きたかないね。なんとかしな。」
*/
0 件のコメント:
コメントを投稿