ヘッダーをスキップ

Oracle Database 2日でデータベース管理者
10g リリース2(10.2)

B19197-03
目次
目次
索引
索引

戻る 次へ

10 データベースの監視およびチューニング

データベースの状態を監視し、データベースを最適な状態で稼働させることは、データベース管理者の重要なタスクです。この章では、データベースの状態の事前監視、パフォーマンス上の問題の特定および修正処置の実行を容易にする、Oracleデータベースの機能について説明します。

この項の内容は次のとおりです。

データベースの事前監視

Oracleデータベースを使用すると、データベースの状態およびパフォーマンスの事前監視が簡単になります。データベースの状態に関連する重要な信号(または、メトリック)を監視し、データベースに対して実行されるワークロードを分析し、管理者として注意する必要がある問題を特定します。特定された問題は、Enterprise Managerのアラートおよびパフォーマンス結果として表示されます。必要に応じて、電子メールを介して管理者に送信できます。

この項の内容は次のとおりです。

アラート

アラートは、データベースの監視に役立ちます。ほとんどのアラートは、特定のメトリックしきい値を超過した場合に通知されます。各アラートで、クリティカルおよび警告しきい値を設定できます。これらのしきい値は、境界値を意味します。これらの境界値を超えると、システムが好ましくない状態であることを示します。たとえば、表領域の使用率が97%になった場合、これは好ましくない状態であり、Oracleによってクリティカル・アラートが生成されます。

その他のアラートは、スナップショットが古すぎたり、再開可能なセッションが一時停止した場合などのデータベースのイベントに対応します。これらのタイプのアラートは、イベントが発生したことを示します。

通知の他に、スクリプトの実行などの操作をアラートに設定できます。たとえば、表領域オブジェクトを縮小するスクリプトは、表領域の使用率に関する警告アラートに有効です。

Oracleでは、次のアラートがデフォルトで有効です。

これらのアラートを変更したり、メトリックを設定して他のアラートを使用可能にできます。

詳細は、「アラートの管理」を参照してください。

自己診断の実行: Automatic Database Diagnostics Monitor

Oracleデータベースには、Automatic Database Diagnostic Monitor(ADDM)と呼ばれる自己診断エンジンが搭載されています。ADDMを使用すると、Oracleデータベースによってデータベース自身のパフォーマンスが診断され、特定された問題の解決方法が判断されます。ADDMを使用して、自動的なパフォーマンスの診断を容易にするため、Oracleデータベースでは、データベースの状態およびワークロードに関するスナップショットが定期的に収集されます。デフォルトでは、その収集間隔は1時間です。スナップショットでは、任意の時点でのシステムの状態に関する統計サマリーが提供されます。これらのスナップショットは、SYSAUX表領域にある自動ワークロード・リポジトリ(AWR)に格納されます。スナップショットは、設定された期間(デフォルトでは1週間)このリポジトリに格納された後、新しいスナップショットの領域を確保するために消去されます。

ADDMは、AWRに格納されたデータを分析し、システムに重大な問題がないかを判断します。また、多くの場合、解決策を提示し、予測されるメリットを定量化します。

通常、ADDMでフラグを付けることが可能なパフォーマンスの問題には次のものがあります。

データベースの一般的な状態およびワークロードの監視

Enterprise Managerのホームページで、データベースの状態を監視できます。ホームページの中央には、データベースの一般的な状態情報が表示され、定期的に更新されます。このページに、データベースの状態およびワークロードの監視に役立つ情報が報告されます。詳細は、図10-1「Enterprise Managerの「ホーム」ページ」を参照してください。

図10-1    Enterprise Managerの「ホーム」ページ


画像の説明

一般」セクションには、データベースが稼働しているか停止しているか、データベースが最後に起動した時間、インスタンス名およびホスト名など、データベースのクイック・ビューが表示されます。

ホストCPU」セクションには、システム全体のCPU使用時間の割合(パーセント)が表示されます。このチャートでは、CPUの使用率は、データベースによって使用された時間とその他のプロセスによって使用された時間に分割されます。CPU時間のほとんどがデータベースで占められている場合、「アクティブ・セッション」のサマリーでより詳細な原因を調査できます。このサマリーでは、CPUを使用しているプロセス、I/Oを待機しているプロセスなど、データベースで実行されているプロセスが表示されます。「CPU」などのリンクをクリックして、詳細な情報にドリルダウンできます。

