2017年1月15日日曜日

ORACLE障害が発生した場合、どうやったら迅速に解決できるか

障害が発生した場合、どうやったら迅速に解決できるか

障害の大小によらず、原因調査を後回しにして、復旧を優先することが多いです。
その際、サポートセンターの力を借りることがあります。
サポートとのやり取りが、復旧を早めるキーポイントになります。
※コラムでは、データベースは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時間以内に解決策を出してもらえた時は、本当にありがたかったです。
サポートには、いつもお世話になっています。

0 件のコメント:

コメントを投稿