スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

23.8 監査証跡表の列構成

監査証跡表の列構成を次の表に示します。

表23-19 監査証跡表の列構成

列名称 列の内容 列のデータ型 NULL値
の指定
USER_NAME 監査対象のイベント実行者の認可識別子です。
HiRDB管理者や一般OSユーザが実行するコマンド又はユティリティの場合は,OSユーザ名が記録されます。
MVARCHAR(30) なし
EXEC_DATE イベントの実行日です。
イベント実行日とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻の日を示しています。
DATE なし
EXEC_TIME イベントの実行時刻です。
イベント実行時刻とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻を示しています。
TIME なし
EXEC_TIME_MICRO イベントの実行時刻です(単位:マイクロ秒)。
イベント実行時刻とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻を示しています。
INTEGER なし
EVENT_TYPE イベントタイプです。イベントタイプ及びイベントサブタイプについては,「(1)イベントタイプ及びイベントサブタイプの詳細」を参照してください。 CHAR(3) なし
EVENT_SUBTYPE イベントサブタイプです。イベントタイプ及びイベントサブタイプについては,「(1)イベントタイプ及びイベントサブタイプの詳細」を参照してください。 CHAR(3) なし
EVENT_RESULT イベントの実行結果です。権限のチェック又はイベントが成功したかどうかが記録されます。
S:権限のチェック又はイベントに成功しました。
F:権限のチェック又はイベントに失敗しました。
U:イベントの一部が失敗しました。
CHAR(1) なし
USED_PRIVILEGE イベントを実行したときに使用した権限です。イベントの終了時には‘△△△’(空白3文字)が記録されます。
AUD:監査権限
CNT:CONNECT権限
DBA:DBA権限
DEL:DELETE権限
INS:INSERT権限
OWN:所有者
RDA:RDエリア利用権限
SCH:スキーマ定義権限
SEL:SELECT権限
SYS:HiRDB管理者
UPD:UPDATE権限
USG:順序数生成子使用権限
CHAR(3) なし
UAP_NAME イベント発行元のUAP名です。※1
UAP名が30文字未満の場合は,UAP名の後ろに’△’(空白)が合計30文字になるまで設定されます。
それ以外の場合はNULL値が記録されます。
VARCHAR(30) あり
SERVICE_NAME イベント発行元のUAPが要求したサービス名です。OpenTP1のUAPの場合はSPP又はMHPに要求したサービスの名称になります。
OpenTP1以外のUAPの場合,連続した31個の*(アスタリスク)が記録されます。
それ以外の場合はNULL値が記録されます。
VARCHAR(31) あり
IP_ADDRESS イベント発行元のIPアドレスです。イベント発行元のIPアドレスが識別できない場合はNULL値が記録されます。 VARCHAR(63) あり
PROCESS_ID イベント発行元のプロセスIDです。イベント発行元のプロセスIDが識別できない場合はNULL値が記録されます。
コマンド又はユティリティの場合は,実行されたコマンドのプロセスIDが記録されます。
システムによる監査証跡の上書き開始は監査証跡管理サーバプロセスのプロセスIDが記録されます。
Type4 JDBCドライバから接続した場合は,0が記録されます。
それ以外の場合は,CONNECTしたシングルサーバ又はフロントエンドサーバのプロセスIDが記録されます。
INTEGER あり
THREAD_ID イベント発行元のスレッドIDです。イベント発行元のスレッドIDが識別できない場合はNULL値が記録されます。 INTEGER あり
HOST_NAME イベントを受け付けたホスト名です。pdunitオペランドの-xオプションに指定したホスト名が記録されます。系切り替え機能を使用している場合は,現用系のホスト名が記録されます。
イベントを受け付けたホスト名が識別できない場合はNULL値が記録されます。
VARCHAR(32) あり
UNIT_NAME イベントを受け付けたユニット識別子です。pdunitオペランドの-uオプションに指定したユニット識別子が記録されます。
イベントを受け付けたユニット識別子が識別できない場合はNULL値が記録されます。
CHAR(4) あり
SERVER_NAME イベントを受け付けたサーバ名です。HiRDB/シングルサーバの場合はシングルサーバ名が,HiRDB/パラレルサーバの場合はフロントエンドサーバ名が記録されます。pdstartオペランドの-sオプションに指定したサーバ名が記録されます。
イベントを受け付けたサーバ名が識別できない場合はNULL値が記録されます。
VARCHAR(8) あり
CONNECT_NUMBER イベント発行者のコネクト通番です。イベント発行者のコネクト通番が識別できない場合はNULL値が記録されます。 INTEGER あり
SQL_NUMBER イベントのSQL通番です。イベントのSQL通番が識別できない場合はNULL値が記録されます。 INTEGER あり
OBJECT_SCHEMA オブジェクト情報の詳細※2 イベントの権限チェックの対象になるオブジェクトの所有者名です。オブジェクトの所有者が識別できない場合はNULL値が記録されます。 MVARCHAR(30) あり
OBJECT_NAME イベントの権限チェックの対象になるオブジェクト名です。オブジェクト名が識別できない場合はNULL値が記録されます。 MVARCHAR(30) あり
OBJECT_TYPE イベントの権限チェックの対象になるオブジェクトの種別です。オブジェクトの種別が識別できない場合はNULL値が記録されます。
ALS:別名
AUF:監査証跡ファイル
FID:外部インデクス
FNC:関数
FSV:外部サーバ
FTB:外部表
IDX:インデクス
LST:リスト
PRC:プロシジャ
RDA:RDエリア
SCH:スキーマ
SEQ:順序数生成子
TBL:表
TRG:トリガ
TYP:データ型
USM:ユーザマッピング
VIW:ビュー表
CHAR(3) あり
PRIVILEGE_TYPE イベントによって付与,削除,又は変更した権限です。権限が識別できない場合はNULL値が記録されます。
AUD:監査権限
CNT:CONNECT権限
DBA:DBA権限
DEL:DELETE権限
INS:INSERT権限
RDA:RDエリア利用権限
SCH:スキーマ定義権限
SEL:SELECT権限
UPD:UPDATE権限
CHAR(3) あり
PRIVILEGE_SCHEMA イベントによって権限を付与,削除,又は変更されたユーザの認可識別子です。又は,イベント対象になったユーザの認可識別子です。
認可識別子が識別できない場合はNULL値が記録されます。
  • GRANT又はREVOKE:権限を付与,削除,変更された認可識別子又はロール名
  • 連続認証失敗アカウントロック状態への遷移又は連続認証失敗アカウントロック状態の解除:対象となった認可識別子
  • パスワード無効アカウントロック状態への遷移又はパスワード無効アカウントロック状態の解除:対象となった認可識別子