CPU時間のほとんどが他のプロセスで占められている場合、データベースのあるマシンで実行されている他のアプリケーションで、パフォーマンスの問題が発生している場合があります。詳細に調査するには、「一般」の「ホスト」リンクをクリックします。このリンク先は、マシンの概要ページで、動作しているオペレーティング・システムの種類、マシンが稼働している期間、可能性のある問題などマシンに関する一般的な情報が表示されます。

パフォーマンス」プロパティ・ページをクリックして、CPU使用率、アクティブなセッション数の平均、インスタンス・ディスクI/Oおよびインスタンス・スループットのサマリーを表示します。「その他の監視リンク」を使用すると、「トップ・アクティビティ」や、その他のデータにドリルダウンできます。ホストのパフォーマンスを改善するために実行できる操作は、システムによって異なりますが、不要なプロセスの削除、メモリーの追加またはCPUの追加が含まれます。

ホームページでは、「診断サマリー」にADDMによるパフォーマンスの最新の診断のサマリーが表示されます。また、このセクションには、「アラート」セクションのクリティカルまたは警告アラートのサマリーが表示されます。

アラート」表に、発行されたアラートが、その重大度とともに表示されます。アラートは、メトリックしきい値を超えたことを通知します。たとえば、表領域で領域がなくなった場合にアラートがトリガーされます。

アラートがトリガーされると、アラートを発生させたメトリックの名前が「名前」列に表示されます。重大度を示すアイコン(「警告」または「クリティカル」)が、アラートの時間およびアラートの値が最後に調査された時間とともに表示されます。原因の詳細を調査するには、メッセージをクリックします。詳細は、「アラート」を参照してください。

パフォーマンス分析」セクションでは、ADDMによる最新の診断のクイック・サマリーが表示され、パフォーマンスに最も重大な影響を与えている問題が強調表示されます。この分析によって、データベース時間を消費しているSQL文などの問題を特定できます。詳細は、図10-2「「ホーム」ページの「パフォーマンス分析」」を参照してください。

図10-2    「ホーム」ページの「パフォーマンス分析」


画像の説明

詳細は、「自己診断の実行: Automatic Database Diagnostics Monitor」を参照してください。

アラートの管理

次の項では、アラートの管理方法について説明します。

メトリックおよびしきい値の表示

メトリックとは、Oracleで定義されるシステム属性に対する統計セットです。これらは、自動ワークロード・リポジトリによって計算および格納され、「データベース」の「ホーム」ページにある「関連リンク」の「すべてのメトリック」をクリックすると表示されます。

図10-3に、「すべてのメトリック」ページの一部を示します。このページには、AWRが計算するメトリックの一部が表示されています。特定のメトリックのリンクをクリックすると、詳細なページが表示され、メトリックに関する詳細情報が示されます。メトリックについては、このページのオンライン・ヘルプを参照してください。

図10-3    「すべてのメトリック」ページ


画像の説明

これらのメトリックのそれぞれに、警告およびクリティカルしきい値を設定できます。このしきい値を超えると、Oracleによってアラートが発行されます。

アラートは、「データベース」の「ホーム」ページの「アラート」ヘッダーの下に(Oracle Netのコンポーネントなどデータベース以外のアラートの場合は「関連アラート」)に表示されます。図10-4に、2つの「表領域が一杯です」という警告を含む5つのアラートを示します。

図10-4    Enterprise Managerの「ホーム」ページの「アラート」セクション


画像の説明

しきい値の設定については、「メトリックしきい値の設定」を参照してください。アラートに対応するために実行する処置については、「アラートへの対応」を参照してください。

トリガーされたアラートの状態が解消され、メトリック値が境界内になると、Oracleによってアラートが消去されます。メトリックは、データベースの状態を測定するために重要であり、自己チューニングやOracleアドバイザによって作成される推奨値の提供に役立ちます。

メトリックしきい値の設定

Oracleでは、事前定義されたメトリックのセットが提供されます。これらのメトリックには、固有に定義されたしきい値を持つものがあります。他のメトリックしきい値を設定したり、既存のしきい値の設定を変更する場合があります。

表領域で消費される容量に関する警告およびクリティカルしきい値の設定方法は、「表領域の作成」を参照してください。

しきい値の設定のより一般的な方法は、「しきい値の編集」ページを使用する方法です。

