実録! DBA1.0 vs. DBA2.0 障害対応対決

Oracle管理者のための「時間術」

 

 
初音玲
2009/3/6

DBA 2.0の障害対応:誰がやっても4分以内!

 「データベースにつながらなくなった。」

 と連絡を受けた場合、DBA2.0はEnterprise Manager Database Controlに接続してデータベースインスタンスの状態を確認する。

●手順1 データベースインスタンスの状態を確認(21時23分10秒)fig1

 状態を確認した結果、リスナーが落ちて接続できないのではなくデータベースインスタンスが落ちている表示になっている。単純に起動するだけで使用可能になるかもしれないので[起動]ボタンをクリックしてみたがエラーが発生して起動できないようだ。

 そこで[リカバリの実行]ボタンをクリックしてインスタンスのリカバリを試みる。

●手順2 OSユーザーの指定
fig1

 なお、リカバリの実行時にOSユーザーの権限が必要な操作を行う場合があるので、ここではDBA権限のあるホストユーザー(OSユーザー)を指定しておき、アクセス権がないためにリカバリが実行できない、といったことがないようにしている。

●手順3  Oracleユーザを指定
fig1

 OSユーザーを記録させたら、Oracle Databaseと接続するのに必要なSYSDBA権限を持ったDBユーザーとパスワードでログインを行う。

●手順4 リカバリの実行
fig1

 リカバリの実行画面では、障害状況概要が[情報]として表示されている。

 図7を見れば分かるとおり、1件のデータベース障害が検出されている。ここからは、データベースのマウントはできているが、オープンできないという状況が読み取れるはずだ。

 ここからすぐに[アドバイスとリカバリ]ボタンまたは[リカバリ]ボタンをクリックしてリカバリを開始することもできるが、ここでは[データベース障害]リンクをクリックして障害状況の詳細を見てみよう。

●手順5 障害内容の確認(21時24分56秒)
fig1

 障害の詳細表示を見れば今回の障害の原因が「データファイル4: ’/u01/app/oracle/oradata/orcl/users01.dbf’が見つかりません」というエラーであることがすぐに分かる。

 ここではファイルが見つからない理由や、なぜこのファイルが消えたのかまでは分からないが、データベースが止まった理由として報告するのに必要な情報なので画面ハードコピーなどを取得しておくといい。

注:今回は稼働中に該当ファイルをOSコマンドから削除して発生させた。
●手順6 修復のアドバイスの確認
fig9

 障害からのリカバリはバックアップおよびアーカイブログからRMAN(Recovery Manager)を使ってリカバリを行うことになるが、障害の内容によっては手動でリカバリが行える可能性もある。今回のケースでも図8で[アドバイス]ボタンをクリックして復旧方法のアドバイスを確認してみると、ファイルが見つからなかった理由がファイル名の変更かファイルの移動であるなら、元の位置の元のファイル名にして戻すことで手動リカバリが可能であるとの助言を得られる。

 手動リカバリは無理なので、図9の[障害の再評価]ボタンではなく[アドバイスの続行]ボタンをクリックしてRMANを使ったリカバリ方法を表示する。

●手順7 リカバリスクリプトの表示

 RMANスクリプトが表示されるのでこれもハードコピーを保存しておけば、どのように復旧したかの説明資料になるだろう。この例では削除されたデータファイル4をrestoreしてからrecoverしようとしている。この2つのコマンドによりRMANはフルバックアップしたファイル、アーカイブログおよびREDOログから障害が発生する寸前の状態を復元しようと試みる。

●手順8 解決する障害の確認
fig

 該当のRMANスクリプトにより復旧する障害を確認する。今回は、このスクリプトだけで障害すべてに対応できるようだ。問題ないようなので[リカバリ・ジョブの発行]ボタンをクリックしよう。

●手順9 リカバリの実行(21時26分09秒)
fig

 リカバリの実行中画面に遷移したらあとはリカバリが終わるのを待つだけだ。

●手順10 リカバリの完了(21時26分14秒)
fig

 リカバリが完了したら[データベースをオープン]ボタンをクリックすれば、データベースのオープンが行われて利用可能状態になる。

●手順11 データベースのオープン(21時27分01秒)

 作業時間の実測結果は、21時23分10秒〜27分01秒までなので時間的には4分で解決できたことになる。事前にRMANのコマンドなどの調査も不要でGUIの指示に従っての作業なので必須ノウハウのハードルも低いし、何より表示された結果を見て、次に投入するツールやコマンドを考えなくてもいいのは非常に「お手軽」だ。

前のページへ 3/4 次のページへ

Index
Oracle管理者のための「時間術」

Page 1
・かつてOracleメンテナンス担当は三重苦だった!?
 9iまでの「職人芸」とそれ以降
・Round0:障害対応対決〜両者のスペック
 DBA 1.0のシステム構成
 DBA 2.0のシステム構成

Page 2
・Round1:障害対応対決
 DBA 1.0の障害対応:達人クラスで作業時間5分
→ Page 3
 DBA 2.0の障害対応:誰がやっても4分以内!

Page 4
・Round2:ボトルネック調査対決
 DBA 1.0の対応:「もう1回発生したら分かるかも」
 DBA 2.0の対応:問題のクエリを即、究明
・最後に:少ない作業コストで状態把握を
Databaseフォーラム全記事インデックス


Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間