MVARCHAR(30) あり
SECURITY_OPERAND セキュリティ監査機能に関するオペランドの値です。HiRDB開始時のオペランドの値です。開始時以外はNULL値が記録されます。
セキュリティ監査機能に関するオペランドの値については,「(2)セキュリティ監査機能に関するオペランドの値」を参照してください。
VARCHAR(256) あり
AUDIT_TRAIL_TYPE 監査証跡の種別です。イベントの結果を示す監査証跡と,イベント実行中の権限チェックの結果を示す監査証跡を区別するための値を記録します。
権限チェック:NULL
イベント終了:E
CHAR(1) あり
SQL_CODE SQLコード又は終了コードです。監査記録の対象となるイベント終了時,SQLによるイベントに対してはSQLコードを,ユティリティ(又はコマンド)に対しては終了コードを記録します。権限チェック時はNULL値が記録されます。
イベント終了時のイベント成否エントリの値は,このコードの値によって決定します。監査記録エントリの各コードとイベント成否の詳細については,「(3)SQLコード又は終了コードとイベント成否の詳細」を参照してください。
INTEGER あり
FROM_AUDFILE_NAME スワップ元の監査証跡ファイル名です。監査証跡ファイル名が識別できない場合はNULL値が記録されます。 MVARCHAR(30) あり
TO_AUDFILE_NAME スワップ先の監査証跡ファイル名です。監査証跡ファイル名が識別できない場合はNULL値が記録されます。 MVARCHAR(30) あり
SECURITY_PARM_TYPE CONNECT関連セキュリティ機能に関する変更種別です。※3 CHAR(4) あり
BEFORE_SECURITY_PARM 変更前のCONNECT関連セキュリティ機能の設定値です。※3
設定値が10文字未満の場合,設定値の後ろを空白で埋めて(設定値+空白が10文字になるまで)記録されます。
CHAR(10) あり
AFTER_SECURITY_PARM 変更後のCONNECT関連セキュリティ機能の設定値です。※3
設定値が10文字未満の場合,設定値の後ろを空白で埋めて(設定値+空白が10文字になるまで)記録されます。
CHAR(10) あり
AUDIT_TABLE_OPTION 監査証跡表オプションです。権限チェック時は記録されません。次に示す場合に記録されます。
  • イベントの対象オブジェクトが監査証跡表の場合
  • イベントの対象オブジェクトが監査証跡表を基表としたビュー表の場合
  • イベントの対象オブジェクトが監査証跡表を基表としたリストの場合