次の手順では、メトリックのしきい値の設定方法について説明します。

  1. 「データベース」の「ホーム」ページで、「関連リンク」ヘッダーの「メトリックの管理」をクリックします。

    「メトリックの管理」ページが表示されます。このページには、メトリックに対する既存のしきい値および指定されているレスポンス処理が表示されます。

  2. しきい値の編集」をクリックします。

    図10-5に示す、「しきい値の編集」ページが表示されます。このページで、「警告のしきい値」および「クリティカルのしきい値」の新しい値を入力できます。また、既存の値を変更することもできます。「レスポンス処理」フィールドで、しきい値を超えてアラートが発行された場合に実行するオペレーティング・システムのコマンドまたはスクリプトを入力できます。

    たとえば、「表領域使用率(%)」メトリックの警告しきい値を変更するために、使用率として87と入力できます。「レスポンス処理」の下に、表領域のサイズをクリーンアップまたは増加するオペレーティング・システムのスクリプトまでの完全パスを任意に指定します。

    デフォルトでは、使用できないアラート数が指定されています。しきい値を指定すると、アラートを使用可能に設定できます。たとえば、「累積ログオン/秒」に対するアラートを使用可能にするには、警告の場合に10、クリティカルの場合に25を入力します。これによって、毎秒のログオン数が10を超えると、システムによって警告が発行されます。

    OK」をクリックして、変更を保存します。

    図10-5    「しきい値の編集」ページ


    画像の説明

  3. 別のアラートに対するしきい値の設定を包括的に管理するには、対象となるメトリックの「選択」列のラジオ・ボタンを選択し、「複数のしきい値の指定」をクリックします。

    「複数のしきい値の指定: metric_name」ページが表示されます。このページでは、各オブジェクトのしきい値を指定できます。

    たとえば、個々の表領域に「表領域使用率(%)」メトリックのしきい値を設定するには、このメトリックを選択し、「複数のしきい値の指定」をクリックします。表領域の名前およびその警告およびクリティカル値を入力します。「OK」をクリックします。

アラートへの対応

アラートを受信した場合、提供される推奨操作に従うか、必要に応じてシステムまたはオブジェクトの動作をより詳細に診断するために、ADDMまたは他のアドバイザの実行を検討します。

たとえば、「表領域の領域使用量」アラートを受信した場合、対処としてセグメント・アドバイザを表領域で実行し、縮小できるオブジェクトを特定します。オブジェクトを縮小して領域を解放できます。詳細は、第6章「データベース記憶域構造の管理」「無駄な領域の再利用」を参照してください。

また、レスポンスとして、「メトリックしきい値の設定」に説明したように、修正スクリプトを設定できます。

アラートの消去

多くのアラート(領域が不足しているというアラートなど)は、問題の原因が解決されると自動的に消去されます。ただし、「一般的なアラート・ログ・エラー」などの他のアラートは、システム管理者に送信され、システム管理者による確認が必要です。

必要な対処を行った後で、アラートを消去または削除して応答できます。アラートを消去すると、アラートがアラート履歴に送信されます。アラート履歴は、「ホーム」ページの「関連リンク」で参照できます。アラートを削除すると、アラート履歴から削除されます。

「一般的なアラート・ログ・エラー」などのアラートを削除するには、「ホーム」ページの「診断サマリー」からアラート・ログ・リンクをクリックします。「アラート・ログ・エラー」ページが表示されます。消去するアラートを選択して、「消去」をクリックします。アラートを削除するには、削除するアラートを選択して、「パージ」をクリックします。また、「すべてのオープン・アラートを消去」または「すべてのアラートをパージ」ボタンを使用して、消去や削除を実行できます。

ダイレクト・アラート通知の設定

Enterprise Managerの「ホーム」ページにすべてのアラートが表示されます。ただし、オプションで、特定のアラートの発生時に直接通知を送信するように指定することができます。たとえば、クリティカル・アラートに電子メール通知を指定し、コールごとのシステム応答時間のメトリックにクリティカルしきい値を設定した場合、次のようなメッセージを含む電子メールが送信されます。

Host Name=mydb.us.mycompany.com
Metric=Response Time per Call
Timestamp=08-NOV-2003 10:10:01 (GMT -7:00)
Severity=Critical
Message=Response time per call has exceeded the threshold. See the
lattest ADDM analysis.
Rule Name=
Rule Owner=SYSMAN

電子メールには、ホスト名およびADDMによる最新の分析へのリンクが含まれます。

