説明
このビューは、V4.2.0バージョンから導入されました。
機能の概要
現在のテナントがすべてのOBServerノードでEXPLAIN PLANを実行して収集した計画情報を表示します。
フィールドの説明
| フィールド名 | タイプ | NULLを許容するか | 説明 |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | プラン情報が属するテナントID
説明このフィールドはV4.3.5 BP1バージョンから導入されました。 |
| SVR_IP | VARCHAR2(46) | NO | コピーが存在するノードのアドレス |
| SVR_PORT | NUMBER(38) | NO | コピーが存在するノードのポート |
| DB_ID | NUMBER(38) | NO | プランID |
| SQL_ID | VARCHAR2(32) | NO | クエリID |
| PLAN_HASH | NUMBER(38) | NO | クエリが属するスキーマID |
| PLAN_ID | NUMBER(38) | NO | プランのハッシュ値 |
| GMT_CREATE | TIMESTAMP(6) WITH LOCAL TIME ZONE | NO | 生成時間を記録 |
| OPERATOR | VARCHAR2(255) | NO | 演算子名(例:TABLE SCAN、SORT) |
| OBJECT_NODE | VARCHAR2(40) | NO | 現在の演算子がDBLINK関連である場合、DBLINKの名前を示します |
| OBJECT_ID | NUMBER(38) | NO | スキャン対象オブジェクトID(例:TABLE SCAN演算子がスキャンする物理テーブルID) |
| OBJECT_OWNER | VARCHAR2(128) | NO | スキャン対象オブジェクトが属するユーザー |
| OBJECT_NAME | VARCHAR2(128) | NO | スキャン対象オブジェクト名(例:TABLE SCAN演算子がスキャンする物理テーブル名) |
| OBJECT_ALIAS | VARCHAR2(261) | NO | スキャン対象オブジェクトのエイリアス(例:TABLE SCAN演算子がスキャンする物理テーブルのエイリアス) |
| OBJECT_TYPE | VARCHAR2(20) | NO | スキャン対象オブジェクトタイプ(例:SYNONYM、DBLINK、BASIC TABLE) |
| OPTIMIZER | VARCHAR2(4000) | NO | インデックス関連情報(例:物理行、論理行、テーブル参照行数、使用する統計情報の種類、統計情報のバージョン番号) |
| ID | NUMBER(38) | NO | 論理演算子ID |
| PARENT_ID | NUMBER(38) | NO | 論理演算子の親演算子ID |
| DEPTH | NUMBER(38) | NO | 現在のプランにおける論理演算子の深さ、つまり二分プランツリーの何層目に位置するか |
| POSITION | NUMBER(38) | NO | 現在の論理演算子が親演算子の何番目のサブノードであるか |
| COST | NUMBER(38) | NO | 最適化エンジンが推定したコスト |
| REAL_COST | NUMBER(38) | NO | プランが初めて実行された際の実際のコスト(実行フィードバック情報) |
| CARDINALITY | NUMBER(38) | NO | 最適化エンジンが推定した現在の演算子の出力行数 |
| REAL_CARDINALITY | NUMBER(38) | NO | プランが初めて実行された際の現在の演算子の実際の出力行数(実行フィードバック情報) |
| IO_COST | NUMBER(38) | NO | プランが初めて実行された際の現在の演算子の実際のI/Oコスト(実行フィードバック情報) |
| CPU_COST | NUMBER(38) | NO | プランが初めて実行された際の現在の演算子の実際のCPUコスト(実行フィードバック情報) |
| BYTES | NUMBER(38) | NO | 最適化エンジンが推定した現在の演算子データの幅 |
| ROWSET | NUMBER(38) | NO | 現在の演算子のベクトル化サイズ |
| OTHER_TAG | VARCHAR2(4000) | NO | 現在のクエリで使用されたヒント。プランの最初の行にのみ格納されます |
| PARTITION_START | VARCHAR2(4000) | NO | TABLE SCANスキャンのパーティション情報 |
| OTHER | VARCHAR2(4000) | NO | 最適化情報。例:プランタイプ、Fast Parserのパラメータ化情報、Plan Note、プランヒットの制約情報 |
| ACCESS_PREDICATES | VARCHAR2(4000) | NO | 現在の演算子がアクセスする必要がある式情報 |
| FILTER_PREDICATES | VARCHAR2(4000) | NO | 現在の演算子のフィルタ条件 |
| STARTUP_PREDICATES | VARCHAR2(4000) | NO | 現在の演算子の起動条件 |
| PROJECTION | VARCHAR2(4000) | NO | 現在の演算子の出力式情報 |
| SPECIAL_PREDICATES | VARCHAR2(4000) | NO | 現在の演算子固有の式情報。例:Join Condition、GROUP EXPRS、SORT EXPRSなど |
| QBLOCK_NAME | VARCHAR2(128) | NO | 現在の演算子が属するクエリブロックの名前 |
| REMARKS | VARCHAR2(4000) | NO | qb_nameの変更追跡情報 |
| OTHER_XML | VARCHAR2(4000) | NO | OUTLINE DATA |
クエリ例
ユーザーテナント内で、このテナントがすべてのノード上でEXPLAIN PLANを実行して収集した計画情報を確認し、1件のレコードを表示します。
obclient [SYS]> SELECT * FROM SYS.GV$OB_SQL_PLAN WHERE ROWNUM <= 1\G
クエリ結果は次のとおりです:
*************************** 1. row ***************************
TENANT_ID: 1004
SVR_IP: 11.xxx.xxx.xxx
SVR_PORT: 28825
DB_ID: 201006
SQL_ID: 87608EF09AC3942892896C42F7792955
PLAN_HASH: 3290318591324336132
PLAN_ID: 3598
GMT_CREATE: 25-MAR-25 10.00.05.020265 PM
OPERATOR: DISTRIBUTED INSERT
OBJECT_NODE: NULL
OBJECT_ID: 0
OBJECT_OWNER: NULL
OBJECT_NAME: NULL
OBJECT_ALIAS: NULL
OBJECT_TYPE: NULL
OPTIMIZER: NULL
ID: 0
PARENT_ID: -1
DEPTH: 0
POSITION: 1
COST: 13
REAL_COST: 0
CARDINALITY: 1
REAL_CARDINALITY: 0
IO_COST: 0
CPU_COST: 84
BYTES: 0
ROWSET: 1
OTHER_TAG: /*+
*/
PARTITION_START: NULL
OTHER: Plan Type:
LOCAL
Note:
Degree of Parallelisim is 1 because of table property
ACCESS_PREDICATES: NULL
FILTER_PREDICATES: NULL
STARTUP_PREDICATES: NULL
PROJECTION: NULL
SPECIAL_PREDICATES: columns([{DBMS_SCHEDULER_T1: ({DBMS_SCHEDULER_T1: (DBMS_SCHEDULER_T1.__pk_increment, DBMS_SCHEDULER_T1.COL)})}]),
column_values([T_HIDDEN_PK], [column_conv(DATE,PS:(19,0),NULL,__values.COL)])
QBLOCK_NAME: INS$1
REMARKS: stmt_id:0, INS$1
OTHER_XML: /*+
BEGIN_OUTLINE_DATA
USE_DISTRIBUTED_DML(@"INS$1")
OPTIMIZER_FEATURES_ENABLE('4.3.5.1')
END_OUTLINE_DATA
*/
1 row in set