Y:操作対象オブジェクトが監査証跡表
V:操作対象オブジェクトが監査証跡表を基表としたビュー表
L:操作対象オブジェクトが監査証跡表を基表としたリスト
NULL値:上記以外又は権限チェック時
監査証跡表オプションの出力有無の詳細については,「(5)監査証跡表オプションの出力有無」を参照してください。
CHAR(1) あり
ACCESS_COUNT ユーザが,オブジェクト(実表,ビュー表,外部表,表別名,及びリスト)に対して検索,挿入,更新,及び削除をした行数です。取得できるアクセス件数は0〜2147483647で,アクセス件数の取得に失敗した場合はNULL値が記録されます。
アクセス件数の詳細については,「(6)アクセス件数の詳細」を参照してください。
INTEGER あり
SQL_SOURCE 実行したSQL文です。一つのSQL文で複数のオブジェクトが操作される場合,最初の監査証跡にSQL文が記録され,以降の監査証跡のSQL文にはNULL値が記録されます。また,次の場合もNULL値が記録されます。
  • 実行したSQL文がない場合
  • システム共通定義のpd_aud_sql_source_sizeオペランドを指定していない,又は0を指定した場合
記録するSQL文の長さは,システム共通定義のpd_aud_sql_source_sizeオペランドで指定します。記録するSQL文の長さがシステム定義の指定値よりも長い場合は,SQL文の先頭から指定値までの内容が記録され,残りは切り捨てられます。
BINARY(2000000) あり
SQL_DATA 実行したSQL文で入力に指定した埋込み変数,又はSQL記述領域のデータが記録されます。一つのSQL文で複数のオブジェクトが操作される場合,最初の監査証跡にSQLデータが記録され,以降の監査証跡のSQLデータにはNULL値が記録されます。また,次の場合もNULL値が記録されます。
  • 入力に指定した埋込み変数,又はSQL記述領域がない場合
  • システム共通定義のpd_aud_sql_data_sizeオペランドを指定していない場合
記録するSQLデータの長さは,システム共通定義のpd_aud_sql_data_sizeオペランドで指定します。記録するSQLデータの長さがシステム定義の指定値よりも長い場合は,SQLデータの先頭から指定値までの内容が記録され,残りは切り捨てられます。SQLデータの詳細については,「(7)SQLデータの詳細」を参照してください。
BINARY(1000000) あり
USER_INFO_1 埋込み言語DECLARE AUDIT INFO SETを宣言し,ユーザ付加情報1〜3に埋込み変数を設定している場合,各ユーザ付加情報の値が記録されます。ただし,次の場合はNULL値が記録されます。
  • 埋込み言語DECLARE AUDIT INFO SETを宣言していない場合
  • ユーザ付加情報の値を設定していない場合
  • ユーザ付加情報の値にNULL値を指定して,設定を解除している場合
  • ユーザ付加情報の値が識別できない場合
VARCHAR(100) あり
USER_INFO_2 VARCHAR(100) あり
USER_INFO_3 VARCHAR(100) あり
PRODUCT_INFO_1 システムが使用する情報です。該当する情報がない場合,又は情報が認識できない場合は,NULL値が記録されます。 VARCHAR(255) あり
PDLOAD_TIMESTAMP pdloadコマンド実行による監査証跡表へのデータ登録(監査証跡表へのデータロード)時の時刻印です。※4
時刻印はシステムマネジャのあるサーバマシンの時刻印を使用し,一度のpdloadの実行ですべて同じ値を記録します。
TIMESTAMP(2) あり
PDLOAD_SEQNUM 1回のpdloadコマンド実行による監査証跡表へのデータ登録時の通番です。※4
pdloadコマンドの実行ごとに1〜10けたの10進数の値(1〜(231−1))を設定します。pdloadコマンドを実行している間に最大値(231−1)に到達した場合,1に戻して記録します。
INTEGER あり

  • NULL値の指定がありの列の場合は非ナル値制約にNULLが設定されています。NULL値なしの列の場合は非ナル値制約にNOT NULLが設定されています。
  • バージョンアップの前後で監査証跡表の列構成が変わる場合,バージョンアップ後にバージョンアップ前のデータを監査証跡表に登録すると,既存行の新規追加列にはNULL値が設定されます。

注※1
検索時のキーとして使用する場合は,CAST指定によってCHAR(30)に属性を変換して条件式に指定してください。
(例)
   SELECT * FROM SQL_AUDIT_TRAIL
       WHERE UAP_NAME=CAST('UAP11' AS CHAR(30));
 

注※2
権限チェック時:
権限チェックの対象となるオブジェクトを記録します。ただし,実行者の権限チェックをした場合は,チェック対象のオブジェクトはないため記録しません。
(例)
  • 表T1に対するアクセス権限をチェックした場合の対象オブジェクト:表T1
  • 実行者がDBA権限を持っているかチェックした場合の対象オブジェクト:NULL値