デフォルトでは、DBの停止、一般的なアラート・ログ・エラー・ステータス、表領域の不足などクリティカルな状態を示すアラートが通知に設定されています。ただし、これらの通知を受信するには、ご使用の電子メール情報を設定する必要があります。次の手順を実行します。

  1. Database Controlのページで、「設定」リンクをクリックします。これは、ヘッダーまたはフッター領域に表示されます。

  2. 「設定」ページで、「通知メソッド」を選択します。

  3. 「通知メソッド」ページの「メール・サーバー」部分に必要な情報を入力します。詳細は、オンライン・ヘルプを参照してください。

    スクリプトおよびSNMP(Simplified Network Management Protocol)トラップなど、他の通知方法もあります。SNMPトラップを使用すると、サード・パーティのアプリケーションを使用して通信できます。

    ここまでの手順で、通知方法は設定されましたが、通知を受信する電子メール・アドレスは設定されていません。この設定を行うには、次の手順を実行します。

  4. Database Controlのページで、「設定」リンクをクリックします。これは、ヘッダーまたはフッター領域に表示されます。

  5. 「設定」ページで、「一般」を選択します。「電子メール・アドレス」セクションで電子メール・アドレスを入力します。

  6. 受信する通知の重大度の変更など、通知ルールを編集できます。編集するには、「通知ルール」を選択します。「通知ルール」ページが表示されます。通知ルールの構成の詳細は、『Oracle Enterprise Managerアドバンスト構成』を参照してください。

パフォーマンスの問題の診断

管理者による診断および対処が必要なデータベース・パフォーマンスの問題が発生する場合があります。パフォーマンスの低下を訴えるユーザーによって問題が表面化する場合もあります。また、ホームページの「ホストCPU」チャートでパフォーマンスの急激な変化が表示される場合があります。

どの場合においても、Automatic Database Diagnostics Monitor(ADDM)によって、問題に対する警告が発生します。デフォルトでは、ADDMで1時間ごとにトップダウンのシステム分析が実行され、結果がOracle Enterprise Managerの「ホーム」ページにレポートされます。

参照:

ADDMの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

パフォーマンス分析の表示

自動ワークロード・リポジトリ(AWR)によるスナップショットと同期するように、ADDMは1時間ごとに自動的に実行されます。出力には、特定された各問題の説明と推奨操作が含まれます。

ホームページの2つの場所に、結果が表示されます。

パフォーマンス結果への対応

パフォーマンス結果に対応するには、結果をクリックし、推奨操作を実行します(推奨操作がある場合)。推奨操作には、アドバイザの実行が含まれます。

たとえば、図10-6には、パフォーマンス結果に「データベース処理に長時間かかるSQL文が見つかりました。」、影響に100%、および推奨にSQLチューニングが表示されています。

結果リンクをクリックすると、「パフォーマンス結果の詳細」ページに移動します。ここでの推奨操作は、SQLアドバイザの実行です。実行するには、「アドバイザをただちに実行」をクリックします。アドバイザが実行され、SQL文をチューニングしてパフォーマンスを向上させる推奨が、正確な操作の形式で提示されます。

ADDMのデフォルトの動作の変更

ADDMの動作および分析は、システム・パフォーマンス統計を収集し、そのデータをデータベースに格納する自動ワークロード・リポジトリ(AWR)に基づいています。デフォルトでのインストール後、AWRは1時間ごとにスナップショット形式でデータを取得し、7日をすぎたデータを消去します。必要に応じて、スナップショットの間隔およびデータの保存期間を変更できます。

「ワークロード」の「リポジトリ」ページで次の設定を表示および変更できます。

このページに移動するには、「データベース管理」ページの「統計管理」で、「自動ワークロード・リポジトリ」を選択します。

これらの設定のいずれかを変更するには、「ワークロード」の「リポジトリ」ページで「編集」をクリックします。「設定の編集」ページが表示されます。スナップショットの新しい保存期間またはシステム・スナップショット間隔を入力します。「OK」をクリックします。

手動によるADDMの実行

デフォルトでは、Oracleによって、1時間ごとにADDMが実行されます。最近のスナップショットでのパフォーマンスの結果が存在する場合は、Oracle Enterprise Managerの「ホーム」ページにリストされます。詳細は、「自己診断の実行: Automatic Database Diagnostics Monitor」を参照してください。

また、ADDMを手動でも実行できます。手動による起動の目的には、アラートに関連する推奨操作としての実行、スナップショット間隔の中間での実行、複数のスナップショットにわたる実行などがあります。


注意:

