Oracle9i データベース・パフォーマンス・ガイドおよびリファレ...

706
Oracle9i データベース・パフォーマンス・ガイドおよびリファレンス リリース 19.0.12001 10 部品番号:J04110-01

Transcript of Oracle9i データベース・パフォーマンス・ガイドおよびリファレ...

  • Oracle9i

    データベース・パフォーマンス・ガイドおよびリファレンス

    リリース 1(9.0.1)

    2001 年 10 月

    部品番号:J04110-01

  • Oracle9i データベース・パフォーマンス・ガイドおよびリファレンス , リリース 1(9.0.1)

    部品番号:J04110-01

    原本名:Oracle9i Database Performance Guide and Reference, Release 1 (9.0.1)

    原本部品番号:A87503-02

    原本著者:Michele Cyran

    原本協力者:Connie Dialeris Green, Rafi Ahmed, Ahmed Alomari, Hermann Baer, Ruth Baylis, Leo Cloutier, Maria Colgan, Dinish Das, Lex de Haan, Harv Eneman, Bjorn Engsig, Cecilia Gervasio, Leslie Gloyd, Karl Haas, Andrew Holdsworth, Mamdouh Ibrahim, Namit Jain, Hakan Jakobsson, Sanjay Kaluskar, Srinivas Kareenhalli, Peter Kilpatrick, Sushil Kumar, Tirthankar Lahiri, Yunrui Li, Diana Lorentz, Roderick Manalac, Alan Maxwell, Joe McDonald, Ari Mozes, Gary Ngai, Arvind Nithrakashyap, Peter Povinec, Richard Powell, Shankar Raman, Virag Saksena, Slartibartfast, Vinay Srihari, Frank Stephens, Mike Stewart, Mineharu Takahara, Patrick Tearle, Nitin Vengurlekar, Jean Francois Verrier, Steve Vivian, Simon Watt, Sabrina Whitehouse, Graham Wood, Mohamed Ziauddin

    Copyright © 2001, Oracle Corporation. All rights reserved.

    Printed in Japan.

    制限付権利の説明

    プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律により保護されています。

    当プログラムのリバース・エンジニアリング等は禁止されております。

    このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無謬性を保証しません。

    * オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル)を指します。

    危険な用途への使用について

    オラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションを用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用することについての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用によりクレームや損害が発生いたしましても、日本オラクル株式会社と開発元である Oracle Corporation(米国オラクル)およびその関連会社は一切責任を負いかねます。 当プログラムを米国国防総省の米国政府機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Notice が適用されます。

    Restricted Rights Notice

    Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

    このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。

  • 目次目次目次目次

    はじめにはじめにはじめにはじめに ........................................................................................................................................................................ xvii

    対象読者 ................................................................................................................................................................. xviiiこのマニュアルの構成 ......................................................................................................................................... xviii関連文書 .................................................................................................................................................................. xxii表記規則 .................................................................................................................................................................. xxii

    Oracle のパフォーマンスの新機能のパフォーマンスの新機能のパフォーマンスの新機能のパフォーマンスの新機能 ........................................................................................................... xxv

    第第第第 I 部 部 部 部 SQL の作成とチューニングの作成とチューニングの作成とチューニングの作成とチューニング

    1 オプティマイザの概要オプティマイザの概要オプティマイザの概要オプティマイザの概要SQL 処理アーキテクチャの概要処理アーキテクチャの概要処理アーキテクチャの概要処理アーキテクチャの概要 ......................................................................................................................... 1-2オプティマイザの概要オプティマイザの概要オプティマイザの概要オプティマイザの概要 ........................................................................................................................................... 1-3

    オプティマイザの操作手順 ........................................................................................................................... 1-4

    実行計画について ........................................................................................................................................... 1-5

    オプティマイザのアプローチと目標の選択オプティマイザのアプローチと目標の選択オプティマイザのアプローチと目標の選択オプティマイザのアプローチと目標の選択 ....................................................................................................... 1-9CBO を使用した SQL 文の最適化による応答の高速化 .......................................................................... 1-12

    CBO を必要とする機能 ............................................................................................................................... 1-13

    コストベース・オプティマイザ(コストベース・オプティマイザ(コストベース・オプティマイザ(コストベース・オプティマイザ(CBO)について)について)について)について ........................................................................................ 1-13CBO のアーキテクチャ ............................................................................................................................... 1-14

    CBO のアクセス・パスについてのアクセス・パスについてのアクセス・パスについてのアクセス・パスについて ....................................................................................................................... 1-21フル・テーブル・スキャン ......................................................................................................................... 1-22

    サンプル表スキャン ..................................................................................................................................... 1-25

    ROWID スキャン ......................................................................................................................................... 1-26

    索引スキャン ................................................................................................................................................. 1-27

    i

  • クラスタ・スキャン ..................................................................................................................................... 1-36

    ハッシュ・スキャン ..................................................................................................................................... 1-36

    CBO によるアクセス・パスの選択方法 ................................................................................................... 1-36

    結合について結合について結合について結合について ......................................................................................................................................................... 1-39CBO による結合文の実行方法 ................................................................................................................... 1-39

    CBO による結合方法の選択方法 ............................................................................................................... 1-40

    ネステッド・ループ・ジョイン ................................................................................................................. 1-41

    ネステッド・ループ外部結合 ..................................................................................................................... 1-44

    ハッシュ結合 ................................................................................................................................................. 1-45

    ハッシュ結合外部結合 ................................................................................................................................. 1-47

    ソート / マージ結合 .................................................................................................................................... 1-49

    ソート / マージ外部結合 ............................................................................................................................ 1-52

    デカルト結合 ................................................................................................................................................. 1-53

    完全外部結合 ................................................................................................................................................. 1-57

    CBO による結合の実行計画の選択方法 ................................................................................................... 1-58

    CBO によるアンチジョインの実行方法 ................................................................................................... 1-59

    CBO によるセミジョインの実行方法 ....................................................................................................... 1-59

    CBO によるスター・クエリーの実行方法 ............................................................................................... 1-60

    コストベース・オプティマイザのパラメータコストベース・オプティマイザのパラメータコストベース・オプティマイザのパラメータコストベース・オプティマイザのパラメータ ................................................................................................. 1-60OPTIMIZER_FEATURES_ENABLE パラメータ ..................................................................................... 1-60

    その他の CBO パラメータ .......................................................................................................................... 1-63

    拡張可能オプティマイザの概要拡張可能オプティマイザの概要拡張可能オプティマイザの概要拡張可能オプティマイザの概要 ......................................................................................................................... 1-65ユーザー定義統計 ......................................................................................................................................... 1-66

    ユーザー定義の選択性 ................................................................................................................................. 1-66

    ユーザー定義コスト ..................................................................................................................................... 1-67

    2 オプティマイザ操作オプティマイザ操作オプティマイザ操作オプティマイザ操作オプティマイザによる操作の実行方法オプティマイザによる操作の実行方法オプティマイザによる操作の実行方法オプティマイザによる操作の実行方法 ............................................................................................................... 2-2

    CBO による IN リスト・イテレータの評価方法 ....................................................................................... 2-3

    CBO による連結の評価方法 ......................................................................................................................... 2-6

    CBO によるリモート操作の評価方法 ......................................................................................................... 2-9

    CBO による分散型の文の評価方法 ........................................................................................................... 2-12

    CBO によるソート操作の評価方法 ........................................................................................................... 2-12

    CBO によるビューの評価方法 ................................................................................................................... 2-16

    CBO による定数の評価方法 ....................................................................................................................... 2-17

    ii

  • CBO による UNION/UNION ALL 演算子の評価方法 ......................................................................... 2-18

    CBO による LIKE 演算子の評価方法 ........................................................................................................ 2-19

    CBO による IN 演算子の評価方法 ............................................................................................................. 2-20

    CBO による ANY または SOME 演算子の評価方法 ............................................................................... 2-20

    CBO による ALL 演算子の評価方法 ......................................................................................................... 2-20

    CBO による BETWEEN 演算子の評価方法 .............................................................................................. 2-21

    CBO による NOT 演算子の評価方法 ........................................................................................................ 2-21

    CBO による移行性の評価方法 ................................................................................................................... 2-22

    CBO による共通の副次式の最適化方法 ................................................................................................... 2-23

    CBO による DETERMINISTIC 関数の評価方法 ...................................................................................... 2-25

    オプティマイザによるオプティマイザによるオプティマイザによるオプティマイザによる SQL 文の変換方法文の変換方法文の変換方法文の変換方法 ...................................................................................................... 2-26CBO による OR の複合問合せへの変換方法 ........................................................................................... 2-26

    CBO による副問合せのネスト解除方法 ................................................................................................... 2-29

    CBO によるビューのマージ方法 ............................................................................................................... 2-31

    CBO による述語のプッシュ方法 ............................................................................................................... 2-34

    CBO による複合問合せの実行方法 ........................................................................................................... 2-42

    3 オプティマイザ統計の収集オプティマイザ統計の収集オプティマイザ統計の収集オプティマイザ統計の収集統計について統計について統計について統計について ........................................................................................................................................................... 3-2統計情報の生成統計情報の生成統計情報の生成統計情報の生成 ....................................................................................................................................................... 3-3

    DBMS_STATS パッケージの使用 ................................................................................................................ 3-5

    ANALYZE 文の使用 .................................................................................................................................... 3-11

    データ配分の検索 ......................................................................................................................................... 3-12

    統計の欠落 ..................................................................................................................................................... 3-13

    統計の使用方法統計の使用方法統計の使用方法統計の使用方法 ..................................................................................................................................................... 3-13統計の管理 ..................................................................................................................................................... 3-14

    表統計の検証 ................................................................................................................................................. 3-15

    索引統計の検証 ............................................................................................................................................. 3-16

    列統計の検証 ................................................................................................................................................. 3-17

    ヒストグラムの使用方法ヒストグラムの使用方法ヒストグラムの使用方法ヒストグラムの使用方法 ..................................................................................................................................... 3-19ヒストグラムの用途 ..................................................................................................................................... 3-20

    ヒストグラムの作成 ..................................................................................................................................... 3-20

    ヒストグラムのタイプ ................................................................................................................................. 3-21

    ヒストグラムの表示 ..................................................................................................................................... 3-23

    ヒストグラム統計の検証 ............................................................................................................................. 3-23

    iii

  • 4 索引およびクラスタ索引およびクラスタ索引およびクラスタ索引およびクラスタ索引について索引について索引について索引について ........................................................................................................................................................... 4-2

    論理構造のチューニング ............................................................................................................................... 4-2

    索引を付ける列と式の選択 ........................................................................................................................... 4-3

    コンポジット索引の選択 ............................................................................................................................... 4-4

    索引を使用する文の記述 ............................................................................................................................... 4-5

    索引を使用しない文の記述 ........................................................................................................................... 4-5

    索引の再作成 ................................................................................................................................................... 4-6

    索引の縮小 ....................................................................................................................................................... 4-7

    一意でない索引による一意性の規定 ........................................................................................................... 4-7

    使用可能未検査制約の使用方法 ................................................................................................................... 4-7

    ファンクション索引の使用方法ファンクション索引の使用方法ファンクション索引の使用方法ファンクション索引の使用方法 ........................................................................................................................... 4-9索引構成表の使用索引構成表の使用索引構成表の使用索引構成表の使用 ................................................................................................................................................. 4-10ビットマップ索引の使用方法ビットマップ索引の使用方法ビットマップ索引の使用方法ビットマップ索引の使用方法 ............................................................................................................................. 4-10

    ビットマップ索引の使用のタイミング ..................................................................................................... 4-11

    良好なパフォーマンスのビットマップ索引の使用方法 ......................................................................... 4-13

    ビットマップ索引のための初期化パラメータ ......................................................................................... 4-15

    B ツリー索引に対するビットマップ・アクセス計画の使用方法 ......................................................... 4-16

    ビットマップ索引の制約事項 ..................................................................................................................... 4-17

    ビットマップ結合索引の使用ビットマップ結合索引の使用ビットマップ結合索引の使用ビットマップ結合索引の使用 ............................................................................................................................. 4-17ドメイン索引の使用方法ドメイン索引の使用方法ドメイン索引の使用方法ドメイン索引の使用方法 ..................................................................................................................................... 4-17クラスタの使用方法クラスタの使用方法クラスタの使用方法クラスタの使用方法 ............................................................................................................................................. 4-18ハッシュ・クラスタの使用方法ハッシュ・クラスタの使用方法ハッシュ・クラスタの使用方法ハッシュ・クラスタの使用方法 ......................................................................................................................... 4-19

    5 オプティマイザ・ヒントオプティマイザ・ヒントオプティマイザ・ヒントオプティマイザ・ヒントオプティマイザ・ヒントの理解オプティマイザ・ヒントの理解オプティマイザ・ヒントの理解オプティマイザ・ヒントの理解 ........................................................................................................................... 5-2

    ヒントの指定方法 ........................................................................................................................................... 5-3

    オプティマイザ・ヒントの使用方法オプティマイザ・ヒントの使用方法オプティマイザ・ヒントの使用方法オプティマイザ・ヒントの使用方法 ................................................................................................................... 5-6最適化アプローチと目標のヒント ............................................................................................................... 5-6

    アクセス・パスに関するヒント ................................................................................................................... 5-8

    問合せの変換に関するヒント ..................................................................................................................... 5-16

    結合順序のヒント ......................................................................................................................................... 5-20

    結合操作のヒント ......................................................................................................................................... 5-21

    パラレル実行のヒント ................................................................................................................................. 5-26

    iv

  • その他のヒント ............................................................................................................................................. 5-30

    ビューでのヒントの使用方法 ..................................................................................................................... 5-35

    6 SQL 文の最適化文の最適化文の最適化文の最適化チューニングの目的チューニングの目的チューニングの目的チューニングの目的 ............................................................................................................................................... 6-2

    処理負荷の削減 ............................................................................................................................................... 6-2

    処理負荷の均衡化 ........................................................................................................................................... 6-2

    処理負荷のパラレル化 ................................................................................................................................... 6-2

    多くのリソースを消費する多くのリソースを消費する多くのリソースを消費する多くのリソースを消費する SQL の識別およびデータ収集の識別およびデータ収集の識別およびデータ収集の識別およびデータ収集 ............................................................................ 6-3多くのリソースを消費する SQL の識別 ..................................................................................................... 6-3

    識別した SQL に関するデータの収集 ......................................................................................................... 6-4

    SQL 文のチューニングの概要文のチューニングの概要文のチューニングの概要文のチューニングの概要 .............................................................................................................................. 6-5オプティマイザ統計の確認 ........................................................................................................................... 6-6

    実行計画の検討 ............................................................................................................................................... 6-6

    SQL 文の再構成 .............................................................................................................................................. 6-7

    ヒントによるアクセス・パスおよび結合順序の制御 ............................................................................. 6-14

    索引の再構成 ................................................................................................................................................. 6-18

    トリガーおよび制約の変更または無効化 ................................................................................................. 6-19

    データの再構成 ............................................................................................................................................. 6-19

    実行計画の継続的なメンテナンス ............................................................................................................. 6-19

    データへのアクセスを最小限に削減 ......................................................................................................... 6-19

    7 プラン・スタビリティの使用方法プラン・スタビリティの使用方法プラン・スタビリティの使用方法プラン・スタビリティの使用方法実行計画を保持するためのプラン・スタビリティの使用実行計画を保持するためのプラン・スタビリティの使用実行計画を保持するためのプラン・スタビリティの使用実行計画を保持するためのプラン・スタビリティの使用 ............................................................................... 7-2

    プラン・スタビリティでのヒントの使用 ................................................................................................... 7-2

    アウトラインの格納 ....................................................................................................................................... 7-3

    プラン・スタビリティを使用可能にする方法 ........................................................................................... 7-4

    提供されるパッケージを使用したストアド・アウトラインの管理 ....................................................... 7-4

    アウトラインの作成 ....................................................................................................................................... 7-4

    ストアド・アウトラインの使用および編集 ............................................................................................... 7-6

    アウトライン・データの照会 ....................................................................................................................... 7-8

    アウトライン表の移動 ................................................................................................................................... 7-9

    v

  • コストベース・オプティマイザでのプラン・スタビリティの使用コストベース・オプティマイザでのプラン・スタビリティの使用コストベース・オプティマイザでのプラン・スタビリティの使用コストベース・オプティマイザでのプラン・スタビリティの使用 ............................................................. 7-10コストベース・オプティマイザへの移行に対するアウトラインの使用 ............................................. 7-11

    アップグレードとコストベースのオプティマイザ ................................................................................. 7-12

    8 ルールベース・オプティマイザの使用ルールベース・オプティマイザの使用ルールベース・オプティマイザの使用ルールベース・オプティマイザの使用ルールベースのオプティマイザ(ルールベースのオプティマイザ(ルールベースのオプティマイザ(ルールベースのオプティマイザ(RBO)の概要)の概要)の概要)の概要 .............................................................................................. 8-2RBO のアクセス・パスのアクセス・パスのアクセス・パスのアクセス・パス ......................................................................................................................................... 8-3

    RBO を使用した結合の実行計画の選択 ................................................................................................... 8-14

    RBO を使用した文の変換および最適化を使用した文の変換および最適化を使用した文の変換および最適化を使用した文の変換および最適化 ........................................................................................................... 8-16RBO を使用した OR から複合問合せへの変換 ........................................................................................ 8-16

    代替 SQL 構文の使用 ................................................................................................................................... 8-19

    第第第第 II 部 部 部 部 SQL 関連パフォーマンス・ツール関連パフォーマンス・ツール関連パフォーマンス・ツール関連パフォーマンス・ツール

    9 EXPLAIN PLAN の使用方法の使用方法の使用方法の使用方法EXPLAIN PLAN についてについてについてについて ................................................................................................................................... 9-2

    実行計画の変更方法 ....................................................................................................................................... 9-2

    実行計画以外の考慮事項 ............................................................................................................................... 9-3

    PLAN_TABLE 出力表の作成出力表の作成出力表の作成出力表の作成 ............................................................................................................................... 9-4EXPLAIN PLAN の実行の実行の実行の実行 ....................................................................................................................................... 9-4

    EXPLAIN PLAN での文の指定 .................................................................................................................... 9-4

    EXPLAIN PLAN での別の表の指定 ............................................................................................................ 9-5

    PLAN_TABLE 出力の表示出力の表示出力の表示出力の表示 ................................................................................................................................... 9-5EXPLAIN PLAN 出力の読み方出力の読み方出力の読み方出力の読み方 ........................................................................................................................... 9-6EXPLAIN PLAN によるビットマップ索引の表示によるビットマップ索引の表示によるビットマップ索引の表示によるビットマップ索引の表示 ........................................................................................... 9-9EXPLAIN PLAN によるパーティション・オブジェクトの表示によるパーティション・オブジェクトの表示によるパーティション・オブジェクトの表示によるパーティション・オブジェクトの表示 ................................................................. 9-10

    EXPLAIN PLAN によるレンジ・パーティション化およびハッシュ・パーティション化の表示の例 ......................................................................................................................................................... 9-11

    コンポジット・パーティション・オブジェクトによる情報のプルーニングの例 ............................. 9-13

    パーシャル・パーティション・ワイズ・ジョインの例 ......................................................................... 9-15

    フル・パーティション・ワイズ・ジョインの例 ..................................................................................... 9-16

    INLIST ITERATOR および EXPLAIN PLAN の例 ................................................................................. 9-17

    ドメイン索引および EXPLAIN PLAN の例 ............................................................................................. 9-18

    EXPLAIN PLAN の制限事項の制限事項の制限事項の制限事項 ............................................................................................................................. 9-19PLAN_TABLE 列列列列 ................................................................................................................................................. 9-19

    vi

  • 10 SQL トレースおよびトレースおよびトレースおよびトレースおよび TKPROF の使用の使用の使用の使用SQL トレースとトレースとトレースとトレースと TKPROF についてについてについてについて ................................................................................................................. 10-2

    SQL トレース機能について ........................................................................................................................ 10-2

    TKPROF について ........................................................................................................................................ 10-3

    SQL トレース機能とトレース機能とトレース機能とトレース機能と TKPROF の使用方法の使用方法の使用方法の使用方法 ..................................................................................................... 10-3手順 1: トレース・ファイル管理用の初期化パラメータの設定 ............................................................ 10-4

    手順 2: SQL トレース機能を使用可能にする方法 ................................................................................... 10-5

    手順 3: TKPROF によるトレース・ファイルのフォーマット ............................................................... 10-6

    手順 4: TKPROF 出力の解釈 ..................................................................................................................... 10-12

    手順 5: SQL トレース機能統計の格納 ..................................................................................................... 10-16

    TKPROF による解釈の誤りの回避による解釈の誤りの回避による解釈の誤りの回避による解釈の誤りの回避 ................................................................................................................. 10-18引数トラップの回避 ................................................................................................................................... 10-19

    読取り一貫性トラップの回避 ................................................................................................................... 10-19

    スキーマ・トラップの回避 ....................................................................................................................... 10-20

    タイム・トラップの回避 ........................................................................................................................... 10-21

    トリガー・トラップの回避 ....................................................................................................................... 10-22

    TKPROF の出力例の出力例の出力例の出力例 ............................................................................................................................................. 10-22TKPROF ヘッダーのサンプル .................................................................................................................. 10-22

    TKPROF 本体のサンプル .......................................................................................................................... 10-23

    TKPROF サマリーのサンプル .................................................................................................................. 10-28

    11 SQL*Plus での自動トレースの使用での自動トレースの使用での自動トレースの使用での自動トレースの使用自動トレース・レポートの制御自動トレース・レポートの制御自動トレース・レポートの制御自動トレース・レポートの制御 ......................................................................................................................... 11-2

    実行計画 ......................................................................................................................................................... 11-2

    統計 ................................................................................................................................................................. 11-3

    パラレル問合せおよび分散問合せのトレースパラレル問合せおよび分散問合せのトレースパラレル問合せおよび分散問合せのトレースパラレル問合せおよび分散問合せのトレース ................................................................................................. 11-6ディスク読取りおよびバッファ取得の監視ディスク読取りおよびバッファ取得の監視ディスク読取りおよびバッファ取得の監視ディスク読取りおよびバッファ取得の監視 ..................................................................................................... 11-8

    12 Oracle Trace の使用の使用の使用の使用Oracle Trace の概要の概要の概要の概要 ............................................................................................................................................. 12-2

    イベント・データ ......................................................................................................................................... 12-2

    イベント・セット ......................................................................................................................................... 12-2

    収集したデータへのアクセス ..................................................................................................................... 12-3

    vii

  • Oracle Trace データの収集データの収集データの収集データの収集 ................................................................................................................................. 12-3Oracle Trace コマンドライン・インタフェースの使用 ......................................................................... 12-3

    Oracle Trace の制御のための初期化パラメータの使用 ......................................................................... 12-7

    PL/SQL による Oracle Trace の収集の制御 .......................................................................................... 12-10

    Oracle Trace の収集結果へのアクセスの収集結果へのアクセスの収集結果へのアクセスの収集結果へのアクセス ........................................................................................................... 12-12Oracle Trace データの Oracle 表へのフォーマット設定 ...................................................................... 12-12

    Oracle Trace レポート作成ユーティリティの実行 ............................................................................... 12-13

    Oracle Server のイベントのイベントのイベントのイベント ................................................................................................................................. 12-14イベントで収集されるデータ項目 ........................................................................................................... 12-15

    各イベントに対応付けられた項目 ........................................................................................................... 12-21

    Oracle Trace のトラブルシューティングのトラブルシューティングのトラブルシューティングのトラブルシューティング ....................................................................................................... 12-31Oracle Trace の構成 ................................................................................................................................... 12-31

    フォーマッタ表 ........................................................................................................................................... 12-35

    第第第第 III 部 部 部 部 優れたパフォーマンスを得るためのデータベースの作成優れたパフォーマンスを得るためのデータベースの作成優れたパフォーマンスを得るためのデータベースの作成優れたパフォーマンスを得るためのデータベースの作成

    13 パフォーマンスを考慮したデータベースの作成パフォーマンスを考慮したデータベースの作成パフォーマンスを考慮したデータベースの作成パフォーマンスを考慮したデータベースの作成初期データベースの作成初期データベースの作成初期データベースの作成初期データベースの作成 ..................................................................................................................................... 13-2

    インストーラを使用したデータベースの作成 ......................................................................................... 13-2

    手動によるデータベース作成 ..................................................................................................................... 13-2

    初期データベースの作成に必要なパラメータ ......................................................................................... 13-2

    CREATE DATABASE 文 ............................................................................................................................. 13-3

    データ・ディクショナリ・スクリプトの実行 ......................................................................................... 13-4

    REDO ログ・ファイルのサイズ指定 ........................................................................................................ 13-4

    追加表領域の作成 ......................................................................................................................................... 13-5

    適切なパフォーマンスを得る表の作成適切なパフォーマンスを得る表の作成適切なパフォーマンスを得る表の作成適切なパフォーマンスを得る表の作成 ............................................................................................................. 13-6データのロードおよび索引付けデータのロードおよび索引付けデータのロードおよび索引付けデータのロードおよび索引付け ......................................................................................................................... 13-7

    適切なパフォーマンスを得る SQL*Loader の使用 ................................................................................. 13-7

    効果的な索引作成 ......................................................................................................................................... 13-8

    初期インスタンス構成初期インスタンス構成初期インスタンス構成初期インスタンス構成 ......................................................................................................................................... 13-9ロールバック・セグメントの構成 ........................................................................................................... 13-10

    OS、データベースおよびネットワーク監視の設定、データベースおよびネットワーク監視の設定、データベースおよびネットワーク監視の設定、データベースおよびネットワーク監視の設定 ..................................................................................... 13-11

    viii

  • 14 メモリーの構成と使用方法メモリーの構成と使用方法メモリーの構成と使用方法メモリーの構成と使用方法メモリー割当ての問題についてメモリー割当ての問題についてメモリー割当ての問題についてメモリー割当ての問題について ......................................................................................................................... 14-2

    Oracle メモリー・キャッシュ .................................................................................................................... 14-2

    キャッシュ・サイズの動的な変更 ............................................................................................................. 14-2

    アプリケーションの考慮事項 ..................................................................................................................... 14-3

    オペレーティング・システムのメモリー使用量 ..................................................................................... 14-3

    構成の繰返し ................................................................................................................................................. 14-4

    バッファ・キャッシュの構成と使用方法バッファ・キャッシュの構成と使用方法バッファ・キャッシュの構成と使用方法バッファ・キャッシュの構成と使用方法 ......................................................................................................... 14-5バッファ・キャッシュの効果的な使用 ..................................................................................................... 14-5

    バッファ・キャッシュのサイズ設定 ......................................................................................................... 14-5

    バッファ・キャッシュの統計の解釈および使用方法 ............................................................................. 14-9

    複数バッファ・プールについて ............................................................................................................... 14-11

    V$DB_CACHE_ADVICE 内のバッファ・プール・データ ................................................................. 14-13

    バッファ・プール・ヒット率 ................................................................................................................... 14-13

    プール内に多くのバッファを持つセグメントの判断 ........................................................................... 14-13

    KEEP プール ................................................................................................................................................ 14-15

    RECYCLE プール ....................................................................................................................................... 14-16

    共有プールと大規模プールの構成および使用方法共有プールと大規模プールの構成および使用方法共有プールと大規模プールの構成および使用方法共有プールと大規模プールの構成および使用方法 ....................................................................................... 14-17共有プールの概念 ....................................................................................................................................... 14-18

    共有プールの効果的な使用方法 ............................................................................................................... 14-21

    共有プールのサイズ設定 ........................................................................................................................... 14-25

    共有プール統計の解釈 ............................................................................................................................... 14-30

    大規模プールの使用の考慮 ....................................................................................................................... 14-31

    CURSOR_SPACE_FOR_TIME の使用の考慮 ........................................................................................ 14-35

    セッション・カーソルのキャッシュの考慮点 ....................................................................................... 14-36

    予約プールの構成の考慮 ........................................................................................................................... 14-36

    除去を防ぐためにラージ・オブジェクトを保持することの考慮 ....................................................... 14-38

    既存のアプリケーション用の CURSOR_SHARING の考慮 ............................................................... 14-39

    Java プールの構成と使用プールの構成と使用プールの構成と使用プールの構成と使用 .................................................................................................................................. 14-41REDO ログ・バッファの構成および使用ログ・バッファの構成および使用ログ・バッファの構成および使用ログ・バッファの構成および使用 ...................................................................................................... 14-41

    ログ・バッファのサイズ設定 ................................................................................................................... 14-42

    ログ・バッファの統計 ............................................................................................................................... 14-43

    PGA 作業メモリーの構成作業メモリーの構成作業メモリーの構成作業メモリーの構成 ................................................................................................................................. 14-43自動 PGA メモリー管理 ............................................................................................................................ 14-45

    SORT_AREA_SIZE の構成 ....................................................................................................................... 14-51

    ix

  • 合計メモリー使用量の低減合計メモリー使用量の低減合計メモリー使用量の低減合計メモリー使用量の低減 ............................................................................................................................... 14-56

    15 I/O 構成および設計構成および設計構成および設計構成および設計I/O の理解の理解の理解の理解 .............................................................................................................................................................. 15-2I/O の基本構成の基本構成の基本構成の基本構成 ...................................................................................................................................................... 15-5

    アプリケーション I/O 特性の決定 ............................................................................................................ 15-6

    I/O 構成の決定 ............................................................................................................................................. 15-8

    I/O システム ................................................................................................................................................. 15-9

    I/O 要件と I/O システムの適合 ................................................................................................................ 15-9

    オペレーティング・システムまたはハードウェアのストライプ化を使用したファイルの

    レイアウト ................................................................................................................................................... 15-10

    手動による I/O の分散 .............................................................................................................................. 15-13

    ファイルを分割する場合 ........................................................................................................................... 15-14

    3 つの構成サンプル .................................................................................................................................... 15-17

    Oracle 管理ファイル .................................................................................................................................. 15-18

    データ・ブロック・サイズの選択 ........................................................................................................... 15-19

    16 オペレーティング・システム・リソースオペレーティング・システム・リソースオペレーティング・システム・リソースオペレーティング・システム・リソースオペレーティング・システムのパフォーマンスの問題の理解オペレーティング・システムのパフォーマンスの問題の理解オペレーティング・システムのパフォーマンスの問題の理解オペレーティング・システムのパフォーマンスの問題の理解 ..................................................................... 16-2

    ハードウェアおよびオペレーティング・システムのキャッシュの使用 ............................................. 16-2

    RAW デバイスの評価 .................................................................................................................................. 16-3

    プロセス・スケジューラの使用 ................................................................................................................. 16-3

    オペレーティング・システムのリソース・マネージャの使用 ............................................................. 16-4

    オペレーティング・システムの問題の解決オペレーティング・システムの問題の解決オペレーティング・システムの問題の解決オペレーティング・システムの問題の解決 ..................................................................................................... 16-5UNIX ベースのシステムのパフォーマンスに関するヒント ................................................................. 16-6

    NT システムのパフォーマンスに関するヒント ...................................................................................... 16-6

    メインフレーム・コンピュータのパフォーマンスに関するヒント ..................................................... 16-6

    CPU についてについてについてについて ....................................................................................................................................................... 16-7システムのシステムのシステムのシステムの CPU 使用率の調査使用率の調査使用率の調査使用率の調査 .......................................................................................................................... 16-9

    17 インスタンス・リカバリ・パフォーマンスの構成インスタンス・リカバリ・パフォーマンスの構成インスタンス・リカバリ・パフォーマンスの構成インスタンス・リカバリ・パフォーマンスの構成インスタンス・リカバリについてインスタンス・リカバリについてインスタンス・リカバリについてインスタンス・リカバリについて ..................................................................................................................... 17-2チェックポイント処理およびキャッシュ・リカバリチェックポイント処理およびキャッシュ・リカバリチェックポイント処理およびキャッシュ・リカバリチェックポイント処理およびキャッシュ・リカバリ ..................................................................................... 17-2

    チェックポイントがパフォーマンスに与える影響 ................................................................................. 17-3

    ランタイム・パフォーマンスを最適化するためのチェックポイント回数の削減ランタイム・パフォーマンスを最適化するためのチェックポイント回数の削減ランタイム・パフォーマンスを最適化するためのチェックポイント回数の削減ランタイム・パフォーマンスを最適化するためのチェックポイント回数の削減 ..................................... 17-3

    x

  • キャッシュ・リカバリ間隔の構成キャッシュ・リカバリ間隔の構成キャッシュ・リカバリ間隔の構成キャッシュ・リカバリ間隔の構成 ..................................................................................................................... 17-4ファスト・スタート・チェックポイント処理を使用したインスタンス・リカバリ時間の制限 ..... 17-4

    REDO ログ数に影響を与える LOG_CHECKPOINT_TIMEOUT の設定 ............................................ 17-6

    REDO ログ数に影響を与える LOG_CHECKPOINT_INTERVAL の設定 .......................................... 17-6

    REDO アプリケーションを高速化するためのパラレル・リカバリの使用 ........................................ 17-6

    キャッシュ・リカバリ時間に影響を与える初期化パラメータ ............................................................. 17-7

    キャッシュ・リカバリの監視キャッシュ・リカバリの監視キャッシュ・リカバリの監視キャッシュ・リカバリの監視 ............................................................................................................................. 17-8トランザクション・リカバリのチューニングトランザクション・リカバリのチューニングトランザクション・リカバリのチューニングトランザクション・リカバリのチューニング ............................................................................................... 17-14

    18 UNDO セグメントと一時セグメントの構成セグメントと一時セグメントの構成セグメントと一時セグメントの構成セグメントと一時セグメントの構成UNDO セグメントの構成セグメントの構成セグメントの構成セグメントの構成 ................................................................................................................................... 18-2

    自動 UNDO 管理の構成 .............................................................................................................................. 18-2

    ロールバック・セグメントの構成 ............................................................................................................. 18-2

    一時表領域の構成一時表領域の構成一時表領域の構成一時表領域の構成 ................................................................................................................................................. 18-4

    19 共有サーバーの構成共有サーバーの構成共有サーバーの構成共有サーバーの構成共有サーバー数の構成共有サーバー数の構成共有サーバー数の構成共有サーバー数の構成 ......................................................................................................................................... 19-2

    ディスパッチャ固有のビューを使用する競合の識別 ............................................................................. 19-2

    ディスパッチャ・プロセスの競合の低減 ................................................................................................. 19-3

    共有サーバー・プロセスの競合の低減 ..................................................................................................... 19-5

    最適なディスパッチャ数および共有サーバー・プロセス数の判別 ..................................................... 19-8

    第第第第 IV 部部部部 システム関連のパフォーマンス・ツールシステム関連のパフォーマンス・ツールシステム関連のパフォーマンス・ツールシステム関連のパフォーマンス・ツール

    20 データベース統計収集用のデータベース統計収集用のデータベース統計収集用のデータベース統計収集用の Oracle のツール製品のツール製品のツール製品のツール製品Oracle のツール製品の概要のツール製品の概要のツール製品の概要のツール製品の概要 ................................................................................................................................ 20-2データ収集の原理データ収集の原理データ収集の原理データ収集の原理 ................................................................................................................................................. 20-2統計の解釈統計の解釈統計の解釈統計の解釈 ............................................................................................................................................................. 20-3Oracle Enterprise Manager Diagnostics Pack ............................................................................................... 20-4Statspack ............................................................................................................................................................... 20-5V$ パフォーマンス・ビューパフォーマンス・ビューパフォーマンス・ビューパフォーマンス・ビュー ............................................................................................................................... 20-5

    xi

  • 21 Statspack の使用方法の使用方法の使用方法の使用方法Statspack とととと BSTAT/ESTAT の比較の比較の比較の比較 ................................................................................................................ 21-2Statspack の動作の動作の動作の動作 .................................................................................................................................................. 21-3Statspack の構成の構成の構成の構成 .................................................................................................................................................. 21-3

    Statspack のデータベース領域要件 ........................................................................................................... 21-3

    ディクショナリ管理の表領域内の Statspack ........................................................................................... 21-4

    ローカル管理表領域内の Statspack ........................................................................................................... 21-4

    Statspack のインストールのインストールのインストールのインストール .................................................................................................................................. 21-4対話型での Statspack のインストール ...................................................................................................... 21-4

    バッチ・モードでの Statspack のインストール ...................................................................................... 21-6

    Statspack の使用方法の使用方法の使用方法の使用方法 .......................................................................................................................................... 21-6Statspack スナップショットの作成 ........................................................................................................... 21-6

    Statspack パフォーマンス・レポートの実行 ........................................................................................... 21-8

    Statspack 内に収集されるデータの量の構成 ......................................................................................... 21-14

    待機イベントに使用される時間単位 ....................................................................................................... 21-18

    イベントのタイミング ............................................................................................................................... 21-18

    Statspack パフォーマンス・データの管理および共有 ......................................................................... 21-19

    Statspack 使用時の Oracle Real Application Clusters の考慮事項 ..................................................... 21-22

    Statspack の削除の削除の削除の削除 ................................................................................................................................................ 21-22Statspack が提供するスクリプトが提供するスクリプトが提供するスクリプトが提供するスクリプト .................................................................................................................... 21-23

    Statspack をインストールするためのスクリプト ................................................................................. 21-23

    Statspack のレポートおよび自動化のスクリプト ................................................................................. 21-23

    Statspack をアップグレードするためのスクリプト ............................................................................. 21-24

    Statspack パフォーマンス・データ・メンテナンスのためのスクリプト ......................................... 21-24

    Statspack マニュアルのためのスクリプト ............................................................................................. 21-24

    Statspack の制限事項の制限事項の制限事項の制限事項 ........................................................................................................................................ 21-24

    第第第第 V 部 部 部 部 インスタンスのパフォーマンスの最適化インスタンスのパフォーマンスの最適化インスタンスのパフォーマンスの最適化インスタンスのパフォーマンスの最適化

    22 インスタンスのチューニングインスタンスのチューニングインスタンスのチューニングインスタンスのチューニング パフォーマンス・チューニングの原理パフォーマンス・チューニングの原理パフォーマンス・チューニングの原理パフォーマンス・チューニングの原理 ............................................................................................................ 22-2

    ベースライン ................................................................................................................................................. 22-2

    症状および問題点 ......................................................................................................................................... 22-3

    チューニングの時期 ..................................................................................................................................... 22-3

    xii

  • パフォーマンス・チューニングの手順パフォーマンス・チューニングの手順パフォーマンス・チューニングの手順パフォーマンス・チューニングの手順 ............................................................................................................. 22-4問題の定義 ..................................................................................................................................................... 22-5

    ホスト・システムの検査 ............................................................................................................................. 22-6

    Oracle 統計の調査 ........................................................................................................................................ 22-9

    変更の実装および測定 ............................................................................................................................... 22-10

    Oracle 統計の解釈統計の解釈統計の解釈統計の解釈 .............................................................................................................................................. 22-11負荷の検査 ................................................................................................................................................... 22-11

    待機イベント統計を使用したボトルネックへのドリルダウン ........................................................... 22-12

    待機イベントおよび潜在的な原因の表 ................................................................................................... 22-14

    追加された統計情報 ................................................................................................................................... 22-15

    待機イベント待機イベント待機イベント待機イベント ....................................................................................................................................................... 22-18SQL*Net ....................................................................................................................................................... 22-19buffer busy waits ........................................................................................................................................ 22-21db file scattered read .................................................................................................................................. 22-23db file sequential read ............................................................................................................................... 22-25direct path read ........................................................................................................................................... 22-27direct path write ......................................................................................................................................... 22-28enqueue ........................................................................................................................................................ 22-29free buffer waits .......................................................................................................................................... 22-32latch free ...................................................................................................................................................... 22-34Log buffer space ......................................................................................................................................... 22-39log file switch .............................................................................................................................................. 22-39log file sync .................................................................................................................................................. 22-40rdbms ipc reply ........................................................................................................................................... 22-41

    アイドル待機イベントアイドル待機イベントアイドル待機イベントアイドル待機イベント ....................................................................................................................................... 22-41

    23 ネットワークのチューニングネットワークのチューニングネットワークのチューニングネットワークのチューニング接続モデルについて接続モデルについて接続モデルについて接続モデルについて ............................................................................................................................................. 23-2ネットワークの問題の検出ネットワークの問題の検出ネットワークの問題の検出ネットワークの問題の検出 ................................................................................................................................. 23-5

    動的パフォーマンス・ビューを使用したネットワークのパフォーマンスの向上 ............................. 23-5

    待機時間および帯域幅 ................................................................................................................................. 23-6

    ネットワークの問題の解決ネットワークの問題の解決ネットワークの問題の解決ネットワークの問題の解決 ................................................................................................................................. 23-7ネットワークのボトルネックの検出 ......................................................................................................... 23-8

    ネットワークのボトルネックの分析 ....................................................................................................... 23-10

    配列インタフェースの使用方法 ............................................................................................................... 23-13

    セッション・データ単位バッファ・サイズの調整 ............................................................................... 23-13

    xiii

  • TCP.NODELAY の使用方法 ..................................................................................................................... 23-13

    Connection Manager の使用 ..................................................................................................................... 23-14

    第第第第 VI 部 部 部 部 パフォーマンス関連の参照情報パフォーマンス関連の参照情報パフォーマンス関連の参照情報パフォーマンス関連の参照情報

    24 チューニングに使用する動的パフォーマンス・ビューチューニングに使用する動的パフォーマンス・ビューチューニングに使用する動的パフォーマンス・ビューチューニングに使用する動的パフォーマンス・ビュー現在の状態ビュー現在の状態ビュー現在の状態ビュー現在の状態ビュー ................................................................................................................................................. 24-2カウンタカウンタカウンタカウンタ / アキュムレータ・ビューアキュムレータ・ビューアキュムレータ・ビューアキュムレータ・ビュー .................................................................................................................. 24-2情報ビュー情報ビュー情報ビュー情報ビュー ............................................................................................................................................................. 24-3V$DB_OBJECT_CACHE ................................................................................................................................... 24-4V$FILESTAT ........................................................................................................................................................ 24-5V$LATCH ............................................................................................................................................................. 24-8V$LATCH_CHILDREN ................................................................................................................................... 24-11V$LATCH_HOLDER ....................................................................................................................................... 24-11V$LIBRARYCACHE ......................................................................................................................................... 24-13V$LOCK .............................................................................................................................................................. 24-14V$MYSTAT ........................................................................................................................................................ 24-18V$OPEN_CURSOR ........................................................................................................................................... 24-19V$PARAMETER およびおよびおよびおよび V$SYSTEM_PARAMETER ................................................................................ 24-21V$PROCESS ....................................................................................................................................................... 24-22V$ROLLSTAT .................................................................................................................................................... 24-24V$ROWCACHE ................................................................................................................................................. 24-25V$SESSION ........................................................................................................................................................ 24-27V$SESSION_EVENT ........................................................................................................................................ 24-30V$SESSION_WAIT .......................................................................................................................................... 24-31V$SESSTAT ....................................................................................................................................................... 24-35V$SQL ................................................................................................................................................................. 24-38V$SQL_PLAN .................................................................................................................................................... 24-38V$SQLAREA ...................................................................................................................................................... 24-42V$SQLTEXT ....................................................................................................................................................... 24-45V$SYSSTAT ....................................................................................................................................................... 24-46V$SYSTEM_EVENT ......................................................................................................................................... 24-51V$UNDOSTAT .................................................................................................................................................. 24-53V$WAITSTAT ................................................................................................................................................... 24-54

    xiv

  • A パフォーマンスの例で使用されているスキーマパフォーマンスの例で使用されているスキーマパフォーマンスの例で使用されているスキーマパフォーマンスの例で使用されているスキーマ

    用語集用語集用語集用語集

    索引索引索引索引

    xv

  • xvi

  • はじめにはじめにはじめにはじめに

    このマニュアルでは、パフォーマンス・ツールを使用して、SQL を適切に作成およびチューニングし、インスタンスのパフォーマンスを最適化して、Oracle パフォーマンスを向上させる方法を詳しく説明します。 また、優れたパフォーマンスを実現するための初期データベースの作成方法を説明するととも