イベント終了時:
イベントの対象となるオブジェクトを記録します。イベントの対象に指定したオブジェクトがない場合は,オブジェクト種別は表として記録されます。
(例)
  • 表を検索した場合の対象オブジェクト:検索した表

注※3
次に示す場合に記録されます。なお,記録される情報については,「(4)CONNECT関連セキュリティ機能使用時に記録される情報」を参照してください。
  • CONNECT関連セキュリティ機能の設定を変更した場合
  • パスワードを登録又は変更した場合

注※4
監査証跡ファイルには記録されません。
<この節の構成>
(1) イベントタイプ及びイベントサブタイプの詳細
(2) セキュリティ監査機能に関するオペランドの値
(3) SQLコード又は終了コードとイベント成否の詳細
(4) CONNECT関連セキュリティ機能使用時に記録される情報
(5) 監査証跡表オプションの出力有無
(6) アクセス件数の詳細
(7) SQLデータの詳細

(1) イベントタイプ及びイベントサブタイプの詳細

イベントタイプ及びイベントサブタイプの詳細を次の表に示します。

表23-20 イベントタイプ及びイベントサブタイプの詳細

監査イベント イベント
タイプの値
イベントサブ
タイプの値
イベント
システム管理者セキュリティイベント SYS STR HiRDBの開始
STP HiRDB終了
MOD 監査人の登録,又は監査証跡表の作成(pdmodコマンド)
ARM 監査証跡ファイルの削除(pdaudrmコマンド)
ABG 監査証跡の取得開始(pdaudbeginコマンド,HiRDB起動)
AEN 監査証跡の取得終了(pdaudendコマンド,HiRDB停止)
OVW 監査証跡ファイルの上書き開始
CLK 連続認証失敗アカウントロック状態への遷移
CUL 連続認証失敗アカウントロック状態の解除
PLK パスワード無効アカウントロック状態への遷移
PUL パスワード無効アカウントロック状態の解除
SPR CONNECT関連セキュリティ機能に関するオペランドの指定値変更
ULK pdacnlckコマンドの実行
監査人セキュリティイベント AUD ALD 監査人による監査証跡表へのデータロード(pdloadコマンド)
ATL HiRDBによる監査証跡表へのデータロード(pdloadコマンド)
ASW 監査証跡ファイルのスワップ(pdaudswapコマンド)
CRT 監査対象イベントの定義(CREATE AUDIT)
DRP 監査対象イベントの削除(DROP AUDIT)
GRT 監査人のパスワード変更(GRANT AUDIT)
ATB 監査証跡表の自動データロード機能再開始(pdaudatld -bコマンド)
ATT 監査証跡表の自動データロード機能停止(pdaudatld -tコマンド,データロード失敗)
APT JP1/NETM/Audit用監査ログ出力ファイルへの出力(pdaudputコマンド)
セッションセキュリティイベント SES CNT HiRDBへの接続(CONNECT文)
ATH ユーザの変更(SET SESSION AUTHORIZATION文)
DIS HiRDBとの切り離し(DISCONNECT文)
権限管理イベント PRV GRT ユーザ権限の付与(GRANT文)
パスワードの変更(CONNECT関連セキュリティ機能の設定変更種別にパスワードの変更であることが分かる情報を付与する)
RVK ユーザ権限の削除(REVOKE文)
オブジェクト定義イベント DEF CRT オブジェクトの定義(CREATE系SQL)
DRP オブジェクトの削除(DROP系SQL)
ALT オブジェクトの変更(ALTER系SQL)
オブジェクト操作イベント ACS SEL 表の検索(SELECT文)
INS 表への行挿入(INSERT文)
UPD 表の行更新(UPDATE文)
DEL 表からの行削除(DELETE文)
PRG 表の全行削除(PURGE TABLE文)
CAL ストアドプロシジャの実行(CALL文)
LCK 表の排他制御(LOCK TABLE文)
ASN リストの作成(ASSIGN LIST文)
NXV 順序数生成子が生成する値の返却(NEXT VALUE式)
ユティリティ操作イベント UTL LOD データベース作成ユティリティ(pdloadコマンド)
ORG データベース再編成ユティリティ(pdrorgコマンド)
EXP ディクショナリ搬出入ユティリティ(pdexpコマンド)
pddefrevコマンド
CST 整合性チェックユティリティ(pdconstckコマンド)

(2) セキュリティ監査機能に関するオペランドの値

セキュリティ監査機能に関するオペランドの値を次の表に示します。また,オペランドの値を記録するときのデータ形式を次の図に示します。

表23-21 セキュリティ監査機能に関するオペランドの値

