SQLアクセス・アドバイザによるスキーマ設計の改善

このチュートリアルでは、スキーマ設計を拡張するSQLアクセス・アドバイザの使用方法について説明します。

約40分

トピック

このチュートリアルでは、以下のトピックについて説明します。

このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。スクリーンショットをクリックすると、非表示になります。

概要

SQL問合せを最適化する適切なアクセス構造の定義は、常にOracle DBAの懸案事項です。その結果、これに対処するために開発された高性能なツールとともに多くの文書およびスクリプトが作成されました。また、パーティション化およびマテリアライズド・ビュー・テクノロジーの開発によって、アクセス構造の決定がさらに複雑になりました。Oracle Database 10gおよびOracle Database 11gの管理性の改善の一部として、この非常に重要なニーズに対処するためにSQLアクセス・アドバイザが導入されました。

SQLアクセス・アドバイザは、索引、マテリアライズド・ビュー、マテリアライズド・ビュー・ログ、あるいは作成、削除、または保存するパーティションを推奨して、SQL文の実行に関連するパフォーマンスの問題を識別して解決します。PL/SQLプロシージャの使用によって、Oracle Database Controlまたはコマンドラインから実行できます。

トピック・リストに戻る

このチュートリアルを始める前に、以下を確認してください。

1.

Oracle Database 11gがインストールされていること

2.

作業ディレクトリへsqlaccadv.zipファイルをダウンロードして解凍していること。また、作業ディレクトリへ移動していること。

トピック・リストに戻る

SQLアクセス・アドバイザの使用

SQLアクセス・アドバイザは、入力として実際のワークロードを取得します。また、スキーマから仮想ワークロードを抽出できます。次に、高速実行パスのアクセス構造を推奨します。以下の利点があります。

次のシナリオは、SQLアクセス・アドバイザで実行できる推奨事項のタイプを示しています。 また、SQLアクセス・アドバイザの推奨事項が適切なことを証明するためにSQLパフォーマンス・アナライザを使用します。

以下の手順を実行して、SQLアクセス・アドバイザの使用方法について学習します。

1.

User Nameをoracleとして接続したターミナル・セッションから、sqlaccessadv_setup.shスクリプトを実行します。このスクリプトは、このOBE全体で使用するために必要なデータを生成します。特に、分析するワークロードを表すために使用されるSQLチューニング・セットを生成します。

./sqlaccessadv_setup.sh

 

2.

User Nameをsh(パスワードはsh)としてOracle Enterprise Manager Database Controlに接続します。HomeページのRelated Linksセクションで「Advisor Central」リンクをクリックします。

 

3.

Advisor Centralページで「SQL Advisors」リンクをクリックします。SQL Advisorsページで「SQL Access Advisor」リンクをクリックします。

 

4.

Initial Optionsページで、「Inherit Options from a previously saved Task or Template」を選択し、「SQLACCESS_WAREHOUSE」テンプレートを選択します。次に、「Continue」をクリックします。

 

5.

Workload Sourceページで、「Use an existing SQL Tuning Set」を選択して、SQL Tuning SetフィールドにSH.SQLSET_MY_SQLACCESS_WORKLOADと入力します。このSQLチューニング・セットは、前に生成されたものです。分析するウェアハウス・ワークロードを示しています。次に「Next」をクリックします。

 

6.

Recommendation Optionsページで、可能なすべてのアクセス構造とComprehensiveが選択されていることを確認します。次に「Next」をクリックします。

 

7.

ScheduleページのTask NameフィールドにMY_SQLACCESS_TASKと入力します。次に「Next」をクリックします。

 

8.

Reviewページで「Submit」をクリックします。

 

9.

Advisor Centralページに戻り、SQLアクセス・アドバイザのジョブが終了するまで待機します。 必要に応じて、「Refresh」をクリックして、画面を更新します。 タスクのステータスがCOMPLETEDと表示されたら、Results表の「MY_SQLACCESS_TASK」リンクをクリックします。

 

10.

Resultsページが表示されます。このページから、ワークロードにSQLアクセス・アドバイザの推奨事項を実装することの潜在的な利点を確認できます。「Recommendations」サブタブをクリックします。

 

11.

Recommendationsサブページには、推奨事項の概要が表示されます。基本的に、可能なすべてのタイプの推奨事項がこのワークロード用に生成されました。すべての推奨事項が選択されていることを確認して、「Recommendation Details」ボタンをクリックします。各推奨事項の詳細と、それらの推奨事項によって影響を受けるワークロードの対応するSQL文が確認できるDetailsページが表示されます。「OK」をクリックします。

 

12.

Recommendationsサブページに戻って、「Schedule Implementation」ボタンをクリックします。

 

13.

Schedule Implementationページで、管理者の詳細な確認が必要な、非常に重要な変更のある推奨事項をウィザードが実装しないように警告が表示されます。このため、「Show SQL」ボタンをクリックして、すべての推奨事項の実装に使用できるスクリプトを確認します。 このスクリプトはすでに作成されており、後で使用します。スクリプトを確認してから、「Done」をクリックします。Schedule Implementationページに戻って、「Cancel」をクリックします。

 

14.

右上隅の「Database」タブ、「Software and Support」タブの順にクリックします。Software and Supportページで「SQL Performance Analyzer」リンクをクリックします。次に、推奨事項の実装が有益であることを証明します。

 

15.

SQL Performance Analyzerページで、「Guided Workflow」リンクをクリックします。

 

16.

Guided Workflowページで、Step1の「Execute」アイコンをクリックします。 Create SQL Performance Analyzer TaskのSQL Performance Analyzer Task NameフィールドにMY_SPA_TASKと入力します。SQL Tuning Set NameフィールドにSH.SQLSET_MY_SQLACCESS_WORKLOADと入力します。次に、「Create」をクリックします。

 

17.

Guided Workflowページに戻って、Step2の「Execute」アイコンをクリックします。 Create SQL Trialページで、SQL Trial NameフィールドにMY_SQL_REPLAY_BEFOREと入力して、Trial environment establishedチェック・ボックスが選択されていることを確認します。次に、「Submit」をクリックします。

 

18.

ターミナル・セッションから、SQL*PlusのUser Nameはsh(パスワードはsh)として接続します。SQL*Plusセッションで、implement.sqlスクリプトを実行します。このスクリプトは、SQLアクセス・アドバイザ・セッションで以前に生成した推奨事項に対応する事前作成スクリプトです。

@implement.sql

 

19.

Guided Workflowページに戻って、Step3の「Execute」アイコンをクリックします。 Create SQL TrialページのSQL Trial NameフィールドにMY_SQL_REPLAY_AFTERと入力します。Trial environment establishedチェック・ボックスが選択されていることを確認して、「Submit」をクリックします。

 

20.

Guided Workflowページに戻って、Step4の「Execute」アイコンをクリックします。 Run SQL Trial Comparisonページで、MY_SQL_REPLAY_BEFOREとMY_SQL_REPLAY_AFTERを比較していることを確認します。「Submit」をクリックします。

 

21.

Guided Workflowページに戻って、Step5の「Execute」アイコンをクリックします。 SQL Performance Analyzer Task Reportページで、SQLアクセス・アドバイザの提案により実施した変更によって、2回目のトライアルが最初のトライアルよりもはるかに高速なことを確認できます。

 

トピック・リストに戻る

このチュートリアルでは、SQLアクセス・アドバイザの使用方法を学習しました。

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。