
V$SQL BIND CAPTURE - 日本エクセム株式会社 Oracle 技術情報
SQLチューニングのためには、そのSQLがどのように動いていて、データベースにどのように影響しているのか、を把握する必要があります。『MaxGauge』があれば簡単に状況が把握でき、適切なSQLチューニングができるようになります。
『MaxGauge』の資料はこちらから。
基本情報
概要
V$ SQL_BIND_CAPTUREビューはSQLのBind変数を使用しています。使用されているBind変数の名前と型、値などを表示します。
サポート
10g以降
カラム
名前 | タイプ | 説明 |
ADDRESS | - | Parent CursorのAddress |
HASH_VALUE | NUMBER | Parent CursorのHash値 |
SQL_ID | VARCHAR2(13) | Unique SQL ID:V$ SQLのSQL_ID列と結合可能 |
CHILD_ADDRESS | - | Child CursorのAddress |
CHILD_NUMBER | NUMBER | Child Cursorの番号 |
NAME | VARCHAR2(30) | Bind 変数の名前 |
POSITION | NUMBER | SQL文でBind 変数の位置。 1スタート |
DUP_POSITION | NUMBER | Bind 変数の名前が重複している場合、最初Bind Variableの位置を指します。 |
DATATYPE | NUMBER | Bind 変数のデータ型。Oracleの内部的に使用されている数値。 |
DATATYPE_STRING | VARCHAR2(15) | Bind 変数のデータ型の認識可能な名前。例:NUMBER、VARCHAR2 |
CHARACTER_SID | NUMBER | National character set identifier |
PRECISION | NUMBER | Precision (for numeric binds) |
SCALE | NUMBER | Scale (for numeric binds) |
MAX_LENGTH | NUMBER | 最大Bind長 |
WAS_CAPTURED | VARCHAR2(3) | Bind値のCaptureが行われたかどうか(YES)または(NO) |
LAST_CAPTURED | DATE | Bind値のCaptureが行われた最新の時間 |
VALUE_STRING | VARCHAR2(4000) | Bind値のString表現 |
VALUE_ANYDATA | ANYDATA | Bind値のSys.AnyDataによる表現 |
参考情報
バインドキャプチャ
Oracleは、次のような視点にBind Captureを実行する。
バインド・アトリビュート
Oracle10g以前は、特定のSQL文で使用されているBind値を引き出そうとするときは、Processstate Dumpを実行したり、SQL Trace、あるいはAuditを実行しました。しかし、V$ SQL_BIND_CAPTUREビューを使用すると、簡単な照会だけでBind値を把握することができるようになったのです。各ツールが提供される値の種類は、次のように整理することができます。
バインド値
V$ SQL_BIND_CAPTUREビューのHistoryバージョンであるDBA_HIST_SQLBINDビューを使用して、過去の特定の時点で特定のSQL文で使用されたBind値を確認することができます。
例
関連情報
外部参照
SQLチューニングのためには、そのSQLがどのように動いていて、データベースにどのように影響しているのか、を把握する必要があります。『MaxGauge』があれば簡単に状況が把握でき、適切なSQLチューニングができるようになります。
『MaxGauge』の資料はこちらから。