オペランド名 データ型 格納される値
pd_audit CHAR(1) Y又はN
pd_aud_file_name VARCHAR(167) 監査証跡ファイル用のHiRDBファイルシステム領域名
pd_aud_max_generation_size VARCHAR(4) 1〜5240
pd_aud_max_generation_num VARCHAR(3) 2〜200
pd_aud_no_standby_file_opr VARCHAR(10) down又はforcewrite
pd_aud_async_buff_size VARCHAR(7) 0,4096〜6553600
pd_aud_async_buff_count VARCHAR(4) 1〜6500
pd_aud_file_wrn_pnt VARCHAR(6) 0〜100及び0〜99
pd_audit_def_buffer_size VARCHAR(7) 1〜2000000
pd_aud_async_buff_retry_intvl VARCHAR(4) 0〜1000
pd_aud_sql_source_size VARCHAR(7) 0〜2000000
pd_aud_sql_data_size VARCHAR(7) 0〜1000000
pd_aud_auto_loading CHAR(1) Y又はN

図23-7 セキュリティ監査機能に関するオペランドの値を記録するときのデータ形式

[図データ]

(3) SQLコード又は終了コードとイベント成否の詳細

SQLコード又は終了コードとイベント成否の詳細を次の表に示します。

表23-22 SQLコード又は終了コードとイベント成否の詳細

イベント名称 SQLコード又は
終了コードの値
意味 イベント
成否の値
備考
各種SQL 0以上 成功 S
失敗 F
pdstart 0 成功 S
4 成功 S
8 失敗 F 次に示す場合は監査証跡を取得できません。
  • 監査証跡管理サーバプロセス開始前に失敗となった場合
  • pdstartコマンドの失敗によってユニットが異常終了した場合
pdstop 0 成功 S 監査証跡管理サーバプロセス終了後に失敗となった場合は,成功の監査証跡を出力します。
4 成功 S
8 失敗 F
pdmod(監査人の登録,監査証跡表の作成) 0 成功 S
8 失敗 F
pdaudrm 0 成功 S
8 失敗 F
pdaudbegin 0 成功 S
4 一部失敗 U
8 失敗 F 次に示す場合は監査証跡を取得できません。
  • 監査証跡ファイルが全世代使用済みの場合
  • アンロード待ちで書き込む世代がないためpdaudbeginコマンドが失敗した場合
pdaudend 0 成功 S
8 失敗 F
pdacunlck 0 成功 S
8 失敗 F
pdaudswap 0 成功 S 監査証跡ファイルの上書き時に,スワップ元及びスワップ先の監査証跡ファイル名が記録されます。
8 失敗 F 監査証跡ファイルの上書き時に,スワップ元の監査証跡ファイル名が記録されます。スワップ先の監査証跡ファイル名にはNULL値が記録されます。
pdload 0 成功 S
4 成功 S
8 失敗 F
pddefrev 0 成功 S
4 成功 S
8 失敗 F
12 失敗 F
pdrorg 0 成功 S
4 成功 S
8 失敗 F
pdexp 0 成功 S
4 成功 S
8 失敗 F
12 失敗 F
pdconstck 0 成功 S
4 成功 S 警告終了(整合性違反あり)
8 失敗 F
pdaudatld 0 成功 S
4 成功 S 警告終了(自動データロード機能は停止できているため,成功として扱います)
8 失敗 F

(凡例)−:該当しません。

(4) CONNECT関連セキュリティ機能使用時に記録される情報

CONNECT関連セキュリティ機能使用時に記録される情報を次の表に示します。

表23-23 CONNECT関連セキュリティ機能使用時に記録される情報

機能名 イベント
タイプ
イベント
サブタイプ
変更
種別
変更前後に記録される値
連続認証失敗許容回数 SYS SPR ECNT 1〜10,又はNULL値
アカウントロック期間 LCKM 10〜44640,UNLIMITED,又はNULL値
パスワードの最小許容バイト数 MINL 1〜15,又はNULL値
認可識別子の指定禁止 USID RESTRICT,UNRESTRICT,又はNULL値
単一文字種の指定禁止 SMLN
パスワードの変更 PRV又はAUD GRT CPWD NULL値

次に示す場合はNULL値が記録されます。
  • 変更前後に記録される値で,ディクショナリ表SQL_SYSPARAMS中の対応する列に値がない場合(設定を新規で行うときなど)
  • NULL値の場合
  • 値が識別できない場合
また,パスワードの文字列制限の事前チェック時は,変更種別ごとに監査証跡を取得しますが,変更前後に記録される値にはNULL値が記録されます。

注※
イベントタイプ,イベントサブタイプ,及びSQLコードだけでは,GRANT文の実行時にパスワードが実際に変更されたかどうかHiRDBが判断できません。GRANT文の実行時に登録済みユーザのパスワードが変更された場合に限り,変更種別にCPWDを設定します。パスワードの変更時に出力される変更種別を次の表に示します。