また、より頻繁にADDMの報告が必要な場合は、デフォルトのスナップショット間隔も変更できます。変更方法については、「ADDMのデフォルトの動作の変更」を参照してください。 


「ホーム」ページの「関連リンク」で、「セントラル・アドバイザ」、「ADDM」の順にクリックすると「ADDM」ページに移動できます。「ADDMの実行」ページが表示されます。

図10-7に、「ADDMの実行」ページを示します。

増加したセッション・アクティビティが、グラフのピークとして表示されています。

複数のスナップショットにわたる期間を分析するには、次の手順を実行します。

  1. 過去のインスタンスのパフォーマンスを分析するには、ADDMを実行してください」を選択します。

  2. 期間開始時間」を選択します。グラフの下から開始スナップショットを選択します。

  3. デフォルトでは、終了時間は最後のスナップショットです。異なる終了時間を指定するには、「期間終了時間」を選択します。グラフの下から終了スナップショットを選択します。

  4. OK」をクリックして、分析を開始します。「自動データベース診断モニター」ページが表示され、結果および推奨の詳細が示されます。

    図10-7    「ADDMの実行」ページ


    画像の説明

アドバイザを使用したデータベース・パフォーマンスの最適化

アドバイザは、データベース管理の強力なツールです。アドバイザを使用すると、領域、パフォーマンス、UNDOの管理など、広範囲にわたる主要なデータベース管理の課題への対処に関する具体的なアドバイスが提供されます。通常、アドバイザでは、アラートより包括的な推奨が作成されます。これは、アラートの生成では、低コストであること、パフォーマンスに対する影響が最小限であることが目的とされているためです。一方、アドバイザは、ユーザーによって起動され、より多くのリソースを使用して、より詳細な分析を実行します。この分析(一部のアドバイザではwhat-if機能も使用)によって、他のソースからは取得できないチューニングに関する重要な情報が提供されます。

パフォーマンス・アドバイザ

この項では、パフォーマンス向上のためのアドバイザについて主に説明します。これらのアドバイザには、SQLチューニング、SQLアクセスおよびメモリー・アドバイザが含まれます。これらのアドバイザについては、表10-1「パフォーマンス・アドバイザ」を参照してください。

表10-2「他のアドバイザ」に、UNDOアドバイザおよびセグメント・アドバイザなど他のアドバイザを示します。

たとえば、メモリー・アドバイザの共有プール・アドバイザは、SGAの共有プールのサイズ変更によるパフォーマンスの影響を、グラフで表示します。

アドバイザは、次のような状況に直面した場合に実行できます。

表10-1に、Oracleによって提供されるパフォーマンス・アドバイザを示します。これらのアドバイザについては、この章で説明します。

表10-1    パフォーマンス・アドバイザ 
アドバイザ  説明 

Automatic Database Diagnostics Monitor(ADDM) 

ADDMを使用すると、Oracleデータベースによってデータベース自身のパフォーマンスが診断され、特定された問題の解決方法が判断されます。

詳細は、「自己診断の実行: Automatic Database Diagnostics Monitor」および「パフォーマンスの問題の診断」を参照してください。 

SQLチューニング・アドバイザ 

このアドバイザは、SQL文を分析し、パフォーマンスを向上させる推奨事項を作成します。詳細は、「SQLチューニング・アドバイザの使用」を参照してください。 

SQLアクセス・アドバイザ 

このアドバイザは、特定のSQLワークロードに対するスキーマをチューニングするために使用します。たとえば、アクセス・アドバイザでは、特定のワークロードに対する索引およびマテリアライズド・ビューを作成するための推奨事項を提供できます。詳細は、「SQLアクセス・アドバイザの使用」を参照してください。 

メモリー・アドバイザ

  • 共有プール・アドバイザ(SGA)

  • バッファ・キャッシュ・アドバイザ(SGA)

  • PGAアドバイザ

 

デフォルトでは、Oracleはパフォーマンスを最適化するために、物理メモリーの割当てを自動的にチューニングします。メモリー・アドバイザによって、SGAおよびPGA設定の分析がグラフィカルに示されます。この分析は、what-if計画に使用できます。詳細は、「メモリー・アドバイザの使用」を参照してください。 

表10-2「他のアドバイザ」に、Oracleによって提供される他のアドバイザを示します。これらのアドバイザについては、このマニュアルの別の章で説明します。

表10-2    他のアドバイザ 
アドバイザ  説明 

セグメント・アドバイザ 

