0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->
Oracle Data Recovery Advisorの使用
目的
このチュートリアルでは、Oracle Data Recovery Advisorを使用してデータ障害を診断および修復する方法を紹介します。 ここでは、いくつかのシナリオを通じて学習します(以下を参照)。
所要時間
約60分
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。
(注意: この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合があります)。
注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
概要
Oracle Data Recovery Advisorについて
Oracle Data Recovery Advisorは、データの障害と破損を診断および修復するための支援ツールです。 Oracle Data Recovery Advisorは、症状に応じて障害を分析し、最適な修復方法を決定します。 また、診断した障害を自動的に修復することもできます。
トピック・リストに戻る
シナリオ
1. Oracle Enterprise Managerを使用した"停止"データベースの修復
最初のシナリオでは、データベースが"停止"しているとします。 本番環境においてこれは非常に危機的な状況であり、"企業を守る"ためにできる限り迅速に問題を解決する必要があります。 データベースを再開しようとしますが、これに失敗します。 次に、Oracle Enterprise Manager Database ControlからOracle Data Recovery Advisorを使用して、障害を診断します。 診断の結果、アクセス不能な2つのデータファイルがあることが判明します。 最初のデータファイルの問題については、手動修復オプションを使用します(データファイルの名前変更)。 この問題は、DBAが
ALTER DATABASE ... RENAME FILE
...コマンドを実行したにもかかわらず、システム管理者がオペレーティング・システムでデータファイルの名前を正しく変更しなかった場合に発生します。
最初のデータファイルの問題を解決した後、もう一度、Oracle Data Recovery Advisorに修復アドバイスを要求します。 2番目のデータファイルの問題については、自動修復オプションを使用して、損失したデータファイルのリカバリを行います。 最後に、データベースが稼働中であることを再確認します。
2. Oracle Enterprise Managerを使用したブロック破損の修復
このシナリオでは、いくつかの破損ブロックが確認されます。 Oracle Data Recovery Advisorを使用すると、最適なリカバリ方法としてブロック・メディア・リカバリが選択されます(全データベースやデータファイルのリカバリではない)。
3. Oracle Recovery Manager(Oracle RMAN)コマンドラインを使用した"停止"データベースの修復
このシナリオは最初のシナリオとまったく同じですが、Oracle RMANコマンドを使用して障害の診断および修復の手順を実行します。
トピック・リストに戻る
前提条件
このチュートリアルを始める前に、次のことを確認してください。
| 1.
|
チュートリアル
Installing Oracle Database 11g
on Linux
に従って、データベースをインストールします。
|
| 2.
|
dra.zipファイルを作業ディレクトリにダウンロードして解凍します。
|
| 3.
|
端末ウィンドウで作業ディレクトリに移動し、次のコマンドを実行します。
./dra_setup.sh
|
| 4.
|
一度に作業できるシナリオは1つだけですが、以下の順序に従う必要はありません。 それぞれのシナリオには、障害を発生させる独自の追加設定が含まれています。残りの手順を実行して、この障害を修復します。
|
トピック・リストに戻る
Oracle Enterprise Managerを使用した"停止"データベースの修復
"停止"データベースの診断と修復を行うには、以下の手順に従います。
| 1.
|
データ障害を発生させてデータベースを停止させるため、端末ウィンドウで作業ディレクトリに移動し、次のコマンドを実行します。
./dra1_setup.sh
users01.dbfデータファイルが削除され、
example01.dbfファイルの名前が変更されます。 手動修復オプションと自動修復オプションの両方を使用して、これらの障害の診断と修復を行います。
|
| 2.
|
次のURLを入力して、Oracle Enterprise Manager Database Controlにログインします(
<hostname>を
localhostまたは特定のホスト名に変更してください)。
https://<hostname>:1158/em
|
| 3.
|
シナリオ1で説明したとおり、データベースの"停止"が発生します。 障害を診断して、できる限り迅速にこれを修復します。 「
Startup」をクリックします。
|
| 4.
|
次の情報を入力して、「
OK」をクリックします。
ホスト資格証明
ユーザー名:
oracle
パスワード:
oracle
データベース資格証明
ユーザー名:
sys
パスワード:
oracle
接続名:
SYSDBA
|
| 5.
|
Startup/Shutdown Confirmationページで「
Yes」をクリックします。
|
| 6.
|
進捗ページが表示されます。
|
| 7.
|
データベースはマウント状態にあります。 詳細を確認する場合、「
View Details」をクリックします。
|
| 8.
|
データベースのステータス変化の詳細とエラー・メッセージを確認してから、「
OK」をクリックします。
|
| 9.
|
「
Perform Recovery」をクリックし、障害を診断して修復を実行します。
|
| 10.
|
データベース・ログイン・ページで次の情報を入力して、「
Login」をクリックします。
データベース資格証明
ユーザー名:
sys
パスワード:
oracle
接続名:
SYSDBA
|
| 11.
|
次の情報を入力して、「
Continue」をクリックします。
ユーザー名:
oracle
パスワード:
oracle
|
| 12.
|
ページ最下部までスクロールして、次の資格証明が有効であることを確認します。 次に、ページ最上部までスクロールして「
Advise and Recover」をクリックします。
ユーザー名:
oracle
パスワード:
oracle
|
| 13.
|
データベースが開かない場合、Oracle Data Recovery Advisorにより自動的に問題の診断が行われます。 診断結果を確認します。 障害の説明の下にある「
+」アイコンをクリックして詳細を確認します。
|
| 14.
|
推奨される修復方法を表示するには、すべての障害を選択したままで「
Advise」をクリックします。
|
| 15.
|
Manual Actionsページが表示され、Oracle Data Recovery Advisorにより手動修復の検討が指示されます。
「
Continue」を選択しないでください。
次の手順に従います。
|
| 16.
|
このデモでは、
example01.dbfデータファイルの名前が誤って変更されたことを前提としています。 端末ウィンドウに次のコマンドを入力して障害を手動修復します。
a)次のコマンドを入力して、データファイルを含むディレクトリに移動します。
cd $ORACLE_BASE/oradata/orcl
b)次のコマンドを入力して、ディレクトリの中身を表示します。
ls
c)次のコマンドを入力して、
example01データファイルの誤った名前を変更します。
mv example01.dbf.old example01.dbf
d)次のコマンドを入力して、修正したファイル名を表示します。
ls
e)次のコマンドを入力して、端末ウィンドウを終了します。
exit
|
| 17.
|
Oracle Enterprise ManagerのManual Actionsページに戻ります。 「
Re-assess Failure」をクリックします。
|
| 18.
|
Oracle Data Recovery Advisorによりすべての障害が再検証され、手動で修復した障害は表示されなくなります。 障害の説明の下にある「
+」アイコンをクリックしてノードを開き、他に未解決の障害があるかどうか確認します。
|
| 19.
|
手動で修復した障害は表示されませんが、オープン状態の障害が1つ残っています。 「
Advise」をクリックします。
|
| 20.
|
「
Continue with Advise」をクリックします。
|
| 21.
|
Oracle Data Recovery AdvisorによりOracle RMAN修復スクリプトが生成されます。 「
Continue」をクリックします。
|
| 22.
|
Reviewページに、障害およびその修復スクリプトが表示されます。 「
Submit Recovery Job」をクリックします。
|
| 23.
|
修復の実行が完了するまで待ちます。 Oracle Data Recovery Advisorは処理を終了すると、Repair Resultsページを表示します。 すべての修復結果を確認します。 縦方向のスクロールバーをクリックします。
|
| 24.
|
ページ最下部が表示されるまで縦方向のスクロールバーをドラッグします。 修復に成功した後に、データベースが開かれていることを確認します。 「
OK」をクリックします。
|
| 25.
|
Oracle Enterprise Managerのログイン・ページが表示されます。 次の情報を入力して、「
Login」をクリックします。
ユーザー名:
sys
パスワード:
oracle
接続名:
SYSDBA
|
| 26.
|
Availabilityページが表示されます。 「
Home」タブをクリックします。
|
| 27.
|
Database Instanceホームページで、データベース・インスタンスが稼働中であることを確認します (以下のようなページが表示されない場合、数分待ってからページを更新してください。 また、グラフィック要素はソフトウェアの本番リリース前に変更される可能性があります)。
手動修復と自動修復の両方を使用して停止データベースの修復を完了したため、「
Logout」をクリックします。
|
トピック・リストに戻る
Oracle Enterprise Managerを使用したブロック破損の修復
ブロック破損の診断と修復を行うには、以下の手順に従います。
| 1.
|
example01.dbfデータファイルでブロック破損を発生させるため、端末ウィンドウを使用して作業ディレクトリに移動し、次のコマンドを実行します。
./dra2_setup.sh
ブロック破損エラーは、通常このような形式でアプリケーション・ユーザーに表示されます。 DBAは、同じエラーをOracle Enterprise Manager Database Controlホームページで確認できます(後続の手順を参照)。 ただし、内部処理のため、エラーが検出されてからOracle Enterprise Managerにエラーが表示されるまで、わずかな遅延が発生します。
|
| 2.
|
次のURLを入力して、Oracle Enterprise Manager Database Controlにログインします(<hostname>をlocalhostまたは特定のホスト名に変更してください)。
https://<hostname>:1158/em
|
| 3.
|
次の情報を入力して「
Login」をクリックし、Oracle Enterprise Managerにログインします。
ユーザー名:
sys
パスワード:
oracle
接続名:
SYSDBA
|
| 4.
|
「
Availability」タブをクリックします。
|
| 5.
|
「
Perform Recovery」をクリックします。
|
| 6.
|
Perform Recoveryページに、Oracle Data Recovery Advisorにより破損ブロックが検出されたことが表示されます。 「
Advise and Recover」をクリックします。
|
| 7.
|
詳細を確認するには、障害の説明の下にある「
+」アイコンをクリックしてノードを開きます。
|
| 8.
|
ブロック破損の詳細を確認します。 すべての障害を選択したままで「
Advise」をクリックします。
|
| 9.
|
修復スクリプトを確認して、「
Continue」をクリックします。
|
| 10.
|
Reviewページで障害とその修復案を確認します。 「
Submit Recovery Job」をクリックします。
|
| 11.
|
ジョブが正しく作成されたことを示す確認メッセージが表示されます。 「
View Results」をクリックします
|
| 12.
|
ジョブが正しく実行されたことを確認してから、ページの右上にある「
Database」タブをクリックします。
|
| 13.
|
Database Instanceホームページで、ブロック破損のアラートを確認します。 DBAは定期的にこのページを監視するため、ブロック破損アラートを見つけることができます(表示にはわずかな遅延が発生します)。
|
| 14.
|
ブロック破損が修復されたことを確認するには、次のコマンドを入力します。
sqlplus sys/oracle as sysdba
select * from hr.regions;
|
トピックに戻る
Oracle RMANコマンドラインを使用した"停止"データベースの修復
"停止"データベースの診断と修復を行うには、以下の手順に従います。
| 1.
|
データ障害を発生させてデータベースを停止させるため、端末ウィンドウで作業ディレクトリに移動し、次のコマンドを実行します。
./dra1_setup.sh
users01.dbfデータファイルが削除され、
example01.dbfファイルの名前が変更されます。 手動修復オプションと自動修復オプションの両方を使用して、これらの障害の診断と修復を行います。
以下の行が表示されたら、設定は完了です。
|
| 2.
|
データベースが"停止"状態にあることが判明したため、次のコマンドを使用してデータベースの開始を試みます。
sqlplus / as sysdba
startup
データベースがマウント状態にあり、データファイル・エラーがあることを確認します。
|
| 3.
|
SQL*Plusを終了し、次のコマンドを使用してOracle RMANを開始します。
exit
rman target / nocatalog
|
| 4.
|
次のコマンドを実行して、障害およびその詳細を表示します。
LIST FAILURE;
LIST FAILURE DETAIL;
コマンドは大文字と小文字のどちらで入力しても構いません。
注: ベータ版のソフトウェアを使用する場合、以下のスクリーンショットとは異なることがあります。
|
| 5.
|
次のコマンドを入力して、障害を診断します。
ADVISE FAILURE;
次の手順が終了すると、このウィンドウに戻ります。
|
| 6.
|
このデモでは、
example01.dbfデータファイルの名前が誤って変更されたことを前提としています。 別の端末ウィンドウを開いて次のコマンドを入力し、障害を手動で修復します。
a)次のコマンドを入力して、データファイルを含むディレクトリに移動します。
cd $ORACLE_BASE/oradata/orcl
b)次のコマンドを入力して、ディレクトリの中身を表示します。
ls
c)次のコマンドを入力して、
example01データファイルの誤った名前を変更します。
mv example01.dbf.old example01.dbf
d)次のコマンドを入力して、修正したファイル名を表示します。
ls
e)次のコマンドを入力して、端末ウィンドウを終了します。
exit
|
| 7.
|
Oracle RMANウィンドウに戻り、次のコマンドを入力して、手動修復の結果を確認します。
ADVISE FAILURE;
|
| 8.
|
次のコマンドを入力して、修復スクリプトを表示します。
REPAIR FAILURE PREVIEW;
|
| 9.
|
次のコマンドを入力して自動修復を開始し、データベースを再開した後でOracle RMANを終了します。
REPAIR FAILURE;
. . . Do you really want to execute the above repair (enter YES or NO)?
YES
. . . Do you want to open the database (enter YES or NO)?
YES
exit
出力結果の一部は、次のようになります。
|
| 10.
|
SQL*Plusで次のコマンドを入力して、データベースが稼働中であることをテストします。
sqlplus / as sysdba
select open_mode from v$database;
exit
|
トピックに戻る
クリーンアップ
このOracle by Exampleを終了するか、または
前提条件からやり直す場合、次のコマンドを実行します。
| 1.
|
端末ウィンドウに次のコマンドを入力します。
./dra_cleanup.sh
出力結果の一部は、次のようになります。
|
トピック・リストに戻る
まとめ
このチュートリアルで学習した内容は、次のとおりです。
|
Oracle Enterprise Managerを使用した"停止"データベースの修復 |
|
Oracle Enterprise Managerを使用したブロック破損の修復 |
|
Oracle RMANコマンドラインを使用した"停止"データベースの修復 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|