常駐先で、ORACLEデータベースの管理やってます。ORACLE Platinum10g、データベーススペシャリスト保有してます。データベースの話をメインにしたいです

データベース障害発生!!サポートと迅速に解決する5つのポイント

»

先週は、航空関係の大きなシステム障害があり、航空機の遅延や欠航が相次ぎました。

データベースサーバーが原因だったようで、データベースを管理するものとしては、他人事とは思えませんでした。

そこで、今回は障害が発生した場合、どうやったら迅速に解決できるかをコラムにしました。
障害の大小によらず、原因調査を後回しにして、復旧を優先することが多いです。
その際、サポートセンターの力を借りることがあります。
サポートとのやり取りが、復旧を早めるキーポイントになります。
※コラムでは、データベースはORACLEを想定します。
 また、サポートとのやり取りは、電話とメールを想定します。

■データベースが起動しない
ある機能が動かなくなった。
問い合わせを行った状態で画面から応答が無い、との連絡が顧客から来ました。
調査した結果、データベースがダウンしていた!
復旧させようと、起動コマンドを実行しても、起動しない!!

■サポートを使って解決する5つのポイント
さて、こんな状況でサポートに問い合わせます。

ここで、問題解決のためにサポートとやり取りするわけですが、緊急事態なので時間はありません。
サポートと協力して迅速に解決するには、どうしたらいいか?
私の経験から、スムーズにやり取りするには、以下のようなポイントがあります。
まずは、サポートに電話を掛けることからスタートです。

・1.環境を押さえておく
 環境に関する情報は、必ず訊かれます。
  ・ORACLEのバージョン
  ・データベースサーバについて(OSの種類とバージョン)
 こういった状況だと慌てて、スラスラ出てこないものです。
 私は自分の机に、バージョン情報が書かれた紙を常に置いています。
  例)
  OS:Windows Server 2008 Enterprise(SP2)
  Oracle:Oracle 11.2.0.4.0 Enterprise Edition

 起きている事象についても、軽く訊かれます。
 その際は、以下のことも伝えます。
  ・本番環境で発生していること
  ・業務サービスに影響が出ていること
  ・原因追及よりも、復旧を優先して調査してほしいこと

 サポート側は、常にいくつかの問い合わせを抱えています。
 その中で、本番環境での障害は優先してもらう必要があります。
 そのため、上記のようなことをしっかり伝えて、優先して調査してほしいことを、依頼します。
 私の場合、障害の規模によっては、サポートを通じて、ORACLE社へのエスカレーションを依頼しています。

・2.予想をたてて調査依頼をする
 電話の後は、メールで詳細な状況をサポートに伝えるわけですが、出来ればその前に一つしておきたいことがあります。
 自分で調査してみて、こういったことが原因じゃないでしょうか?とメールに書いておくと、サポートも調査が進めやすいです。
 ある程度あたりをつけておくと、回答が早くなる場合があります。
 あたりがつかなくても、思い当たる些細な情報を書きます。
 「最近、データベースを再起動しました。」
 「初めて動かした機能です。」
 など。

・3.提出できるものは、初回のメールで出しておく
 大事なのは、サポートに調査を進めてもらうことです。
 サポート側には、こちらと同じ環境が無いので、事象だけ訊いても調査を進められません。
 後で、ログの提出を求められるはずです。
 先に初回のメールで、送付してしまいましょう。
 私は以下のような情報を送付しています。
 ※データベースの状況によっては取得できないものもあります。
  ・ORACLEのログ(alertログ、traceログ)
  ・OSのログ
  ・ORACLEのAWR
  ・データベースの初期化パラメータ
  ・障害発生時間帯に実行されたSQL

 取得に時間が掛かるようであれば、ORACLEのログ(alertログ、traceログ)と初期化パラメータだけは送付しましょう。
 サポートに調査をしてもらいながら、取得出来次第、こちらから、さみだれで送付します。
 送付した情報だけでは、調査が進まない場合、追加情報の取得を依頼されます。
 ですが、データベースの状況によっては、取得できない場合もあります。
 そういった場合、別の情報で調査が出来ないか訊きます。
 または、今ある情報で調査を進めてもらうことをお願いします。
 