セグメント・アドバイザは、オブジェクト内での領域の断片化のレベルに基づいて、そのオブジェクトが縮小操作の対象になるかどうかのアドバイスを表示します。また、このアドバイザは、セグメントの成長傾向の履歴についても報告します。容量計画および縮小するセグメントの決定にこの情報を使用できます。詳細は、第6章「データベース記憶域構造の管理」「無駄な領域の再利用」を参照してください。 

UNDOアドバイザ 

UNDOアドバイザは、UNDO表領域の問題の特定およびUNDO表領域の適切なサイズ設定に役立ちます。また、UNDOアドバイザを使用すると、すべてのフラッシュバックで必要なUNDO保存期間の低しきい値を設定できます。詳細は、第6章「データベース記憶域構造の管理」「UNDOアドバイザの使用」を参照してください。 

セントラル・アドバイザのホームページ(「データベース」の「ホーム」ページのリンクを使用してアクセス可能)でアドバイザを実行できます。他の方法でもアドバイザを起動できます。ADDMまたはアラートからの推奨を使用する場合もあります。

SQLチューニング・アドバイザの使用

SQLチューニング・アドバイザは、SQL文のチューニングに使用します。通常、このアドバイザの使用を推奨するADDMのパフォーマンス結果への応答として使用できます。

また、リソースが最も集中するSQL文およびSQLワークロードでSQLチューニング・アドバイザを実行できます。

参照:

SQLチューニング・アドバイザの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

SQLチューニング・アドバイザを実行するには、次の手順を実行します。

  1. 「ホーム」ページの「関連リンク」で、「セントラル・アドバイザ」、「SQLチューニング・アドバイザ」の順にクリックします。「SQLチューニング・アドバイザ・リンク」ページが表示されます。

  2. 次のソースのいずれかでアドバイザを実行できます。

    • トップ・アクティビティ: 過去1時間で実行されたリソースが最も集中するSQL文。このオプションを使用して、最近のパフォーマンスの問題の原因となった可能性があるSQL文をチューニングすることができます。

    • 期間SQL: 期間が24時間を超える一連のSQL文。このオプションは、SQL文の事前チューニングのために使用します。

    • SQLチューニング・セット(STS): 指定した一連のSQL文。STSは、AWRスナップショットで取得されたSQL文または任意のSQLワークロードから作成できます。

    • スナップショット: AWRスナップショットからの一連のSQL文。

    • 保存スナップショット・セット: 保存スナップショットからの一連のSQL文。

  3. たとえば、「トップ・アクティビティ」を選択します。

    「トップ・アクティビティ」ページが表示されます。このページには、過去1時間のアクティブ・セッションを示すグラフが表示されます。時間軸の下のバーをクリックし、分析に5分間隔を選択できます。「上位SQL」および「上位セッション」表には、選択した期間内のアクティビティが表示されます。分析する1つ以上のSQL文を選択できます。

  4. SQLチューニング・アドバイザのスケジュール」をクリックします。

    しばらくすると、「スケジュール・アドバイザ」ページにSQL文が表示されます。タスクの名前および説明を入力し、分析の有効範囲(ComprehensiveまたはLimited)を選択し、タスクの開始時間を選択します。「OK」をクリックします。

  5. 「SQLチューニング結果」ページが表示されます。推奨を表示するには、SQL文を選択して、「推奨の表示」をクリックします。推奨には、次の1つ以上の操作が含まれます。

    • SQLプロファイルを使用します。このプロファイルには、その文に固有の追加のSQL統計が含まれ、実行時により適切な実行計画を生成する問合せオプティマイザを使用可能にします。

    • 失効しているか、または統計を使用していないオブジェクトのオプティマイザ統計を収集します。

    • パフォーマンスを向上させるために問合せをリライトする方法をアドバイスします。

    • 索引を作成して、問合せオプティマイザへのより高速な代替アクセス・パスを提供します。

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

SQLアクセス・アドバイザは、索引、マテリアライズド・ビューなどSQL問合せを最適化するための適切なアクセス構造の定義に役立ちます。このアドバイザは、入力としてSQLワークロードを使用し、パフォーマンスを向上させるために、索引、マテリアライズド・ビューまたはログの作成、削除または保存を推奨します。現行および最近のSQLアクティビティ、SQLリポジトリまたは開発環境などのユーザー定義のワークロードを含む様々なソースからワークロードを選択できます。

