feature overview Oracle Tuning Pack Release 2 (9.2.0) Oracle Tuning Pack は データベース分析とチューニングを自動化する機能を提供する Oracle Enterprise Manager と統合されたアプリケーションのセットです Oracle Tuning Pack は データベース インスタンス設定 索引 SQL および領域使用をチューニングすることにより データベースのパフォーマンスを向上させる可能性を識別します Oracle Tuning Pack を使用した積極的なデータベース チューニングにより システムの応答性を高めるとともに データベースのメンテナンス コストを削減できます データベース サービス レベルの最適化 Oracle データベースは 標準で高パフォーマンスを提供できるよう構築されています Oracle9i では 動的メモリ管理などの新しい自動チューニング機能によりデータベース サーバーを自動調整できるため 最小限の労力で高いパフォーマンスとサービス可用性を維持できます 管理者は Oracle データベースの自動チューニング機能を活用することにより 索引の欠如や非効率な SQL 文など 他のパフォーマンス阻害要因に注力することができます Oracle Tuning Pack は パフォーマンス分析と解決に時間と経験を必要とする次のようなチューニングを対象としています SQL チューニング Oracle Tuning Pack は 非効率な SQL を識別し チューニングします 最適データ アクセス Oracle Tuning Pack は データベースの索引を評価し 異なる索引付け方針を提案します 領域管理 Oracle Tuning Pack は 領域の非効率な使用を識別し 解決します インスタンス パフォーマンス Oracle Tuning Pack は Oracle インスタンスの自動チューニング機能を補完するもので SGA ソート I/O パラレル問合せ Oracle Real Application Clusters パフォーマンスに関する主要なデータベース初期化パラメータ オペレーティング システム特有のパラメータ およびリソース競合問題を中心に扱います Oracle Tuning Pack は オラクル社のデータベース専門家により作成されたもので 一連のルールに基づいて複雑なデータベース チューニング分析をするように設計されています Oracle Tuning Pack により収集されたデータは ユーザーにより提供される他の情報とともにルールに取り込まれます Oracle Tuning Pack アプリケーションは チューニングの必要性を判断してデータベースを評価し チューニング改善のための推奨事項を生成します 推奨事項は それに従うことにより他で問題の原因となるような独立した提案ではありません 推奨事項の分析と実装をサポートするスクリプトとレポートを自動的に生成させることができます 非効率な SQL の診断とチューニング 非効率な SQL 文は データベース パフォーマンス上の問題を引き起こす大きな原因になります ただし SQL チューニングは複雑なため チェックされず放置されることがあります Oracle Tuning Pack は データベース管理者と開発者に 非効率な SQL の識別 診断 およびチューニングのためのグラフィカル ツールをソリューションとして提供します Oracle Tuning Pack Release 2 (9.2.0) 1
TopSQL 機能は非効率な SQL を特定する強力で柔軟性の高い手段です TopSQL は TopSQL オプション ダイアログにより簡単に定義できる基準を使用して Oracle データベースの SQL キャッシュを検索します たとえば TopSQL を使用して 特定の表にアクセスする SQL 特定のユーザーにより実行される SQL ディスク読込みの頻発などの特定のパフォーマンス境界を超過している SQL を検索できます 非効率な SQL 文を識別した後は Explain Plan を使用して SQL 操作を細分化し詳細に調べる処理を開始します Explain Plan は SQL 文の操作を順を追って説明します Explain Plan にリストされる操作の階層順序は 必ずしも実行順序と同じではないため その解釈が難しいことがあります Oracle Tuning Pack は Graphical Explain Plan コンポーネントにより SQL 操作の順序とタイプを明確に示します Graphical Explain Plan により SQL 文がデータベースからデータをどのように取り出し処理するかを簡単に視覚的に理解できます Graphical Explain Plan は 直感的 視覚的に SQL 操作を表示することにより データベース オブジェクトと SQL 操作間の関係を明らかにします 行数や操作コストなどの役立つ情報が Graphical Explain Plan 内に直接表示されます ユーザーは プランの説明に従い SQL がどのように実行され 各操作でどのような手順が実行されるかを容易に理解できます プランでは 行が処理される各手順について SQL が最後に実行したときに戻された行数といった詳細が提供されます Graphical Explain Plan は Enterprise Manager の他の診断ツールと統合されており SQL 文がパフォーマンス上の問題の原因として特定された場合に自動的に起動されるように設定できます Oracle Tuning Pack Release 2 (9.2.0) 2
Oracle Tuning Pack の SQL Analyze アプリケーションは 基本的な SQL 設計違反がないか SQL 文を自動的にチェックできます たとえば ある操作の使用により索引が誤って使用禁止になったり 不必要なフィルタ操作やソート操作を使用しているなどの問題があります SQL Analyze は SQL 設計の問題を検出すると それをユーザーに警告し SQL 問合せのリライトによるオプティマイザ コストの減少に基づいて期待されるパフォーマンスの改善の予測値を提示します さらに SQL Analyze は問題を解決し パフォーマンスを改善する代替 SQL を生成します リライトされた SQL 文は 保存して ソース アプリケーションにコピーできます 代替 Explain PlanとSQL 統計の生成 SQL Tuning Wizard は 問題を検出し パフォーマンスが改善される要因を判断します SQL Analyze により 開発者と DBA は 代替オプティマイザ モードのための Explain Plan を簡単に生成できます プランが作成されると SQL Analyze により プランの各操作に関する説明がユーザーに提示されます SQL Analyze を使用して SQL 文を実行し 経過時間 ソート回数 処理した行数 使用したメモリ量などの重要な SQL パフォーマンス測定項目を取得できます また SQL Analyze では Oracle9i の新しい問合せ進捗モニター機能を活用して SQL Analyze から実行された SQL 文の進行を追跡できます 複数の Explain Plan にわたって 実行測定項目を 3 通りの方法で比較できます 単一の SQL チューニング ノードに関する実行統計には 複数のオプティマイザ モードの Explain Plan が含まれており すべてのモードにわたって測定項目を表形式ビューで比較できます SQL ノードを比較ウィンドウにドラッグ アンド ドロップできる Compare Execution Statistics 機能を使用することにより 複数の SQL チューニング ノードからの実行統計を並べて比較できます たとえば SQL チューニングの結果 複数のバージョンの SQL 文ができた場合 一部またはすべてのバージョンの実行結果を比較できます SQL Analyze には 分割画面による比較ビューも用意されています これは実際には SQL Analyze ウィンドウを分割したもので 異なる Explain Plan を並べて順にたどりながら視覚的に比較できます オブジェクト プロパティの検査 SQL Analyze では 関連するオブジェクトの詳細に Explain Plan から直接迅速にアクセスできます マウス クリックにより 選択したプラン操作で参照されるすべてのオブジェクトの詳細に簡単にアクセスできます 表統計には エクステント数 使用中のブロック数と空のブロック数 行連鎖 ブロック当りの平均空領域などの重要な測定項目と それぞれの列の個別値件数のリストが含まれます 索引統計には ツリー深度や個別キー当りの平均リーフ ブロック数など 索引セグメント内で領域がどの程度効率的に使用されているかを検証するために使用できる測定項目が含まれます Oracle Tuning Pack Release 2 (9.2.0) 3
索引のチューニングによる応答時間の短縮索引チューニングは 複雑で危険性を伴う場合もあります Oracle Tuning Pack は 索引をどのようにするかの決定と利点と欠点の評価の際の推測による作業をなくし 索引要件の分析を自動化します 積極的プランニングからパフォーマンス上の問題解決まで 広範囲の索引チューニングに対応できるように いくつかの索引チューニングが用意されています Oracle Expert アプリケーションは 同時に 1 つ以上の表を対象とする総合的な索引チューニングを提供します Oracle Expert は 対象となる表の SQL ワークロード プロファイルを収集し ワークロードの SQL アクセス要件を評価して順位付けします 表の更新アクティビティも考慮して 問合せと表の変動性の利点と欠点をバランスよく最適な索引付け方針を生成します Oracle Expert は 新規索引の追加 既存の索引の変更 不要な索引の削除を推奨します Index Tuning Wizard は 非効率な SQL 文に焦点を当てた索引チューニングへのクイック アクセスを提供します このウィザードは 最も非効率な SQL 文およびワークロードのその部分で使用されている表を識別し そのような問合せによる表アクセスの改善に焦点を絞った索引チューニングを提供します 同様に SQL Analyze は特定の SQL 文のパフォーマンスの改善に焦点を絞った索引チューニングを提供し 非効率な SQL 文の最適索引要件を識別します 索引作成前の索引計画のテストこれまで索引によりパフォーマンスが改善されるかどうかを判断する唯一の手段は 新しい索引を作成する方法でした Oracle Tuning Pack には 索引の作成前に Oracle オプティマイザでテストできる Virtual Index Wizard という新機能があります Virtual Index Wizard は SQL Analyze アプリケーションの一部で 特定の SQL 文に対して索引をテストし 候補索引を選択する過程をガイドします オプティマイザが問合せにより使用される新規索引を選択した場合 このウィザードは問合せのコストの変化をレポートします これにより 索引の作成前に索引計画を対話的にテストして 最適な索引設計を選択できます チューニング セッション コンテキストの設定 SQL 文をチューニングする際 アプリケーション ユーザーのセッション環境をエミュレートするために チューニング実行者が自分の環境の変更を必要とする場合があります これには アプリケーション セッションにより使用されるグローバル変数を設定する特定のパッケージを使用する必要があります SQL Analyze には チューニング対象のデータベースに接続されている SQL Analyze セッション内から無名 PL/SQL ブロックを実行できる新機能があります たとえば ユーザーがアプリケーションの問題部分をレポートしたとします データベース管理者は ユーザーに実行される SQL 文に関数コールがあることを知り 関数で使用できるセッション変数を使用して この文をユーザーと同じモードで調べる必要があると判断します SQL Analyze の Run PL/SQL Block 機能を使用することにより データベース管理者は自分の SQL Analyze セッションに対して変数を設定し エンド ユーザーと同じパフォーマンスを体験できます 診断結果によるSQLチューニングの起動 SQL Analyze は Oracle Diagnostics Pack Performance Manager アプリケーションと統合されています したがって Performance Manager のグラフィカル リアルタイム監視チャートから識別されたパフォーマンスの問題に合わせて SQL Analyze を起動できます データベース インスタンス レベルで検出されたパフォーマンス上の問題は Performance Manager によりセッションと SQL のレベルで詳細に追跡でき そのポイントから SQL Analyze を使用して 高コストの SQL 文の詳細なチューニング分析が実行されます Oracle Tuning Pack Release 2 (9.2.0) 4
表領域の非効率性の排除 表領域の使用管理とは 効率的な領域使用とディスク I/O の削減によりデータベースのレスポンスを向上させることを意味します 表領域の使用を監視し 管理には Oracle Tuning Pack が使用できます Tablespace Map は 表領域の詳細と使用状況が一目でわかるビューを提供します オブジェクトのサイズと位置がグラフィカル マップに表示されるため そのセグメントのエクステントの位置を容易に識別できます また セグメント断片化は強調表示されます このマップのズーム機能を使用することにより 大規模な表領域の詳細を調べることができます Tablespace Map は 表領域のデータベース セグメントの位置と相対サイズをグラフィカル イメージで表します 問題のあるセグメントは Reorg Wizard による再編成対象として自動的にフラグが付けられます Tablespace Map には Tablespace Analysis レポートも含まれています このレポートはマップから直接生成され 行連鎖 索引断片化 非効率なサイズのオブジェクトなど 様々な問題をチェックできます 問題のあるオブジェクトは Reorg Wizard による再編成対象としてフラグが付けられ 後で問題のオブジェクトに即して Reorg Wizard を起動できます Oracle Tuning Pack Release 2 (9.2.0) 5
Oracle Tuning Pack の Reorg Wizard を使用して 特定のスキーマ オブジェクトや表領域全体を再編成できます 再編成処理中に セグメントのストレージ属性 ( エクステントの数とサイズ データ ブロックの未使用 / 使用パーセントのパラメータなど ) を変更できます Tablespace Map により行連鎖の問題が検出された場合 オブジェクト全体を再作成するか 連鎖行を修復するかを選択できます 再編成処理は すぐに実行すること Oracle Agent を使用してスケジュールすることもできます Reorg Wizard は Oracle データベースのオンライン再構成機能を使用します 索引や Oracle9i Database の特定の表などのようにオブジェクトをオンラインで再編成できる場合 Reorg Wizard では オンラインにするかオフラインにするかを選択できます Oracle データベースパフォーマンス機能の活用 Oracle Tuning Pack は ビットマップ索引などの Oracle データベースのパフォーマンス機能が使用可能かどうか識別します 可能な場合は サーバー機能も活用します たとえば Oracle9i Database は SGA で開かれている SQL カーソルのランタイム Explain Plan を取得し保存します Graphical Explain Plan および SQL Analyze アプリケーションは ランタイム プランがチューニング対象の SQL 文について作成された Explain Plan として存在する場合は そのランタイム プランを使用します Oracle Tuning Pack を使用すると 新しい Oracle パフォーマンス機能の一部を利用することもできます 新しい Tablespace Migration Wizard は 表領域を従来のディクショナリ管理形式からローカル管理形式 ( ビットマップ表領域とも呼ばれる ) に自動的に変換します ローカル管理形式に編成された表領域は その拡大範囲と領域使用を自動的に制御し 管理者による制御が不要になるため 領域再編成の必要性が大幅に低減されます Outline Management アプリケーションは Oracle8i から導入されたプラン スタビリティ機能の活用に役立ちます プラン スタビリティ機能を使用すると SQL の実行プランのストアド アウトラインを作成して SQL 文のパフォーマンスが安定します ストアド アウトラインの作成 編集および管理に Outline Management アプリケーションを使用することにより SQL パフォーマンスの安定性を強化できます コンサルティング品質のチューニング レポートの生成 Oracle Tuning Pack の Oracle Expert アプリケーションは 推奨事項の詳しい説明の入ったチューニング推奨レポートを生成します インスタンス チューニングとアクセス メソッド チューニングに関する推奨事項は パフォーマンス改善の程度により順位付けされます チューニング推奨事項の実装をサポートするため スクリプトも生成されます スクリプトの多くは すぐに実装すること ユーザーがカスタマイズすることもできます 収集されたデータと分析処理に関する詳細レポートが自動的に生成されます チューニング推奨事項は 分析に使用されたデータとルール ロジックの完全なリストにより裏づけされています Oracle Tuning Pack レポートは HTML で生成されるため 簡単に転送や公開が可能で他の管理者もレビューできます Oracle Tuning Pack により提供されるレポートのいくつかを次に示します Oracle Expert Analysis - インスタンス設定の効率やその他のパフォーマンス考慮事項の総合的な情報を提供します Index Wizard Analysis - ワークロードの中で負荷の重い SQL 文をチューニングするために 索引の変更や新しい索引の追加に関する推奨事項を提供します Oracle Tuning Pack Release 2 (9.2.0) 6
Tablespace Analysis - セグメント問題を識別および説明し 領域使用における問題を修正 回避するためのアドバイスを提供します Explain Plan Report - 操作と説明をリンクすることにより Oracle Explain Plan をわかりやすく説明します 大きな Explain Plan をナビゲートするときに非常に便利です チューニングの専門知識の強化と生産性の向上 Oracle Tuning Pack は SQL のチューニング 索引の設計および領域の再編成を含む複雑なデータベース チューニングに取り組むための専門知識とツールを提供します Oracle Tuning Pack が提供する Oracle データベース操作 (SQL Explain Plan や領域使用など ) のグラフィカル表記により パフォーマンス ボトルネックの識別が容易に行えるようになります Oracle Tuning Pack にはチューニング ルールが組み込まれ オラクル社内のパフォーマンス専門知識をユーザーに提供しています Oracle Tuning Pack Release 2 (9.2.0) 7
主要機能 総合的な自動データベース チューニング 数百の組込みデータベース チューニング ルール パフォーマンスに影響する上位 20 個のインスタンス パラメータの完全分析 修復または再編成の必要なデータベース セグメントの識別 パフォーマンス ボトルネック解消のための SQL 文の評価と書換え 問合せパフォーマンス向上のためのデータベース索引方針の変更の推奨と 不要な索引の排除 SQL プラン スタビリティのための SQL ストアド アウトラインの管理と編集 パフォーマンス向上のためのデータベース オブジェクトの再編成 (Oracle9i 表のオンライン再編成を含む ) 関連製品およびサービス Oracle Tuning Pack は 次の Oracle 管理アプリケーションと統合されています Oracle Enterprise Manager -- データベース ノード Web サーバーなどのターゲットを容易に検出し管理します Oracle Intelligent Agent -- データベース再編成操作の完全自動制御をします Oracle Diagnostics Pack -- Tuning Pack を使用して修正できるパフォーマンス ボトルネック ( 非効率な SQL 文やチューニングの必要なオブジェクトなど ) の絞込みに使用されます グラフィカルなチューニング分析およびレポート Oracle SQL Explain Plan の直観的でグラフィカルな表記を提供 組み込まれた説明と操作の詳細により プランを容易にナビゲートできるようになります 新機能! Graphical Explain Plan でそれぞれのノードについて戻される行の詳細統計 索引の作成に先立ってオプティマイザで索引をテストすることができる Virtual Index Wizard HTML ベースの SQL Explain Plan 詳細レポート インスタンス分析 索引評価および領域管理のための HTML ベースの総合的チューニング レポート 表領域の使用および問題のあるセグメントに関するグラフィカルな詳細説明 再編成による影響を分析するレポート Oracle Tuning Pack Release 2 (9.2.0) 8
Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 www.oracle.com この文書はあくまでも参考資料であり 掲載されている情報は予告なしに変更されることがあります 日本オラクル社は本書の内容に関していかなる保証もいたしません また 本書の内容に関連したいかなる損害についても責任を負いかねます オラクル社は インターネット上での活動を強化するソフトウェアを提供します Oracle はオラクル社の登録商標です このガイドで使用されているさまざまな製品名およびサービス名には オラクル社の商標が含まれています その他のすべての製品名およびサービス名は 各社の商標です Copyright 2003 Oracle Corporation All rights reserved.