表23-24 パスワードの変更時に出力される変更種別

登録済みユーザのパスワード有無 GRANT CONNECT,DBA,又はAUDITの実行結果 変更種別
パスワードあり パスワードの変更 CPWD
パスワードの削除 CPWD
パスワードの変更なし NULL値
パスワードなし パスワードありに変更 CPWD
パスワードなしのまま NULL値

注 ここでいうユーザ,パスワードとはHiRDBが管理するユーザとパスワードのことです。

(5) 監査証跡表オプションの出力有無

監査証跡表オプションの出力有無を次の表に示します。

表23-25 監査証跡表オプションの出力有無

実行結果 失敗の要因 監査証跡表オプションの出力有無
成功 出力する
失敗 対象のオブジェクトが存在しない 出力しない(NULL値)
対象のオブジェクトが監査証跡表のため,エラーになる場合 出力する
上記以外のエラー 出力する(情報が取得できない場合は出力しない)

(凡例)−:該当しません。

注※
監査証跡表オプションを出力していない場合に,監査証跡表であるかどうかを調べるには,監査記録エントリのオブジェクトの所有者とオブジェクトの名称の組み合わせなどから判断してください。

(6) アクセス件数の詳細

アクセス件数の詳細を次の表に示します。

表23-26 アクセス件数の詳細

アクセス手段 アクセス件数
SQL SELECT SELECT文での結果集合に対して,ユーザがアクセス(CLOSEが成功,又は失敗するまでFETCH)した行数です。なお,ブロック転送の場合は,1ブロックに含まれる行数をアクセス件数とします。
問合せに複数表を指定した場合,その複数の表すべてに対して,同じアクセス件数とします。次のどちらかの場合,アクセス件数がNULL値になります。
  • 副問合せに指定した表(詳細については表23-27を参照してください)
  • 集合演算EXCEPT 〔ALL〕で右側のオペランドに指定した表(例については図23-13を参照してください)
INSERT 挿入した行数です。
UPDATE 更新した行数です。
DELETE 削除した行数です。
ユティリティ pdload 表ごとのデータロード件数です。
pdrorg 表ごとのアンロード件数,及び表ごとのリロード件数です。
pdconstck 制約違反となったキー値の数の総和です。

表23-27 副問合せでのアクセス件数

表の指定箇所 アクセス件数 備考
スカラ副問合せ 値式を指定できる箇所 NULL値 例については図23-14参照
行副問合せ 行値構成子を指定できる箇所 NULL値 例については図23-15参照
UPDATE文のSET句 NULL値 例については図23-16参照
表副問合せ IN述語の右側 NULL値 例については図23-17参照
限定述語の右側 NULL値 例については図23-18参照
EXISTS述語 NULL値 例については図23-19参照
FROM句の導出表 非NULL値 例については図23-20参照

注※
FROM句の導出表の検索結果が,ユーザに直接返らない場合は,アクセス件数がNULL値となります(例については図23-21参照)。
 

アクセス手段がSELECTの場合の,アクセス件数の出力例を図23-8図23-21に示します。

図23-8 アクセス件数の出力例(その1)

[図データ]

図23-9 アクセス件数の出力例(その2)

[図データ]

図23-10 アクセス件数の出力例(その3)

[図データ]

注 表の実体については,図23-9と同じです。

図23-11 アクセス件数の出力例(その4)

[図データ]

注 表の実体については,図23-9と同じです。

図23-12 アクセス件数の出力例(その5)

[図データ]

図23-13 アクセス件数の出力例(その6)

[図データ]

注 表の実体については,図23-12と同じです。

図23-14 アクセス件数の出力例(その7)

[図データ]

注 表の実体については,図23-12と同じです。

図23-15 アクセス件数の出力例(その8)

[図データ]

注 表の実体については,図23-12と同じです。

図23-16 アクセス件数の出力例(その9)

[図データ]

注 表の実体については,図23-12と同じです。

図23-17 アクセス件数の出力例(その10)

[図データ]

注 表の実体については,図23-12と同じです。

図23-18 アクセス件数の出力例(その11)

[図データ]

注 表の実体については,図23-12と同じです。

図23-19 アクセス件数の出力例(その12)

[図データ]

注 表の実体については,図23-12と同じです。

図23-20 アクセス件数の出力例(その13)

[図データ]

注 表の実体については,図23-12と同じです。

図23-21 アクセス件数の出力例(その14)

[図データ]

注 表の実体については,図23-12と同じです。

(7) SQLデータの詳細

(a) SQLデータの構造

SQLデータの構造を次の図に示します。

図23-22 SQLデータの構造

[図データ]