このアドバイザが作成する推奨には、特定のワークロードに対して問合せパフォーマンスを向上させると予想される索引、マテリアライズド・ビューまたはマテリアライズド・ビュー・ログが含まれます。

SQLチューニング・アドバイザおよびSQLアクセス・アドバイザの両方で索引の作成が推奨されることに注意してください。SQLチューニング・アドバイザは、チューニングするSQL文に対して大幅なパフォーマンスの向上が想定される場合にのみ、索引の作成を推奨します。ただし、新しく索引を作成すると、DML(挿入、更新および削除)操作のパフォーマンスに影響を及ぼす可能性があります。SQLチューニング・アドバイザでは、推奨される新しい索引の生成時にこのことは考慮されません。

一方、SQLアクセス・アドバイザでは、すべてのワークロードに対する新しい索引の影響が考慮されます。したがって、索引によって1つのSQL文のパフォーマンスが改善されても、その他のワークロードには悪影響を及ぼす場合、SQLアクセス・アドバイザでは新しい索引は推奨されません。このため、SQLチューニング・アドバイザでは、常にSQLアクセス・アドバイザを実行して新しい索引の推奨を検証することが推奨されます。

参照:

SQLアクセス・アドバイザの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

SQLアクセス・アドバイザを実行するには、次の手順を実行します。

  1. 「セントラル・アドバイザ」ページに移動して、「SQLアクセス・アドバイザ」をクリックします。これによってウィザードが起動し、最初のオプションの入力が求められます。「デフォルト・オプションを使用」を選択します。「続行」をクリックします。

  2. 「ワークロード・ソース」ページが表示されます。ワークロード・ソースを「現在と最近のSQLアクティビティ」として選択し、最近のアクティビティおよび実行中のアクティビティを分析します。また、その他のソースからも選択することができます。最適なワークロードは、基礎となるすべての表にアクセスする文を完全に表すワークロードです。「次へ」をクリックします。

  3. 「推奨オプション」ページが表示されます。アドバイザに索引またはマテリアライズド・ビュー(あるいはその両方)を推奨させるかどうかを選択します。また、評価のみを実行するように選択することもできます。これにより、ワークロードによってアクセスされるオブジェクトに関する情報が戻されますが、新しい構造は推奨されません。

    制限モードまたは包括モードでのアドバイザの実行を選択できます。制限モードは、最もコストの高い文に集中し、より高速に実行されます。この時点では、「拡張オプション」は無視できます。「次へ」をクリックします。

  4. 「スケジュール」ページが表示されます。タスクに名前と説明が含まれていることを確認します。「開始」で「即時」を選択します。「次へ」をクリックします。

  5. 「確認」ページが表示されます。オプションを確認し、「発行」をクリックします。

  6. 「セントラル・アドバイザ」ページが表示されます。タスクが正常に作成されたことを示す確認メッセージが表示されます。「リフレッシュ」をクリックして、タスクのステータスを表示します。

  7. SQLアクセス・アドバイザのタスクが完了したら、「結果の表示」を選択します。「タスクの結果」ページが表示されます。

    「サマリー」ページの「ワークロードのI/Oコスト」および「問合せ実行時間の向上」ヘッダーの下に向上の見込みが表示されます。

    パフォーマンスを改善するための推奨が存在する場合は、「推奨」ページに表示されます。推奨は1つ以上のCREATE INDEX文が使用されるSQLスクリプトで構成される場合があります。「スケジュール実装」をクリックすると、このスクリプトを実行できます。

メモリー・アドバイザの使用

適切な物理メモリーを設定することは、Oracleデータベースのパフォーマンスに大きな影響を与えます。SGAおよびPGAターゲットの初期化パラメータによって、データベースで使用可能な物理メモリーの量が決定されます。DBCAを使用してデータベースを作成する場合、これらのパラメータの初期値は、ワークロード・タイプおよびマシンで使用可能なメモリーの合計量に応じて設定されます。

Oracleの自動メモリー管理機能を使用すると、Oracleでは、最適なパフォーマンスを得るために様々なSGAおよびPGAサブコンポーネントでのメモリー分散が自動的に調整されます。これらの調整は、SGAおよびPGAターゲットの合計値の範囲内で行われます。

ADDMでは、パフォーマンスのボトルネックを判別するために、データベースのパフォーマンスが定期的に評価されます。ADDMで、現在使用可能なメモリーの量が不十分でパフォーマンスに悪影響を及ぼすことが確認されると、SGAまたはPGAターゲットの値を増加することが推奨されます。メモリー・アドバイザを使用して、SGAおよびPGAに新しい値を設定できます。

