このチュートリアルでは、Support Workbenchを使用してデータ・ディクショナリの破損を分析する方法について説明します。
約30分
このチュートリアルでは、以下について説明します。
| 概要 | ||
| 前提条件 | ||
| データ・ディクショナリの破損の設定 | ||
| ディクショナリの整合性チェックの作成 | ||
| アクティブなインシデントのレビュー | ||
| 問題のパッケージの作成 | ||
| クリーンアップ | ||
| まとめ | ||
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。スクリーンショットをクリックすると、非表示になります。
Oracle Enterprise Manager Support Workbench(Support Workbench)は、調査やレポート、問題(重大なエラー)の修復など、グラフィカル・インタフェースで実現するすべてに使いやすい機能です。Support Workbenchは、最初に障害が発生した診断データの収集、サポート要求番号の取得、Oracle Supportへの診断データのアップロードなどを、自分の手で最小限の手間と非常に短時間で実施できる機能を提供し、問題の解決にかかる時間を削減します。また、Support WorkbenchはOracleアドバイザへの簡単なアクセスを提供することで、SQL関連の問題やデータ破損の問題などの修復を補助します。
このチュートリアルを始める前に、次の手順を完了している必要があります。
| 1. | Oracle Database 11gがインストールされていること |
|
| 2. | swkbnch.zipファイルをダウンロードし、作業ディレクトリに解凍してあること |
|
このチュートリアルでは、データ・ディクショナリの破損を分析してからSupport Workbenchを使用して問題を分析し、パッケージしてOracle Supportに送信します。このセクションでは、問題を設定します。以下の手順を実行します。
| 1. | ターミナル・ウィンドウを開きます。ファイルを解凍したディレクトリから次のコマンドを実行し、データ・ディクショナリの破損を作成します。 ./corr_setup.sh
|
問題の分析を開始するため、ディクショナリの整合性チェックを作成し、データ・ディクショナリのヘルス・チェックを起動します。以下の手順を実行します。
| 1. | ブラウザを起動し、次のURLを入力します。 http://<hostname>:1158/em ユーザー名にsysを、パスワードにoracleを入力し、Connect Asで「SYSDBA」を選択した後、「Login」をクリックします。
|
| 2. | ホームページでスクロール・ダウンして、Related Linksの下にある「Advisor Central」を選択します。
|
| 3. |
「Checkers」タブを選択します。
|
| 4. | 「Dictionary Integrity Check」をクリックします。
|
| 5. |
Parameter Run Nameの値にDicoCheck1と入力し、「OK」をクリックします。
|
| 6. | チェックの実行に成功しました。詳細を表示するには、リストから「DicoCheck1」を選択し、「Details」をクリックします。
|
| 7. |
いくつかのデータ破損が確認できます。とくに、次の結果が表示されます。"SQL dictionary health check: invalid column number n on object TAB$ failed"。これは、HR.OBETABLEを参照するTAB$内の行と対応します。「Database」ブレッドクラムをクリックします。
|
このセクションでは、問題をさらに調査します。以下の手順を実行します。
| 1. | ホームページで、Alertsセクションを確認します。最近検知された破損に対する新しい重大アラート(データ障害)が表示されていることがわかります。
|
| 2. | ターミナル・ウィンドウに戻り、以下のコマンドを実行します。 sqlplus / as sysdba alter system flush shared_pool; alter system flush buffer_cache; select * from hr.obetable;
end-of-file on communication channelエラーが発生したことを確認します。これは、何かが確実に間違っていることを示します。そこで、問題を調査します。
|
| 3. | Oracle Enterprise Managerに戻り、HomeページのDiagnostic Summaryセクション内にActive Incidentがあることを確認します。数字のリンクを選択します。
|
| 4. | Support Workbench Problemsページには、ORA 7445 [qcstda()+515]に似たDescriptionをもつ新しいActive Incidentが表示されています。 +を選択して問題の詳細を開き、Incident番号をクリックします。
|
| 5. | Incident Detailsページが表示されます。Incident番号を確認します。Application Informationセクションで、SQL Text文の'select * from hr.obetable'がインシデントを引き起こしたことがわかります。また、2つのダンプ・ファイルが生成されたことも表示されています。 Problem Detailsブレッドクラムをクリックします。
|
修復できない問題であれば、Oracle Supportに通知する必要があります。Oracle Supportでは、開発に対して効果的に報告できるよう、できるかぎりの詳細を収集して問題が何であるかを特定しようとします。これを行うには、問題をパッケージ化してOracle Supportに送信します。以下の手順を実行します。
| 1. | Problem DetailsページのInvestigate and Resolveセクションで、「Quick Package」を選択します。
|
| 2. | Create New PackageウィンドウのSend to Oracle Supportで「No」を選択します。
|
| 3. | ページがリフレッシュされたら、「Next」をクリックします。
|
| 4. | パッケージされるインシデントが一覧表示されたら、「Next」をクリックします。
|
| 5. | マニフェストの詳細が表示されます。「Next」をクリックします。
|
| 6. | Immediatelyが選択されていることを必ず確認し、「Submit」をクリックします。
|
| 7. | パッケージを生成しています。
|
| 8. | パッケージのファイルの生成に成功しました。「OK」をクリックします。
|
| 9. | パッケージを表示するには、SummaryセクションのPackagedの下にある「Yes」をクリックします。
|
| 10. | 生成されたファイルを選択し、「View」をクリックします。
|
| 11. | Packaging Detailsウィンドウで、「Files」タブを選択します。
|
| 12. | パッケージに含まれるファイルの一覧が表示されます。これで、このパッケージをOracle Supportに送信して詳細な分析を受けることができます。
|
問題を分析した結果、TAB$のOBETABLEにあるいくつかの列が間違っていることがわかります。問題を解決するには、TAB$を更新して問題を終了する必要があります。以下の手順を実行します。
| 1. | ターミナル・ウィンドウに戻り、以下のスクリプトを実行します。 ./corr_fix.sh
|
| 2. | Oracle Enterprise Managerに戻り、Problems in Packageの横にあるリンクをクリックします。
|
| 3. | 問題の前にあるチェックボックスを選択し、「Close」をクリックします。
|
| 4. | 確認するため、「Yes」をクリックします。
|
| 5. | インシデントは終了しました。
|
このチュートリアルで学習した内容は、次のとおりです。
| ディクショナリの整合性チェックの作成 | ||
| アクティブなインシデントのレビューおよび調査 | ||
| 問題のパッケージの作成 | ||
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。