10.11.2 SQLトレース情報に出力される情報
SQLトレース情報には,次の情報が出力されます。
-
HADBサーバのバージョン情報
-
SQL文の実行情報
-
クライアント定義情報
-
コネクション状態に関する情報
-
実行したSQL文とアクセスパス情報
-
?パラメタの情報
-
SQLパラレル実行機能に関する情報
-
トランザクションの情報
-
認可識別子の情報
-
SQL文の統計情報
-
アクセスパスの統計情報
-
コネクションの確立または終了の区切り線
-
SQL文の基本情報
- メモ
-
エラーが発生してSQL文の処理が中断した場合,その時点で取得できなかったSQLトレース情報は出力されません。
各情報の出力項目について説明します。
- 〈この項の構成〉
(1) HADBサーバのバージョン情報
HADBサーバのバージョン情報の出力例を次に示します。
P-8862-C811 Hitachi Advanced Data Binder 05-08 Jul 12 2023 12:32:59
- [説明]
-
-
1つ目の下線部分には,HADBサーバのPP形名情報が出力されます。
-
2つ目の下線部分には,HADBサーバのバージョンが出力されます。
-
2つ目の下線部分より後ろの部分には,HADBサーバのバージョン付加情報が次の形式で出力されます。
MMM DD YYYY hh:mm:ss
MMM:月が英略語の形式で出力されます。
DD:日が出力されます。
YYYY:西暦が出力されます。
hh:mm:ss:時刻が出力されます。
-
- メモ
-
HADBサーバのバージョン情報は,SQLトレースファイルの先頭に出力されます。
(2) SQL文の実行情報
SQL文の実行情報の出力例と出力される項目について説明します。
(a) SQL文の実行情報の出力例
SQL文の実行情報の出力例を次に示します。
(b) SQL文の実行情報に出力される項目
SQL文の実行情報に出力される項目を次の表に示します。
項番 |
項目名 |
説明 |
---|---|---|
1 |
con_id |
コネクションIDが出力されます。 |
2 |
con_num |
HADBサーバの開始後に割り振られるコネクション通番が出力されます。 |
3 |
stmt_hdl |
SQL文に割り当てられた文ハンドルが出力されます。 |
4 |
sql_serial_num |
コネクション確立後に割り振られるSQL文通番が出力されます。 |
5 |
call |
SQL文の実行情報の対象となるコール種別が出力されます。出力されるコール種別と実行された処理の対応を「表10‒11 コール種別と実行された処理の対応」に示します。 なお,コールとは,コネクションの確立または終了,トランザクションの正常終了または取り消し,およびSQL文を使用したデータベースに対する操作の単位のことです。 SQL文単位でSQLトレース情報を出力している場合,SQL文の実行が完了したときに(コール単位のCLOS,EXEC,およびEXDIの実行が完了したときに),SQL文の実行情報が出力されます。このとき,call欄にはSQLと出力されます。 |
6 |
sqlcode |
SQLCODEが出力されます。 SQLCODEとメッセージの対応付けの方法については,マニュアルHADB メッセージのSQLCODEの見方を参照してください。 |
7 |
sqlstate |
SQLSTATEが出力されます。 SQLSTATEについては,マニュアルHADB メッセージのSQLSTATEの一覧を参照してください。 |
8 |
start_time |
処理の開始時刻が出力されます。 コール単位でSQLトレース情報を出力している場合は,各コールの開始時刻が出力されます。 SQL文単位でSQLトレース情報を出力している場合は,「表10‒12 コール種別がSQLの場合に実行されるコール」で説明している最初のコールの開始時刻が出力されます。 |
9 |
end_time |
処理の終了時刻が出力されます。 コール単位でSQLトレース情報を出力している場合は,各コールの終了時刻が出力されます。 SQL文単位でSQLトレース情報を出力している場合は,最後に実行したコールの終了時刻が出力されます。 |
10 |
exe_time(us) |
処理の実行時間がマイクロ秒単位で出力されます。
|
11 |
rows |
処理対象の行数が出力されます。 コール種別がFETC,EXEC,EXDI,またはSQLの場合に行数が出力されます。
|
12 |
tran_id |
データベースを初期化したときからの通番であるトランザクションIDが出力されます。 |
13 |
trn_iso_lv |
トランザクション隔離性水準が出力されます。
|
14 |
trn_access_mode |
トランザクションアクセスモードが出力されます。
|
15 |
sql_order_mode |
文字データの並び替え順序が出力されます。
|
16 |
cursor_holdability |
カーソルの動作が出力されます。
次に示す場合にカーソルの動作が出力されます。
|
17 |
message_log_info |
メッセージログ情報が出力されます。 メッセージログファイルに出力されるメッセージのクライアントプロセスIDおよびコネクション通番が出力されます。 メッセージログ情報をメッセージに出力されているクライアントプロセスIDおよびコネクション通番と突き合わせることで,SQL文のエラー発生時の原因調査に利用できます。利用方法の詳細については,「10.11.7 SQLトレース情報を使用したSQL文のエラー原因調査」を参照してください。 |
- 注
-
-
コール種別がCNCT,DISC,またはDISPの場合,stmt_hdl,sql_serial_num,rows,tran_id,trn_iso_lv,trn_access_mode,およびsql_order_modeの値は出力されません。
-
コール種別がCMITまたはRLBKの場合,stmt_hdl,sql_serial_num,およびrowsの値は出力されません。
-
トランザクションの決着によって解放される文ハンドル(SQL文のエラーによってトランザクションが決着した場合は,エラーが発生した文ハンドルを除く)が,次のどれかの条件を満たすときは,call,sqlcode,sqlstate,start_time,end_time,exe_time,およびrowsの値は出力されません。
・上記の文ハンドルの直前のコールがエラーとなった場合
・上記の文ハンドルの直前のコール種別がOPENの場合(SQLトレース情報の出力単位がコール単位の場合)
・上記の文ハンドルの直前のコール種別がFETCで,かつフェッチが1回だけ実行された場合(SQLトレース情報の出力単位がコール単位の場合)
-
項番 |
コール種別※1(callに出力された情報) |
実行された処理 |
出力単位※2 |
出力される追加の情報※3 |
---|---|---|---|---|
1 |
PREP |
SQL文の前処理 |
コール単位 |
2,4 |
2 |
OPEN |
カーソルのオープン |
3,4 |
|
3 |
CLOS |
カーソルのクローズ |
4,6 |
|
4 |
FETC |
1回目のフェッチ処理,または2回目から最後のフェッチ処理※4 |
4 |
|
5 |
EXEC |
SQL文の実行※5 |
3,4,6 |
|
6 |
EXDI |
SQL文の前処理および実行 |
2,4,6 |
|
7 |
CMIT |
コミット処理 |
コール単位またはSQL文単位 |
4,6※8 |
8 |
RLBK |
ロールバック処理 |
4 |
|
9 |
CNCT |
コネクションの確立(APの接続またはコマンドの接続) |
1,4,5,7 |
|
10 |
DISC |
コネクションの終了 |
4,5,7 |
|
11 |
DISP |
コネクションプール機能を使用した際のコネクションの終了 |
4 |
|
12 |
SQL |
SQL文単位での出力※6,※7 |
2,3,4,6 |
- 注※1
-
コール種別と実行したJDBCのメソッドの対応については,「(d) 実行したJDBCのメソッドと出力されるコール種別の対応」を参照してください。
コール種別と実行したODBC関数の対応については,「(e) 実行したODBC関数と出力されるコール種別の対応」を参照してください。
コール種別と実行したCLI関数の対応については,「(f) 実行したCLI関数と出力されるコール種別の対応」を参照してください。
- 注※2
-
サーバ定義のadb_sql_trc_levelオペランド,またはadbchgsqltrcコマンドで指定したSQLトレース情報を出力する単位を意味しています。
- 注※3
-
SQL文の実行情報以外に出力される情報です。表中の番号は,次の番号と対応しています。
1:クライアント定義情報およびコネクション状態に関する情報
2:実行したSQL文およびアクセスパス情報
3:?パラメタの情報
4:トランザクションの情報
5:認可識別子の情報
6:SQL文の統計情報およびアクセスパスの統計情報
7:コネクションの確立または終了の区切り線
- 注※4
-
コール種別がFETCの場合,フェッチの回数分のSQLトレース情報が出力されるわけではありません。フェッチの回数が2回以上の場合は,フェッチを繰り返し実行しても,SQL文の実行情報は2つ(1回目のフェッチ処理のSQL文の実行情報と,それ以降の全フェッチの実行結果をまとめたSQL文の実行情報)しか出力されません。フェッチの回数が1回の場合は,SQL文の実行情報は1つだけ出力されます。
- 注※5
-
?パラメタの値の一括転送を実施した場合,EXECのSQL文の実行情報は1つだけ出力されます。?パラメタの値の一括転送については,マニュアルHADB AP開発ガイドの?パラメタの値の一括転送を参照してください。
- 注※6
-
SQL記述ファイルを指定してadbexportコマンドを実行した場合,出力レベルがCALLでも,1つのSQL文の実行情報にまとめられて出力されます。その際,コール種別にはSQLが出力されます。
- 注※7
-
SQL文単位でSQLトレース情報を出力する場合,「表10‒12 コール種別がSQLの場合に実行されるコール」に示す実行されるコールに記載されている各コールのSQL文の実行情報が,1つのSQL文の実行情報にまとめられて出力されます。その際,コール種別にはSQLが出力されます。
表10‒12 コール種別がSQLの場合に実行されるコール 項番
SQL文の種類
実行されるコール※1
1
更新系SQL
PREP → EXEC
2
EXEC(項番1のコールが実行されたあとに,連続してEXECが実行される場合)
3
EXDI
4
定義系SQL
PREP → EXEC
5
EXDI
6
検索系SQL
PREP → OPEN → FETC → 〔FETC〕 → CLOS(明示的にカーソルをクローズした場合)
7
PREP → OPEN → FETC → 〔FETC〕(明示的にカーソルをクローズしない場合※2)
- 注
-
〔 〕で囲まれたコール種別は実行されないことがあります。
- 注※1
-
SQL文の実行時にエラーが発生した場合,「(c) SQL文の実行時にエラーが発生した場合のSQL文の実行情報の出力(コール種別がSQLの場合)」に示すとおりに,SQL文の実行情報が出力されます。
- 注※2
-
カーソルをクローズしないで文ハンドルを解放したり,トランザクションを決着したりした場合が該当します。ただし,「表10‒10 SQL文の実行情報に出力される項目」で説明している「cursor_holdability(カーソル動作)」がHOLD_CURSORS_OVER_COMMITの場合は,コミットしてもカーソルがクローズしないため,該当しません。
- 注※8
-
更新系SQLを含むトランザクションを実行した場合,コミット処理に関する統計情報がSQL文の統計情報として出力されます。
(c) SQL文の実行時にエラーが発生した場合のSQL文の実行情報の出力(コール種別がSQLの場合)
SQL文の実行時にエラーが発生した場合,次に示すコールのSQL文の実行情報が,1つにまとめて出力されます。
-
エラーとなったコール
-
「表10‒12 コール種別がSQLの場合に実行されるコール」で示すコールのうちエラーとなったコールの前に実行されたすべてのコール
ただし,エラーが発生したコール種別がFETCだけの場合は,そのエラーの延長で暗黙的なロールバックが発生したかどうかで処理が異なります。
-
エラー時に暗黙的なロールバックが発生した場合
エラーとなったFETCと,「表10‒12 コール種別がSQLの場合に実行されるコール」で示すコールのうちエラーとなったFETCの前に実行されたコールのSQL文の実行情報が1つにまとめて出力されます。
-
暗黙的なロールバックが発生しなかった場合
FETCがエラーとなっても,検索系SQLの実行が完了したとは見なされません。そのあと,CLOSの実行が完了した時点で,検索系SQLの実行が完了したと見なされます。その際,「表10‒12 コール種別がSQLの場合に実行されるコール」の「検索系SQL」の各コールのSQL文の実行情報が1つにまとめて出力されます。
SQL文がエラーになった場合の例を次に示します。
-
検索系SQLの実行時にOPENでエラーになった場合
PREPとOPENのSQL文の実行情報を1つにまとめて,SQL文単位のSQL文の実行情報として出力されます。
-
検索系SQLの実行時にFETCでエラーになり,暗黙的なロールバックが発生した場合
PREP,OPEN,〔FETC〕,FETCのSQL文の実行情報を1つにまとめて,SQL文単位のSQL文の実行情報として出力されます。
-
更新系SQLの実行時にPREPでエラーになった場合
PREPのSQL文の実行情報がSQL文単位のSQL文の実行情報として出力されます。
(d) 実行したJDBCのメソッドと出力されるコール種別の対応
実行したJDBCのメソッドと出力されるコール種別の対応を次の表に示します。
項番 |
実行したJDBCのメソッド |
出力されるコール種別 |
---|---|---|
1 |
Driverインタフェースのconnect(String url, Properties info) |
CNCT |
2 |
Connectionインタフェースのclose() |
CMIT,DISC,DISP |
3 |
Connectionインタフェースのcommit() |
CMIT |
4 |
ConnectionインタフェースのprepareStatement(String sql) |
PREP |
5 |
ConnectionインタフェースのprepareStatement(String sql, int resultSetType, int resultSetConcurrency) |
|
6 |
ConnectionインタフェースのprepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) |
|
7 |
Connectionインタフェースのrollback() |
RLBK |
8 |
Statementインタフェースのclose() |
CLOS,CMIT |
9 |
Statementインタフェースのexecute(String sql) |
PREP,OPEN,EXEC,EXDI,CLOS,CMIT,RLBK |
10 |
StatementインタフェースのexecuteBatch()またはexecuteLargeBatch() |
PREP,EXEC,EXDI,CMIT,RLBK |
11 |
StatementインタフェースのexecuteQuery(String sql) |
PREP,OPEN,CLOS,CMIT |
12 |
StatementインタフェースのexecuteUpdate(String sql)またはexecuteLargeUpdate(String sql) |
PREP,EXEC,EXDI,CMIT,RLBK |
13 |
StatementインタフェースのgetMoreResults() |
CLOS |
14 |
PreparedStatementインタフェースのexecute() |
PREP,OPEN,EXEC,CLOS,CMIT,RLBK |
15 |
PreparedStatementインタフェースのexecuteQuery() |
PREP,OPEN,CLOS,CMIT,RLBK |
16 |
PreparedStatementインタフェースのexecuteUpdate()またはexecuteLargeUpdate() |
PREP,EXEC,CMIT,RLBK |
17 |
ResultSetインタフェースのabsolute(int row) |
FETC |
18 |
ResultSetインタフェースのafterLast() |
|
19 |
ResultSetインタフェースのbeforeFirst() |
|
20 |
ResultSetインタフェースのfirst() |
|
21 |
ResultSetインタフェースのisAfterLast() |
|
22 |
ResultSetインタフェースのisBeforeFirst() |
|
23 |
ResultSetインタフェースのilast() |
|
24 |
ResultSetインタフェースのirelative(int rows) |
|
25 |
ResultSetインタフェースのisLast() |
|
26 |
ResultSetインタフェースのnext() |
|
27 |
ResultSetインタフェースのclose() |
CLOS,CMIT |
28 |
DatabaseMetaDataインタフェースのgetColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) |
PREP,OPEN |
29 |
DatabaseMetaDataインタフェースのgetCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) |
|
30 |
DatabaseMetaDataインタフェースのgetExportedKeys(String catalog, String schema, String table) |
|
31 |
DatabaseMetaDataインタフェースのgetImportedKeys(String catalog, String schema, String table) |
|
32 |
DatabaseMetaDataインタフェースのgetIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) |
|
33 |
DatabaseMetaDataインタフェースのgetPrimaryKeys(String catalog, String schema, String table) |
|
34 |
DatabaseMetaDataインタフェースのgetSchemas(String catalog, String schemaPattern) |
|
35 |
DatabaseMetaDataインタフェースのgetTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) |
|
36 |
DatabaseMetaDataインタフェースのgetTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) |
|
37 |
DatabaseMetaDataインタフェースのgetSchemas() |
|
38 |
DataSourceインタフェースのgetConnection() |
CNCT |
39 |
DataSourceインタフェースのgetConnection(String username, String password) |
|
40 |
PooledConnectionインタフェースのclose() |
DISC |
41 |
PooledConnectionインタフェースのgetConnection() |
CNCT |
(e) 実行したODBC関数と出力されるコール種別の対応
実行したODBC関数と出力されるコール種別の対応を次の表に示します。
項番 |
実行したODBC関数 |
出力されるコール種別 |
---|---|---|
1 |
SQLPrepare(W) |
PREP |
2 |
SQLExecute |
PREP,EXEC,OPEN,CMIT |
3 |
SQLExecDirect(W) |
PREP,EXEC,CMIT |
4 |
SQLParamData |
EXEC,OPEN,CMIT |
5 |
SQLFetch |
FETC |
6 |
SQLColumns(W) |
PREP,OPEN |
7 |
SQLForeignKeys(W) |
|
8 |
SQLPrimaryKeys(W) |
|
9 |
SQLStatistics(W) |
|
10 |
SQLTablePrivileges(W) |
|
11 |
SQLTables(W) |
|
12 |
SQLFreeStmt |
CLOS,CMIT |
13 |
SQLCloseCursor |
|
14 |
SQLEndTran |
CMIT,RLBK |
15 |
SQLDisconnect |
CMIT,DISC |
16 |
SQLFreeHandle |
CMIT |
17 |
SQLSetConnectAttr(W) |
|
18 |
SQLConnect(W) |
CNCT,DISC |
19 |
SQLDriverConnect(W) |
|
20 |
SQLBrowseConnect(W) |
(f) 実行したCLI関数と出力されるコール種別の対応
実行したCLI関数と出力されるコール種別の対応を次の表に示します。
項番 |
実行したCLI関数 |
出力されるコール種別 |
---|---|---|
1 |
a_rdb_SQLPrepare() |
PREP |
2 |
a_rdb_SQLExecute() |
OPEN,EXEC |
3 |
a_rdb_SQLCloseCursor() |
CLOS |
4 |
a_rdb_SQLFetch() |
FETC |
5 |
a_rdb_SQLExecDirect() |
EXDI |
6 |
a_rdb_SQLEndTran() |
CMIT,RLBK |
7 |
a_rdb_SQLConnect() |
CNCT |
8 |
a_rdb_SQLDisconnect() |
DISC |
(3) クライアント定義情報
クライアント定義情報の出力例を次に示します。
■クライアント定義情報の出力例
[client definitions] adb_clt_ap_name="SAMPLE" adb_clt_fetch_size=1024 adb_clt_group_name="test_group" adb_clt_sql_order_mode="ISO" adb_clt_sql_parallel_exec="N" adb_clt_sql_text_out="Y" adb_clt_trn_access_mode="READ_WRITE" adb_clt_trn_iso_lv="READ_COMMITTED" adb_dbbuff_wrktbl_clt_blk_num=256 adb_sql_exe_hashflt_area_size=200 adb_sql_exe_hashgrp_area_size=4800 adb_sql_exe_hashtbl_area_size=2000 adb_sql_exe_max_rthd_num=0 adb_sql_prep_dec_div_rs_prior="FRACTIONAL_PART" adb_sql_prep_delrsvd_use_srvdef="Y" adb_sql_prep_null_collation = "HIGH"
APの接続の場合は,そのAPに適用されているクライアント定義の情報が出力されます。コマンドの接続の場合は,クライアント定義情報は出力されません。
なお,クライアント定義情報に出力される各オペランドの値は,クライアント定義に指定した値ではなく,APに適用された値が出力されます。例えば,クライアント定義のadb_sql_exe_max_rthd_numオペランドの指定値が不正なため,HADBサーバが仮定する値に変更されている場合,クライアント定義の指定値ではなく,HADBサーバが仮定した値が出力されます。
- メモ
-
次に示す場合にクライアント定義情報が出力されます。
-
コール種別がCNCTで,かつCNCTが正常終了したとき
-
adbchgsqltrc -sコマンドを実行して,SQLトレース情報を出力したあとの最初のトランザクションを開始したとき(トランザクションを開始したコネクションのクライアント定義情報が出力されます)
-
(4) コネクション状態に関する情報
コネクション状態に関する情報の出力例を次に示します。
■コネクション状態に関する情報の出力例(APの接続の場合)
[connection status]
client_type=AP(JDBC)
client_ip=127.0.0.1
connect_time=2015/07/31 21:54:41
client_process_id=0
connection_information=000010000000001-0000181584fb6700
authentication_type=DB
■コネクション状態に関する情報の出力例(コマンドの接続の場合)
[connection status]
client_type=command(adbimport)
client_ip=127.0.0.1
connect_time=2015/07/31 16:10:37
client_process_id=30422
connection_information=000010000000003-000073b601e46700
authentication_type=DB
コネクション状態に関する情報に出力される項目を次の表に示します。
項番 |
項目名 |
説明 |
---|---|---|
1 |
client_type |
HADBクライアントの種類が出力されます。
|
2 |
client_ip |
HADBクライアントのIPアドレスが出力されます。 |
3 |
connect_time |
コネクションを確立した時刻が出力されます。 |
4 |
client_process_id |
HADBクライアントのプロセスIDが出力されます。 JDBCドライバを使用している場合は0が出力されます。 |
5 |
connection_information |
コネクション情報(KFAA81000-Iメッセージのconnection informationに出力される情報)が出力されます。 |
6 |
authentication_type |
HADBユーザのユーザ認証方式が出力されます。
|
- メモ
-
次に示す場合にコネクション状態に関する情報が出力されます。
-
コール種別がCNCTで,かつCNCTが正常終了したとき
-
adbchgsqltrc -sコマンドを実行して,SQLトレース情報を出力したあとの最初のトランザクションを開始したとき(トランザクションを開始したコネクションのコネクション状態に関する情報が出力されます)
-
(5) 実行したSQL文とアクセスパス情報
実行したSQL文とアクセスパス情報の出力例を次に示します。
■実行したSQL文とアクセスパス情報の出力例
[SQL] SELECT * FROM "T1" WHERE "C1"=? AND "C2"=? AND "C3"=? [access path] <<Tree View>> 1 QUERY : 1 2 SELECT STATEMENT 3 +-TABLE SCAN(ADBUSER01.T1) <<SQL Info >> Version : 03-01(Jul 31 2015 21:31:44) Transaction ID : 4342 Connection Number : 1 SQL Serial Number : 1
- [説明]
-
-
[SQL]
実行したSQL文が出力されます。
ALTER USER文またはCREATE USER文のパスワード部分については,*が出力されます。
SQL文中に印字できない特殊文字が含まれている場合でも,そのまま出力されます。
-
[access path]
アクセスパス情報が出力されます。アクセスパス情報に出力される項目については,マニュアルHADB AP開発ガイドのアクセスパスの見方(SQL文の実行計画の見方)を参照してください。
-
- メモ
-
次に示す場合に,実行したSQL文とアクセスパス情報が出力されます。
-
コール種別がPREPの場合※
-
コール種別がEXDIの場合
-
コール種別がSQLの場合
- 注※
-
アクセスパス情報は,PREPが正常終了したときに出力されます。PREPが正常終了しなかったときは,実行したSQL文だけが出力されます。
-
(6) ?パラメタの情報
?パラメタの情報の出力例を次に示します。
■?パラメタの情報の出力例
[param] param_no type len1 len2 data -------- --------- ----- ----- ---- 1 int 8 1 2 char 2 'ab' 3 dec 7 3 1234.567
?パラメタの情報に出力される項目を次の表に示します。
項番 |
項目名 |
説明 |
---|---|---|
1 |
param_no |
SQL文中の?パラメタの通番が出力されます。 |
2 |
type |
?パラメタのデータ型が出力されます。 |
3 |
len1 |
パラメタ長が出力されます。 |
4 |
len2 |
パラメタ長属性が出力されます。パラメタ長属性がない場合は出力されません。 パラメタ長およびパラメタ長属性については,マニュアルHADB AP開発ガイドのa_rdb_SQLDescribeParams()(?パラメタの情報取得)を参照してください。 |
5 |
data |
?パラメタにバインドされたデータが出力されます。 |
?パラメタの情報の出力形式を次の表に示します。
項番 |
データ型 |
type |
len1 |
len2 |
出力形式 |
---|---|---|---|---|---|
1 |
INTEGER |
int |
8 |
なし |
10進数形式 |
2 |
BIGINT |
||||
3 |
DECIMAL(m, n)※1 |
dec |
m |
n |
10進数形式 |
4 |
NUMERIC(m, n)※1 |
||||
5 |
SMALLINT |
smallint |
4 |
なし |
10進数形式 |
6 |
DOUBLE PRECISION |
double |
8 |
なし |
仮数E指数 仮数および指数は10進数形式で出力されます。 |
7 |
FLOAT |
||||
8 |
CHARACTER(n) |
char |
n |
なし |
'文字列形式' |
9 |
VARCHAR(n) |
varchar |
n |
なし |
'文字列形式' 実長0の場合は,''と出力されます。 |
10 |
DATE |
date |
4 |
なし |
日付データの既定の出力表現※2で出力されます。 |
11 |
TIME(p)※3 |
time |
3+↑p÷2↑ |
p |
時刻データの既定の出力表現※2で出力されます。 |
12 |
TIMESTAMP(p)※3 |
timestamp |
7+↑p÷2↑ |
p |
時刻印データの既定の出力表現※2で出力されます。 |
13 |
BINARY(n) |
binary |
n |
なし |
X'16進数値' |
14 |
VARBINARY(n) |
varbinary |
n |
なし |
X'16進数値' 実長0の場合は,X''と出力されます。 |
15 |
ROW |
row |
行長 |
なし |
X'16進数値' |
- (凡例)
-
m,n,p:正の整数
- 注※1
-
データ型がDECIMAL型またはNUMERIC型の場合,len1として精度を取得します。また,len2として位取りを取得します。
- 注※2
-
既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
- 注※3
-
データ型がTIME型またはTIMESTAMP型の場合,len1としてデータ長を取得します。また,len2として小数秒の桁数を取得します。
- ■?パラメタの情報の出力規則
-
-
バインドされたデータがナル値の場合は,NULLが出力されます。
-
?パラメタに印字できない特殊文字が含まれていても,そのまま出力されます。
-
NULL述語に?パラメタを単独で指定した場合,ナル値以外のデータをバインドしてもdata欄には何も出力されません。ナル値がバインドされた場合は,data欄にNULLが出力されます。
-
?パラメタの値の一括転送を実施した場合,?パラメタセットごとにヘッダ(param_no,type,len1,len2,data,および区切り線)が出力されて,データも出力されます。ただし,[param]は,1回の一括転送で1回だけ出力されます。
?パラメタの値の一括転送については,マニュアルHADB AP開発ガイドの?パラメタの値の一括転送を参照してください。
-
- メモ
-
次に示す条件をすべて満たす場合に?パラメタの情報が出力されます。
-
SQL文中に?パラメタが指定されている場合
-
コール種別がOPEN,EXEC,またはSQLの場合
-
(7) SQLパラレル実行機能に関する情報
SQLパラレル実行機能に関する情報の出力例を次に示します。
■SQLパラレル実行機能に関する情報の出力例
[parallel] node_no sql_node_type ------- ------------- 3 MAIN 1 SUB 4 SUB 6 SUB
SQLパラレル実行機能に関する情報に出力される項目を次の表に示します。
項番 |
項目名 |
説明 |
---|---|---|
1 |
node_no |
SQLパラレル実行機能を適用した検索系SQLが実行されたノードのノード番号が出力されます。 |
2 |
sql_node_type |
SQLパラレル実行機能を適用した検索系SQLが実行されたノードのSQLノード種別が出力されます。
|
- メモ
-
SQL文の実行時にSQLパラレル実行機能が適用され,かつ次に示すどちらかの条件を満たす場合に,SQLパラレル実行機能に関する情報が出力されます。
-
コール種別がOPENで,かつOPENが正常終了した場合
-
コール種別がSQLの場合
-
(8) トランザクションの情報
トランザクションの情報の出力例を次に示します。
■トランザクションの情報の出力例
トランザクションの情報に出力される項目を次の表に示します。
項番 |
項目名 |
説明 |
---|---|---|
1 |
tran_id |
データベースを初期化したときからの通番であるトランザクションIDが出力されます。 |
2 |
start_time |
トランザクションの開始時刻が出力されます。 |
3 |
end_time |
トランザクションの終了時刻が出力されます。 |
4 |
exe_time(us) |
トランザクションの実行時間がマイクロ秒単位で出力されます。トランザクションの終了時刻と開始時刻の差が出力されます。 |
5 |
trn_iso_lv |
トランザクション隔離性水準が出力されます。
|
6 |
trn_access_mode |
トランザクションアクセスモードが出力されます。
|
7 |
sql_order_mode |
文字データの並び替え順序が出力されます。
|
8 |
~ |
トランザクション情報の区切り線として,「~」が出力されます。 |
- メモ
-
次に示す場合にトランザクションの情報が出力されます。
-
コール種別がCMITまたはRLBKの場合
-
暗黙的なトランザクションの決着が発生した場合※
- 注※
-
定義系SQL,TRUNCATE TABLE文,またはPURGE CHUNK文の実行が正常終了したときに暗黙的なコミットが実行されます。
また,SQL文のエラーが発生したときに,暗黙的なロールバックが実行されることがあります。その場合,メッセージログファイルにKFAA51001-Eメッセージが出力されます。
トランザクション実行中にコネクションを終了した場合も,暗黙的なコミットが実行されます。
-
(9) 認可識別子の情報
認可識別子の情報の出力例を次に示します。
■認可識別子の情報の出力例
- コール種別がCNCTの場合
-
ADBUSER01 has been connected.
- コール種別がDISCの場合
-
ADBUSER01 has been disconnected.
- [説明]
-
下線部分には,APのコネクション確立時に指定した認可識別子が出力されます。
コマンドのコネクションの場合は,コマンドの-uオプションに指定した認可識別子が出力されます。HADBサーバに接続するコマンドであっても,-uオプションを指定しないコマンドの場合は,認可識別子の情報は出力されません。
- メモ
-
次に示す場合に認可識別子の情報が出力されます。
-
コール種別がCNCTで,かつCNCTが正常終了した場合
-
コール種別がDISCで,かつDISCが正常終了した場合
-
(10) SQL文の統計情報
SQL文の統計情報の出力例を次に示します。情報量が多いため,2つに分けています。
■SQL文の統計情報の出力例(その1)
■SQL文の統計情報の出力例(その2)
- [説明]
-
SQL文の統計情報に出力される項目は,adbstatコマンドのSQL文の統計情報に出力される項目と同じです。出力される項目については,マニュアルHADB コマンドリファレンスのSQL文の統計情報で出力される項目を参照してください。
- メモ
-
次に示す場合にSQL文の統計情報が出力されます。
-
コール種別がCLOSの場合(カーソルをクローズしないで文ハンドルを解放したり,トランザクションを決着したりした場合を含む)
-
コール種別がEXEC,EXDI,およびSQLの場合
-
(11) アクセスパスの統計情報
アクセスパスの統計情報の出力例および出力項目については,「10.11.3 アクセスパスの統計情報の出力例と出力項目」を参照してください。
(12) コネクションの確立または終了の区切り線
コネクションの確立または終了の区切り線として,「*」を255個出力します。
■コネクションの確立の区切り線の出力例(コール種別がCNCTの場合)
■コネクションの終了の区切り線の出力例(コール種別がDISCの場合)
- メモ
-
次に示す場合に,コネクションの確立または終了の区切り線が出力されます。
-
コール種別がCNCTの場合
-
コール種別がDISCの場合で,かつDISCが正常終了した場合
-
(13) SQL文の基本情報
SQL文単位でSQLトレース情報を出力した場合,SQL文の基本情報が出力されます。SQL文の基本情報の出力例を次に示します。
■SQL文の基本情報の出力例
- [説明]
-
-
con_id
コネクションIDが出力されます。
-
con_num
HADBサーバの開始後に割り振られるコネクション通番が出力されます。
-
stmt_hdl
SQL文に割り当てられた文ハンドルが出力されます。
-
sql_serial_num
コネクション確立後に割り振られるSQL文通番が出力されます。
-
- メモ
-
次に示す情報が出力されるときにSQL文の基本情報が出力されます。
-
実行したSQL文とアクセスパス情報
-
?パラメタの情報
-
SQLパラレル実行機能に関する情報
上記の出力例は,実行したSQL文とアクセスパス情報と,SQL文の基本情報が出力された例です。
-