ヘッダーをスキップ
Oracle Databaseパフォーマンス・チューニング・ガイド
11gリリース1(11.1)
E05743-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

用語集

E L M P R S T U

E

EXPLAIN PLAN
DML文に対してオプティマイザが選択した実行計画を検証できるSQL文。EXPLAIN PLANを実行すると、オプティマイザは実行計画を選択し、計画を説明するデータをデータベース表に格納する。

L

LIO
論理I/O(Logical I/O)。バッファ・キャッシュから読むことができる場合とできない場合のあるブロック読取り。

M

MTBF
平均障害間隔時間(Mean Time Between Failures)。一般的なデータベース統計で、I/Oのチューニングに重要である。

P

PGA
プログラム・グローバル領域(Program Global Area)。サーバー・プロセスのデータと制御情報が含まれる非共有のメモリー領域。サーバー・プロセスの開始時に作成する。
PIO
物理I/O(Physical I/O)。ブロックがバッファ・キャッシュに存在しなかったか、I/Oがバッファ・キャッシュをバイパスする直接I/Oであるため、バッファ・キャッシュから読むことのできなかったブロック読取り。

R

RAID
Redundant Arrays of Inexpensive Disks。RAID構成では、ストライプ化(手動によるデータの分散化)とともに、高いデータの信頼性を実現する。パフォーマンスとコストに基づいて様々なRAID構成(レベル)が選択され、そのI/O特性に応じて、適応がふさわしいアプリケーションは異なる。

S

SGA
システム・グローバル領域(System Global Area)。高速なアクセスのためにデータを格納するメイン・メモリー内のメモリー領域。Oracleでは、共有SQLおよびPL/SQLプロシージャ用のSGAメモリーの割当てに共有プールが使用される。
SQL*Loader
入力ファイルを読み取り、解析する。大量のデータをロードする最も効率的な方法である。
SQLコンパイラ(SQL Compiler)
SQL文を共有カーソルにコンパイルする。SQLコンパイラは、パーサー、オプティマイザおよび行ソース・ジェネレータで構成される。
SQLチューニング・セット(SQL Tuning Set: STS)
1つ以上のSQL文、実行統計および実行コンテキストを含むデータベース・オブジェクト。
SQLトレース(SQL Trace)
基本的なパフォーマンス診断ツール。Oracleサーバーで実行されるアプリケーションのモニターとチューニングに役立つ。SQLトレースを使用すると、アプリケーションで実行されるSQL文の効率性を評価し、各文の統計を生成できる。このツールで生成されるトレース・ファイルは、TKPROFの入力として使用される。
SQLプロファイル(SQL Profile)
問合せオプティマイザがSQL文に対して最適の実行計画を作成できるようにする情報の収集。
SQL文(同一)(SQL statements (identical))
テキストが同じSQL文は、すべての点で同一である。
SQL文(類似)(SQL statements (similar))
類似するSQL文は、リテラル値を変更するという点のみ異なる。リテラル値がバインド変数に置換された場合、SQL文はテキストの点で同一になる。
Statspack
パフォーマンス・データの収集、自動化、格納および表示ができるSQL、PL/SQLおよびSQL*Plusスクリプトのセット。この機能は自動ワークロード・リポジトリに置き換えられた。

T

TKPROF
診断ツール。Oracleサーバーで実行されるアプリケーションのモニターとチューニングに役立つ。TKPROFは主に、SQLトレースの出力ファイルを処理して読取り可能な出力ファイルに変換し、トレース・ファイルに関してユーザー・レベルの文と再帰的SQLコールのサマリーを提供する。また、SQL文の効率性の評価、実行計画の生成、データベースに統計を格納するSQLスクリプトの作成が実行できる。

U

UGA
ユーザー・グローバル領域(User Global Area)。ユーザー・セッションに使用されるラージ・プール内のメモリー領域。

インスタンス・リカバリ(instance recovery)
システム障害後に、コミットされていないOracleデータ・ブロックにREDOログ・レコードを自動的に適用すること。

エスティメータ(estimator)
統計を使用して、選択性、カーディナリティおよび実行計画のコストを評価する。エスティメータの主な目標は、実行計画のコスト全体を算出すること。
エンキュー(enqueue)
ロックの別の用語。

オプティマイザ(optimizer)
SQL文の式を評価し、より処理速度の速い等価の式に変換することによって、SQL文を最も効率的に実行する方法を判断する。オプティマイザは実行計画セットを示し、SQL文に対して最適な計画を選択する。「問合せオプティマイザ」を参照。

