11 データベースの変更がSQLのパフォーマンスに与える影響の分析
SQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)およびSQLパフォーマンス・アナライザを使用すると、データベースの変更がSQLのパフォーマンスに与える影響を評価できます。
次の項では、SPAクイック・チェックとSQLパフォーマンス・アナライザについて説明します。
11.1 SPAクイック・チェックについて
SQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)は、データベースを変更する前に、その変更がSQLのパフォーマンスに与える影響を検証します。
SPAクイック・チェックは、データベースに対する変更がパフォーマンスに影響する可能性のある特定のEM Expressデータベース管理ページで使用できます。
SPAクイック・チェックを使用して、次の場合のSQLパフォーマンスに対する影響を検証します。
-
セッションで変更可能な初期化パラメータの値の変更
-
SQLプロファイルの実装
SPAクイック・チェックは、使用する前に構成する必要があります。
11.2 SPAクイック・チェックの構成について
この項では、SPAクイック・チェック構成の概要を示します。
SPAクイック・チェックを使用してデータベース変更の影響を検証する前に、SPAクイック・チェックのデフォルト設定を指定する必要があります。
SPAクイック・チェックのデフォルト設定の1つとして、使用するSPAクイック・チェックのデフォルトSQLチューニング・セットを指定します。このSQLチューニング・セットには、パフォーマンスを分析するSQL文が含まれている必要があります。
11.2.1 SQLチューニング・セットについて
SQLチューニング・セット(STS)は、1つ以上のSQL文がその実行統計および実行コンテキストとともに含まれているデータベース・オブジェクトです。
APIを使用してSQLチューニング・セットを作成し、SQL文をSQLチューニング・セットにロードし、SQLチューニング・セットを別のシステム(本番システムに非常によく似たテスト・システムなど)に転送できます。
EM ExpressでSQLパフォーマンス・アナライザまたはSQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)を使用する前に、それらのデフォルト設定を指定する必要があります。これらのツールには、パフォーマンスを分析するSQL文(1つまたは複数)を含むSQLチューニング・セットが必要です。
関連項目:
-
SQLチューニング・セットの作成の詳細は、『Oracle Database SQLチューニング・ガイド』を参照
-
SQLチューニング・セットのロードの詳細は、『Oracle Database SQLチューニング・ガイド』を参照
-
SQLチューニング・セットの転送の詳細は、『Oracle Database SQLチューニング・ガイド』を参照
11.3 初期化パラメータの変更の影響の検証について
セッションで変更可能なデータベース初期化パラメータの値を変更する前に、SPAクイック・チェックを使用して、データベース・ワークロードに対するその変更の影響を検証できます。
セッションで変更可能なパラメータは、ALTER SESSION
文を使用して値を変更できる初期化パラメータです。
関連項目:
11.4 SQLプロファイルの実装の影響の検証について
SQLチューニング・アドバイザがSQL文に推奨したSQLプロファイルを実装する前に、SPAクイック・チェックを使用して、その文にSQLプロファイルを実装した場合の影響を検証できます。
SQLチューニング・アドバイザを使用してSQL文をチューニングした後で、そのSQL文のチューニングの結果ページの下部の「推奨の選択」セクションにチューニングの推奨がリストされます。チューニング推奨の1つで文のSQLプロファイルを作成する場合、「タイプ」列にはその推奨の「SQLプロファイル」の値が表示され、「推奨の選択」セクションに「SPAを使用した検証」ボタンが表示されます。
11.4.2 複数SQLプロファイルの実装の影響の検証について
SQLチューニング・アドバイザによって推奨された複数のSQLプロファイルを実装する前に、SPAクイック・チェックを使用して、それらのSQLプロファイルの実装がワークロードに与える影響を検証できます。
複数SQLプロファイルの推奨は、次のEM Expressページに表示されることがあります。
-
自動SQLチューニング・アドバイザが有効になっている場合、「SQLチューニング・アドバイザ」ページの「自動」タブには、タブの下部にある「上位SQL文」セクションに、文に対する複数のSQLプロファイル推奨がリストされることがあります。
-
SQLチューニング・タスクの「チューニング・タスクの結果」ページ。SQLチューニング・タスクには、SQLチューニング・アドバイザがSQLプロファイルの実装を推奨する複数のSQL文が含まれることがあります。「SQLチューニング・アドバイザ」ページの「手動」タブにSQLチューニング・タスクがリストされ、タスクを選択し、「結果の表示」をクリックして、そのタスクに対するすべての推奨を参照できます。
SQLパフォーマンス・アナライザがEM Expressページで複数のSQLプロファイルの実装を推奨した場合、ページの「上位SQL文」セクションには、「すべてのプロファイルをSPAを使用して検証してください」ボタンがあります。
11.5 SQLパフォーマンス・アナライザについて
SQLパフォーマンス・アナライザは、SQL文ごとのパフォーマンスの相違を識別することで、SQLワークロードに対するデータベース変更の全体的影響を評価するプロセスを自動化します。
レポートには、変更によるワークロード・パフォーマンスへの最終的な影響が示されます。SQLパフォーマンス・アナライザでは、パフォーマンスが低下しているSQL文に適した詳細な実行計画や推奨の調整方法を提供します。これによって、エンド・ユーザーに影響が及ぶ前に、望ましくない結果を修正することができます。また、(時間とコストを大幅に節約しながら)本番環境のシステム変更が最終的なパフォーマンス向上につながることを検証できます。
SQLパフォーマンス・アナライザを使用する前に、パフォーマンスを分析するSQL文を含むSQLチューニング・セットが必要であり、SQLパフォーマンス・アナライザのデフォルト設定を指定する必要があります。
SQLパフォーマンス・アナライザ・タスクは、SQLパフォーマンス・アナライザの完全な分析に関するすべてのデータがカプセル化されているコンテナです。SQLパフォーマンス・アナライザの分析は、2つ以上のSQL試行と1つの比較で構成されています。SQL試行で、特定の環境条件下でのSQLチューニング・セットの実行パフォーマンスがカプセル化されます。SQLパフォーマンス・アナライザ・タスクを作成する場合は、入力ソースとしてSQLチューニング・セットを選択すると、SQL試行の実行時にSQLチューニング・セットがSQL文のソースとして使用されます。
SQLパフォーマンス・アナライザ・タスクの作成後に、変更前のSQL試行を作成します。次に、SQLパフォーマンスへの影響を評価するデータベース変更を行います。データベース変更を行った後で、変更後のSQL試行を作成します。最後に、2つの試行を比較します。
SQLパフォーマンス・アナライザは、2つの試行間での環境の相違による影響を表示します。
11.6 SQLパフォーマンス・アナライザのデフォルト設定の指定
SQLパフォーマンス・アナライザを使用する前に、ツールのデフォルト設定を変更するオプションがあります。
関連項目:
11.6.1 SQLパフォーマンス・アナライザ・タスクの作成
SQLチューニング・セットを入力ソースとして使用して、SQLパフォーマンス・アナライザのタスクを作成します。
SQLパフォーマンス・アナライザ・タスクの作成後に、SQL試行を作成できます。通常は、変更前のSQL試行を作成し、データベース変更を行ってから、変更後のSQL試行を作成します。
11.6.2 変更前のSQL試行の作成
SQLパフォーマンス・アナライザ・タスクの作成後に、SQLパフォーマンス・アナライザを使用して変更前のSQL試行を作成できます。
変更前のSQL試行が完了した後、SQLパフォーマンスへの影響を評価するデータベース変更を行い、変更後のSQL試行を作成します。
関連項目:
11.6.3 変更後のSQL試行の作成
変更前のSQL試行を作成し、データベース変更を行った後で、変更後のSQL試行を作成できます。
変更後のSQL試行を完了した後、変更前のSQL試行と変更後のSQL試行を比較して、データベース変更のSQLパフォーマンスへの影響を評価します。
関連項目:
11.6.4 2つのSQL試行の比較
変更前のSQL試行と変更後のSQL試行が作成された後で、SQLパフォーマンス・アナライザを使用して、2つのSQL試行を比較して、データベース変更がSQLのパフォーマンスに与える影響を評価できます。
「上位SQL文」セクションには、2つの試行の上位SQL文の比較が表示されます。
「ステータス」列には、各文についてパフォーマンスが向上したか、低下したか、変化なしかが表示されます。
「カテゴリ」フィルタを使用してすべての上位SQL文を表示するか、使用可能なカテゴリの1つのSQL文のみ表示します。
関連項目:
11.7 データベースの変更がSQLのパフォーマンスに与える影響の分析: Oracle by Example Series
Oracle by Example(OBE)には、『Oracle Database 2日でデータベース管理者』に関するシリーズが含まれています。このOBEシリーズでは、この項のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
-
データベースの変更がSQLのパフォーマンスに与える影響の分析
-
SQLパフォーマンス・アナライザを使用したSQL試行の作成および比較
-
前述のチュートリアルのクリック可能なリストを表示するには、「データベースの変更がSQLのパフォーマンスに与える全体的な影響の分析シリーズ」に移動します。
-
チュートリアル・シリーズを介してシームレスにナビゲートするには、次のリンクにアクセスしてください。
データベースの変更がSQLのパフォーマンスに与える全体的な影響の分析
ペイン下部にある「>」ボタンをクリックして、チュートリアル間を移動できます。