(凡例)
n:SQLNに対応する,SQLVARの個数を示します。SQLDA(SQL記述領域)の構造については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

注1 ( )内は,領域の長さ(単位:バイト)を示します。

注2 記録されるエンディアン形式は,サーバのOSに依存します。

 

次に,SQLデータを構造するHEADER領域,SQLDA(SQL記述領域)及び入力データ領域の各構造について説明します。

●HEADER領域

HEADER領域の構造を次の図に示します。また,各構成要素の詳細を次の表に示します。

図23-23 HEADER領域の構造

[図データ]

注 ( )内は,領域の長さ(単位:バイト)を示します。

表23-28 HEADER領域の構成要素の詳細

レベル番号 領域名 データ型 長さ 内容
1 1 HEADER 16 SQLデータの管理情報です。
2 SQLDATALEN unsigned long 4 記録前のSQLデータのデータ長です。
2 SQLARRAY long 4 配列型の変数を使って複数行分のデータを設定した場合の配列要素数です。配列型の変数を使用しない場合は,1が設定されます。
2 RESERVED char 8 システムが使用する予備領域です。

(凡例)
−:該当しません。

注※
HEADER領域での包含関係を示しています。この場合,レベル番号1の領域は,レベル番号2の領域から構造されていることを示します。

●SQLDA及び入力データ領域

SQLDA及び入力データ領域の構造を次の図に示します。SQLDA(SQL記述領域)の構造については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

図23-24 SQLDA及び入力データ領域の構造

[図データ]

(凡例)
n:SQLNに対応する,SQLVARの個数を示します。
r:入力データ領域の長さを示します。入力データ領域の長さは,次の計算式で求められます。
入力データ領域の長さ=SQLデータの長さ−HEADER領域の長さ−SQLDAの長さ

注1 ( )内は,領域の長さ(単位:バイト)を示します。

注2 破線の矢印は,SQLDAからのオフセットを示します。

(b) 入力値の構造

入力データ領域を構成する入力値は,次に示す要素によって構造が異なります。詳細については,それぞれの参照先にある図を参照してください。

入力値の種類 標識変数の有無 参照先
単純構造の入力値 あり 図23-25
なし 図23-26
繰返し構造の入力値 あり 図23-27
なし 図23-28
固定長のデータ型で配列を使った入力値 あり 図23-29
なし 図23-30
可変長のデータ型で配列を使った入力値 あり 図23-31
なし 図23-32

●入力値の種類が,単純構造の入力値の場合

図23-25 単純構造の入力値(標識変数あり)の構造

[図データ]

図23-26 単純構造の入力値(標識変数なし)の構造

[図データ]

(凡例)
d1,d2:データの長さを示します。データの長さについては,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQL記述領域に設定するデータコードとデータの長さ」を参照してください。
p1:標識変数の長さを示します。SQLVARのSQLCODに対応します。

注 破線の矢印は,SQLDAからのオフセットを示します。

〔説明〕
データ及び標識変数は,SQLVARのSQLCOD及びSQLLEN,又はSQLVAR_LOBのSQLCOD及びSQLLOBLENに設定されたデータ型に合わせた構造になります。
データ及び標識変数は,境界調整を行った領域に格納されます。このため,各領域の長さには境界調整で発生した領域の長さも含まれます。
データの記述については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQLのデータ型とC言語のデータ記述」又は「SQLのデータ型とCOBOL言語のデータ記述」を参照してください。

●入力値の種類が,繰返し構造の入力値の場合

図23-27 繰返し構造の入力値(標識変数あり)の構造

[図データ]

図23-28 繰返し構造の入力値(標識変数なし)の構造

[図データ]

(凡例)
x:標識変数の個数を示します。
x1,x2:要素数で指定した,データの個数を示します。
d3,d4:SQLVARのSQLSYSに対応する,データの長さを示します。

注1 ( )内は,領域の長さ(単位:バイト)を示します。

注2 破線の矢印は,SQLDAからのオフセットを示します。

注※1 繰返し構造全体の標識変数が格納されます。

注※2 各要素の標識変数が格納されます。

〔説明〕
SQLVARのSQLXDIMが2以上の場合,繰返し指定で指定した要素数分の要素が格納されます。
データは,SQLVARのSQLCODに設定されたデータ型に合わせた構造になります。
データ及び標識変数は,境界調整を行った領域に格納されます。このため,各領域の長さには境界調整で発生した領域の長さも含まれます。
データの記述については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQLのデータ型とC言語のデータ記述」又は「SQLのデータ型とCOBOL言語のデータ記述」を参照してください。

●入力値の種類が,固定長のデータ型で配列を使った入力値の場合

図23-29 固定長のデータ型で配列を使った入力値(標識変数あり)の構造