また、メモリー・アドバイザを使用して、次の項目に関するwhat-if分析を実行することもできます。

オプションで、メモリー・アドバイザを使用して、SGAおよびPGAターゲットの新しい値をwhat-if分析に基づいて設定することもできます。

参照:

メモリー構成の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

新しいSGAまたはPGAターゲットの設定

ADDMのパフォーマンス結果への応答として、メモリー・アドバイザを使用して新しいSGAまたはPGAターゲットを設定できます。ユーザー・インタフェースでは、これらのパラメータは「現行合計SGAサイズ」および「PGAターゲット総計」に対応しています。

新しいSGAターゲットを設定するには、次の手順を実行します。

  1. 次のいずれかの方法でメモリー・アドバイザに移動します。

    • 「ホーム」ページの「関連リンク」で、「セントラル・アドバイザ」、「メモリー・アドバイザ」の順にクリックします。

    • 「管理」ページの「データベース構成」で、「メモリー・パラメータ」をクリックします。

      「メモリー・パラメータ: SGA」ページが表示されます。このページに、システム・グローバル領域(SGA)のメモリー割当ておよびサブコンポーネント(バッファ・キャッシュ、共有プールなど)の詳細が示されます。これらのコンポーネントの詳細は、第5章「Oracleインスタンスの管理」「インスタンスのメモリー構造」を参照してください。

  2. 新しいSGAサイズを設定するには、「現行合計SGAサイズ」に新しいサイズを入力します。新しい値は、最大SGAより小さい値にする必要があります。「適用」をクリックします。確認メッセージが表示されます。

同様に、新しいPGAサイズを設定するには、次の手順を実行します。

  1. 「PGA」プロパティ・ページに移動します。このページには、「PGAターゲット総計」の現在の値およびPGAメモリーの現在の割当て量が表示されます。PGAの詳細は、第5章「Oracleインスタンスの管理」「インスタンスのメモリー構造」を参照してください。

  2. PGAターゲット総計」の横に新しい量を入力します。「適用」をクリックします。確認メッセージが表示されます。

SGAまたはPGAの変更によるパフォーマンスの影響の判断

メモリー・アドバイザを使用して、ご使用のデータベースに物理メモリーを追加または削除した場合のwhat-if分析を行うことができます。このアドバイザは、SGAまたはPGAターゲットを変更した場合のデータベース・パフォーマンスの影響をグラフで分析します。

SGAの合計サイズの構成に関するアドバイスを表示するには、「メモリー・パラメータ: SGA」ページの「現行合計SGAサイズ」の横にある「アドバイス」をクリックします。

「SGAサイズ・アドバイス」グラフが表示されます。図10-8「SGAサイズ・アドバイス」を参照してください。

「現行合計SGAサイズ」に対する「DB時間の改善(%)」が示されます。「DB時間の改善(%)」の数値が高いほど、パフォーマンスは良好です。この例では、SGAサイズが1000MBを超えると、パフォーマンスの向上幅が小さくなることがわかります。したがって、1000MBが推奨される最適なSGAサイズになります。

図10-8    SGAサイズ・アドバイス


画像の説明

同様に、PGAアドバイザを実行するには、「PGA」プロパティ・ページに移動します。「PGAターゲット総計」の横にある「アドバイス」をクリックします。「PGAターゲット・アドバイス」ページが示され、「PGAターゲット」のメモリー・サイズに対する「キャッシュ・ヒット率」が示されます。

キャッシュ・ヒット率は、ディスクからの読取りによって処理される読取りリクエストに対する、メモリーで処理される読取りリクエストの割合です。ヒット率が高いほど、キャッシュ・パフォーマンスは良好です。キャッシュ・ヒット率の最適な範囲は、75〜100%です。ただし、キャッシュ・ヒット率が最適な範囲内でないという理由だけで、データベースにパフォーマンスの問題があると判断しないでください。現在使用可能なPGAメモリーの量が最適なパフォーマンスを得るために適切でない場合、ADDMでは、パフォーマンス結果を基にこの値を調整することが自動的に推奨されます。

監視およびチューニング: Oracle by Example Series

Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーン・ショットを使用します。

監視に関するOBEを参照するには、ご使用のブラウザで次の場所を指定します。

http://www.oracle.com/technology/obe/10gr2_2day_dba/monitoring/monitoring.htm

戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引