解析(parse)
ハード解析は、SQL文が実行され、かつSQL文が共有プール内にないか、共有プール内にあっても共有できないときに行われる。SQL文は、2つのSQL文のメタデータが異なる場合に共有されない。これは、あるSQL文が既存のSQL文とテキストでは同一だが、2つの文で参照される表が物理的に異なる表に変換される場合、またはオプティマイザ環境が異なる場合に発生する可能性がある。
ソフト解析は、セッションがSQL文を実行しようとし、かつ文がすでに共有プール内にあり、かつ文を使用できる(すなわち、共有できる)ときに行われる。共有される文の場合、既存のSQL文に関連するすべてのデータ(オプティマイザ実行計画などのメタデータも含む)が発行対象の現行の文に同じように適用できる必要がある。
解析コール(parse call)
SQL文実行の準備のためにOracleに行われるコール。このコールには、SQL文の構文チェック、SQL文の最適化、SQL文の実行可能形式の作成(または指定)が含まれている。
外部結合(outer join)
結合する表のどれか1つの1つ以上の列で外部結合演算子(+)を使用する結合条件。Oracleは、この結合条件に一致する行をすべて戻す。また、外部結合演算子がついておらず外部結合演算子を持つ表に対応する行が存在しない表からは、すべての行を戻す。

キャッシュ(cache)
バッファ・キャッシュとも呼ばれる。すべてのバッファおよびバッファ・プール。
キャッシュ・リカバリ(cache recovery)
REDOログ・ファイルのすべてのコミット済およびコミットされていない変更内容を、対象のデータ・ブロックに適用するインスタンス・リカバリの部分。インスタンス・リカバリのロールフォワード・フェーズとも呼ばれる。
競合(contention)
あるプロセスが別のプロセスで使用されているリソースを待機する必要のある場合。

結合(join)
複数の表からデータを選択する問合せ。結合の特徴は、FROM句内に複数の表が並んでいる点である。Oracleは、WHERE句に指定された条件を使用して、それぞれの表の行を比較し、その結果作成された行を戻す。この条件は結合条件と呼ばれる。通常、結合されたすべての表の列はこの条件によって比較される。

作業領域(work area)
メモリーのプライベート割当てであり、ソート、ハッシュ結合およびオンメモリー中心のその他の操作に使用される。ソート演算子は、作業領域(ソート領域)を使用して一連の行のメモリー内ソートを実行する。同様に、ハッシュ結合演算子は作業領域(ハッシュ領域)を使用して、ハッシュ表を左側から入力して作成する。

自動トレース(Autotrace)
SQLオプティマイザが使用した実行パス、および文の実行統計に関するレポートを生成する。レポートは、DML文のパフォーマンスの監視およびチューニングに役立つ。
自動ワークロード・リポジトリ(Automatic Workload Repository)
問題の検出および自己チューニングを目的として、パフォーマンス統計を収集、処理および保守する。
述語(predicate)
SQL内のWHERE条件。

ストライプ化(striping)
ディスク間でのデータのブロックの並列処理化。適切なストライプ化はI/Oを減らし、パフォーマンスを向上させる。

セグメント(segment)
セグメントは、表、索引、クラスタなど、特定の種類のデータベース・オブジェクトのために割り当てられているエクステントの集合。

待機イベント(wait events)
処理を継続する際にあるイベントが完了するまで待機する必要があったことを示すために、サーバー・プロセス/スレッドによって増やされる統計。待機イベントは、事後パフォーマンス・チューニングの実行時に最初に検証する事項の1つ。
待機イベント(アイドル)(wait events (idle))
これらのイベントは、作業がないためにサーバー・プロセスが待機していることを示す。これらのイベントはパフォーマンスのボトルネックの性質を示さないため、チューニングの際に無視できる。
単純な問合せ(simple query)
1つの表のみを参照し、GROUP BYファンクションの参照は行わないSELECT文。
単純な文(simple statement)
単一表のみに関連するINSERT文、UPDATE文、DELETE文またはSELECT文。

直接I/O(direct I/O)
バッファ・キャッシュをバイパスするI/O「PIO」を参照。

ディクショナリ・キャッシュ(dictionary cache)
データベース、その構造およびそのユーザーに関する参照情報を含むデータベース表とビューを集めたもの。Oracleは、SQL文の解析時にデータ・ディクショナリに頻繁にアクセスする。ディクショナリ・データを保持するために、メモリー内に2つの特別な場所がある。1つはデータ・ディクショナリ・キャッシュと呼ばれ、データをバッファ(データ・ブロック全体を保持する)のかわりに行として保持するために行キャッシュとも呼ばれる。もう1つの領域はライブラリ・キャッシュ。すべてのOracleユーザー・プロセスは、データ・ディクショナリ情報にアクセスするためにこれらの2つのキャッシュを共有している。
デカルト積(Cartesian product)
結合条件を使用しない結合はデカルト積(クロス積)に帰結する。デカルト積は、各表から1つずつ選んだ行の作成可能なすべての組合せ。つまり、2つの表の結合において、1つの表の各行がもう一方の表のすべての行とそれぞれ組み合せられる。3つ以上の表のデカルト積は、1つの表の各行と残りの表のデカルト積のすべての行をそれぞれ組み合せた結果。その他のすべての種類の結合は、デカルト積から、効率的に結合条件を満たさない行を絞り込んで作成されたデカルト積のサブセット。