・4.報告期限を伝える
 サポートから回答を得ることが目的ではなく、障害復旧が目的です。
 回答期限を伝えて、それまでに何らかの回答を貰えるように依頼します。
 期限を決めても、最終回答に至らないことが告げられることがあります。
 そういった場合、「分かったところまででいいので回答を下さい」と、回答目途を訊いておきます。
 開発側だけでなく、システムを利用するお客様も、いつ復旧するのか心配しています。
 お客様に何時に、どこまで復旧するか伝える必要があります。
 そのため、サポートの回答が何時頃来るのかも、把握しておく必要があります。

・5.電話でフォローする
 メールだけでやり取りしていると、齟齬が出ます。
 行き違いが原因で、サポート側で間違えた方向に調査が進んで、時間がもったいないことがあります。
 サポートとのやり取りや回答で、こちらの思っていることと異なる内容や、疑問に思ったことがあれば、電話で話すようにします

■一番成長するのがこの時期
障害の程度にもよりますが、普段のまったりモードから、一気に忙しくなります。
同じ一時間でも、いつもの何倍もの仕事を捌かないといけないです。
情報収集、お客様への報告書作成、検証環境での再現確認、サポートとのやりとり、、、
これらをほぼ同時進行で行います。
その間にも、業務サービスは止まっているので、「いつ復旧するのか?」と訊かれます。
結構つらいですが、一番成長するのがこの時期です。
諦めることが許されないので、前に進むしかないです。

■復旧後もやり取りは続く、、、、
サポートのお陰で、無事に障害復旧したとしても、これで終わりではありません。
今までは、業務サービスを再開させるために復旧優先でやり取りを行っていましたが、ここからは、障害についての原因追及が
始まります。
原因を突き止めることで、再発防止の対策を考えることが出来ます。
ただ、今ある情報だけでは原因追及までできないこともあります。
そのようなときは、再現を待つことになるのですが、本番環境で再現するのを待つわけにはいきません。
何とか、開発環境で再現をさせるよう努力したり、MOS(My Oracle Support)で類似の事象が記載されていないか調査を進めます。
本番環境で再発する前に、対策を決める必要があります。
復旧作業で身も心もボロボロになっていますが、何とか調査を進めます。

■お世話になってます
バグ情報や障害事例といった情報については、こちらが知らないことばかりです。
謎のORA-600が発生したときは、こちらで調査をしても答えが出ません。
そういう意味でも、未知の問題に遭遇したときは、サポートに頼らざるを負えません。
問い合わせをして、1時間以内に解決策を出してもらえた時は、本当にありがたかったです。
サポートには、いつもお世話になっています。

Comment(4)

コメント

ハリコフ

障害対策の基本ですよね。
若いころは、理屈では分かっていても、現実に遭遇すると焦って対応が出来なかった記憶がよみがえってきました(笑)

私も障害時はサポートに頼るのですが、勤め先では平日の日中の時間しか契約してくれなくて、休日や夜間はサポートに頼れません。そして、夜間バッチでORA-何たらで異常終了すると。

頼れるものが無い状態で、朝までに復旧しなければならないとなった時には、上司を恨んだものです。

湯二

ハリコフさん、コメントありがとうございます。
私も、初めての障害対応は、何から手を付けていいかわかりませんでした。
結局、前任者の方に来ていただいて助けてもらいました。

休日夜間が使えないのは辛いですね。
決まって夜間バッチや、休日に何かが起こるんですよねー。^^;

確かに、復旧させるのは必須です。
それまで、帰らせてくれませんね。。。

あすと

障害対応中にひたすら電話で状況確認だけしかしない上司が一番の障害。

湯二

あすとさん、コメントありがとうございます。

(笑)それも辛いですね。。。
障害対応中は、ご飯食べに行く暇がないので、確認ついでに現場に来て、差し入れしてくれたら、嬉しいです。

コメントを投稿する