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つだけですが、以下の順序に従う必要はありません。 それぞれのシナリオには、障害を発生させる独自の追加設定が含まれています。残りの手順を実行して、この障害を修復します。 |
トピック・リストに戻る
"停止"データベースの診断と修復を行うには、以下の手順に従います。
| 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」をクリックします。

|
トピック・リストに戻る
ブロック破損の診断と修復を行うには、以下の手順に従います。
| 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;

|
トピックに戻る
"停止"データベースの診断と修復を行うには、以下の手順に従います。
| 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コマンドラインを使用した"停止"データベースの修復 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|