問合せオプティマイザ(Query Optimizer)
SQL文の潜在的な実行計画セットの生成、各計画のコストの見積り、計画を生成するプラン・ジェネレータのコールを実行し、コストを比較して最も低コストの計画を選択する。この方法は、SQL文でアクセスされる表の少なくとも1つに関する統計がデータ・ディクショナリに含まれている場合に使用される。問合せオプティマイザは、問合せトランスフォーマ、エスティメータおよびプラン・ジェネレータで構成される。
問合せトランスフォーマ(query transformer)
ユーザー問合せをリライトして、より効率的な問合せ計画を生成するかどうかを判断し、ビューをマージして副問合せのネスト解除を実行する。
等価結合(equijoin)
等価演算子が含まれている結合条件。
動的パフォーマンス・ビュー(dynamic performance views)
データベース管理者が動的パフォーマンス表(現在のデータベース・アクティビティを記録する仮想表)に作成するビュー。データベース管理者が変更または削除できないため、固定ビューと呼ばれる。
トランザクション・リカバリ(transaction recovery)
Oracleがコミットされない変更を元に戻すためにロールバック・セグメントを適用するインスタンス・リカバリの部分。インスタンス・リカバリのロールバック・フェーズとも呼ばれる。

バインド変数(bind variable)
SQL文の中の変数。SQL文を正常に実行するには、バインド変数を有効な値または値のアドレスに置換する必要がある。
パーサー(parser)
SQL文の構文分析とセマンティック分析を実行し、(問合せで参照される)ビューを個別の問合せブロックに展開する。
バッファ(buffer)
ディスクから読み取られて、現在使用されているデータまたは最近使用されたデータを、バッファ・マネージャがキャッシュする主メモリーのアドレス。時間の経過につれて、バッファが保持するブロックは変わる。新しいブロックが必要なときは、バッファ・マネージャは古いブロックを破棄して、新しいブロックで置換する。
バッファ・プール(buffer pool)
バッファの集まり。

非等価結合(nonequijoin)
等価演算子以外の演算子が含まれている結合条件。
非同期I/O(asynchronous I/O)
独立I/O。転送に対する時間的な要件がなく、転送が終了する前に他のプロセスを開始できる。

複合問合せ(compound query)
2つ以上の単純な文または複合文を組み合せるために集合演算子(UNIONUNION ALLINTERSECTまたはMINUS)を使用する問合せ。複合問合せ内の単純な文または複合文それぞれは、コンポーネント問合せと呼ばれる。
プラン・ジェネレータ(plan generator)
問合せオプティマイザが最も低コストの計画を選択できるように、与えられた問合せに対して考えられる様々な計画を試行する。異なるアクセス・パス、結合方法および結合順序を試みることによって、問合せブロックに対する様々な計画を調査する。
ブロック(block)
主メモリーとディスク間でのデータ転送の単位。メモリー・アドレス空間の1セクションにある多数のブロックが1つのセグメントを形成する。
分散型の文(distributed statement)
分散データベースの2つ以上の個別ノード/インスタンスのデータにアクセスする文。リモート文は、分散データベースの1つのリモート・ノードのデータにアクセスする。

ページング(paging)
プログラムの作業メモリーのうちの使用頻度の低い部分を主メモリーから二次記憶媒体(通常はディスク)に移動することによって使用可能なメモリー領域を増やすための手法。転送単位はページと呼ばれる。

ボトルネック(bottleneck)
一般にはシステムの帯域幅がデータの処理される速度で中継されてくる量をサポートできないときのデータ伝送の遅延。ただし、システム内にボトルネックを生成する可能性のある要因は多数ある。

ミラー化(mirroring)
同じ内容のデータのコピーを1つ以上のディスクで保持すること。一般的にミラー化は、オペレーティング・システム・レベルで二重化されたハードディスクにおいて実現する。したがって、いずれかのディスクが使用不可能になっても、中断せずにもう一方のディスクがリクエストを処理できる。

ライブラリ・キャッシュ(library cache)
共有されているSQL領域とPL/SQL領域を保持するメモリー構造。ライブラリ・キャッシュは共有プールの3つの部分のうちの1つである。
ラッチ(latch)
システム・グローバル領域で共有されているデータ構造を保護するための簡素な下位レベルのシリアライズ・メカニズム。

リテラル(literal)
コンパイル時に書き込まれ、実行時に読取り専用の定数の値。リテラルは高速にアクセスでき、また、修正が不要なときに使用する。