[図データ]

図23-30 固定長のデータ型で配列を使った入力値(標識変数なし)の構造

[図データ]

(凡例)
y:標識変数の個数を示します。
y1,y2:HEADER領域のSQLARRAYに対応する,配列の要素数を示します。
d5,d6:SQLVARのSQLSYSに対応する,データの長さを示します。
p5:SQLVARのSQLCODに対応する,標識変数の長さを示します。

注 破線の矢印は,SQLDAからのオフセットを示します。

〔説明〕
HEADER領域のSQLARRAYが2以上の場合,配列型で指定した要素数分の要素が格納されます。
データ及び標識変数は,SQLVARのSQLCOD及びSQLLEN,又はSQLVAR_LOBのSQLCOD及びSQLLOBLENに設定されたデータ型に合わせた構造になります。
データ及び標識変数は,境界調整を行った領域に格納されます。このため,各領域の長さには境界調整で発生した領域の長さも含まれます。
データの記述については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQLのデータ型とC言語のデータ記述」又は「SQLのデータ型とCOBOL言語のデータ記述」を参照してください。

●入力値の種類が,可変長のデータ型で配列を使った入力値の場合

図23-31 可変長のデータ型で配列を使った入力値(標識変数あり)の構造

[図データ]

図23-32 可変長のデータ型で配列を使った入力値(標識変数なし)の構造

[図データ]

(凡例)
y:標識変数の個数を示します。
y3,y4:HEADER領域のSQLARRAYに対応する,配列の要素数を示します。
d7,d8:データの長さを示します。
p7:SQLVARのSQLCODに対応する,標識変数の長さを示します。

注 破線の矢印は,SQLDAからのオフセットを示します。

〔説明〕
HEADER領域のSQLARRAYが2以上の場合,配列型で指定した要素数分の要素が格納されます。
データ及び標識変数は,SQLVARのSQLCOD及びSQLLEN,又はSQLVAR_LOBのSQLCOD及びSQLLOBLENに設定されたデータ型に合わせた構造になります。
データ及び標識変数は,境界調整を行った領域に格納されます。このため,各領域の長さには境界調整で発生した領域の長さも含まれます。
データ及び標識変数の長さについては,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQL記述領域に設定するデータコードとデータの長さ」を参照してください。
データの記述については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「SQLのデータ型とC言語のデータ記述」又は「SQLのデータ型とCOBOL言語のデータ記述」を参照してください。
(c) 出力例

監査証跡に出力されるSQLデータの例を次に示します。

在庫表にデータを追加します。使用する埋込み変数とデータ型,及びデータの内容は次のとおりです。

列名 埋込み変数 データ型 データの内容
商品コード xscode char(5) 202M
商品名 xsname char(17) ポロシャツ
xcol char(3)
単価 xtanka int 3640
数量 xgryo int 0
数量 igryo short -1

 

実行するSQL文は次のとおりです。

 
EXEC SQL INSERT INTO ZAIKO(SCODE,SNAME,COL,TANKA,ZSURYO)
  VALUES(:xscode,:xsname,:xcol,:xtanka,:xgryo:igryo);
 

SQL文を実行すると,監査証跡のSQLデータは次のように記録されます。

[図データ]

〔説明〕
  1. HEADER領域が格納されます。
  2. SQLDAが格納されます。
  3. 入力データ領域が格納されます。
    SQLVAR又はSQLVAR_LOBの個数は,SQLDAのSQLD(下線部)で分かります。この例の場合,SQLVAR又はSQLVAR_LOBに対応するデータは5個あり,それぞれ次のように格納されています。
    • 1番目のSQLVARから,データはCHAR型で長さが4バイト,標識変数なしと分かります。データは,SQLDAから16進数で60hバイト進んだ領域に4バイト格納されます(32 30 32 4d)。
    • 2番目のSQLVARから,データはCHAR型で長さが16バイト,標識変数なしと分かります。データは,SQLDAから16進数で64hバイト進んだ領域に16バイト格納されます(83 7c 83 8d 83 56 83 83 83 63 20 20 20 20 20 20)。
    • 3番目のSQLVARから,データはCHAR型で長さが2バイト,標識変数なしと分かります。データは,SQLDAから16進数で74hバイト進んだ領域に2バイト格納されます(90 d4)。
    • 4番目のSQLVARから,データはINTEGER型で長さが4バイト,標識変数なしと分かります。データは,SQLDAから16進数で78hバイト進んだ領域に4バイト格納されます(00 00 0e 38)。
    • 5番目のSQLVARから,データはINTEGER型で長さが4バイト,標識変数ありと分かります。データは,SQLDAから16進数で7chバイト進んだ領域に2バイト格納されます(ff ff)。