IBM Support

[Db2] 監査データをカンマ区切りファイルで取り出すと、バイナリ・データが入ることがある

Question & Answer


Question

Db2 の監査機能で採取した監査ログをアーカイブ後に DEL 形式で抽出すると、ファイルにバイナリ・データが含まれることがあります。 ファイル形式で抽出した場合は正常に表示できます。 バイナリ・データが含まれる原因と、バイナリ・データを含まずに DEL 形式でファイル出力する方法を教えてください。

Cause

VARCHAR FOR BIT DATA タイプで格納されている監査項目は、FOR BIT DATA が指定されていることによりビット (バイナリ) データとして扱われます。
  • 例:CHECKING イベントの監査レコード設計
    ---------------
    表 1. CHECKING イベントの監査レコード設計
    --
    名前
    フォーマット
    説明
    --
    Local Transaction ID
    VARCHAR(10) FOR BIT DATA
    監査イベントが発生した時刻で使用していたローカル・トランザクション ID。これは、トランザクション・ログの一部となる SQLU_TID 構造体です。

    Global Transaction ID
    VARCHAR(30) FOR BIT DATA
    監査イベントが発生した時刻で使用していたグローバル・トランザクション ID。これは、トランザクション・ログの一部となる SQLP_GXID 構造体のデータ・フィールドです。
    ---------------

FOR BIT DATA の監査データをファイル形式で抽出した場合は 16 進 (Hex) 表記となります。

Answer

FOR BIT DATA を含む監査レコードを出力する場合、バイナリ・データを含まずに DEL 形式で出力させることは出来ません。

db2audit コマンドの extract オプションを使用して DEL 形式で出力されたファイルは AUDIT 表にそのままロードできます。まずデータを表に ロードした上で、HEX スカラー関数を使用して文字列に変換後エクスポートする、もしくは該当箇所が必要でなければ除外してエクスポートしてください。
 
  1. 下記の手順に従って、表の作成およびデータをロードします。
    Db2 監査データを保持する表の作成
    Db2 監査データの表へのロード
  2. HEX スカラー関数を使用してエクスポートします。
    ビット (バイナリ) データとして扱われる Local Transaction ID とGlobal Transaction ID は、各 AUDIT 表の LCLTRANSID 列 / GLBLTRANSID 列に相当します。
    以下の例の HEX(LCLTRANSID), HEX(GLBLTRANSID) のように HEX 関数を指定して該当の列をエクスポートすると、バイナリ・データを含まない DDL を出力します。
    ( "スキーマ名"は、監査データ表を作成したときに指定したスキーマ名を指定します。)
    $ db2 "EXPORT TO checking2.del OF DEL SELECT TIMESTAMP, CATEGORY, EVENT, CORRELATOR, STATUS, DATABASE, USERID, AUTHID, NODENUM, COORDNUM, APPID, APPNAME, PKGSCHEMA, PKGNAME, PKGSECNUM, OBJSCHEMA, OBJNAME, OBJTYPE, ACCESSAPP, ACCESSATT, PKGVER, CHKAUTHID, HEX(LCLTRANSID), HEX(GLBLTRANSID), CLNTUSERID, CLNTWRKSTNAME, CLNTAPPNAME, CLNTACCSTRING, TRSTCTXNAME, CONTRSTTYPE, ROLEINHERITED FROM スキーマ名.CHECKING"
    
    SQL3104N エクスポート・ユーティリティーが、ファイル "checking2.del"
    へのデータのエクスポートを開始しています。
    
    SQL3105N エクスポート・ユーティリティーが、"2"
    行のエクスポートを完了しました。
    
    エクスポートされた行数: 2
    
    $ view checking2.del
    "checking2.del" [読み取り専用] 2 行、663 文字
    "2012-01-23-15.38.31.951914","CHECKING","CHECKING_OBJECT",3,-551,"SAMPLE","db2inst1","DB2INST1",0,0,"*LOCAL.db2inst1.120123063832","db2bp","NULLID","SQLC2H22",201,"db2inst1","AUDIT_TEST","TABLE","0x00000000000000000000000000000001","0x00000000000000000000000000000020",,,"000000000044EFDC","0000000000000000000000000000000000000000",,,,,,,
    "2012-01-23-15.38.31.991308","CHECKING","CHECKING_OBJECT",4,-551,"SAMPLE","db2inst1","DB2INST1",0,0,"*LOCAL.db2inst1.120123063832","db2bp","NULLID","SQLC2H22",0,,"db2inst1","SCHEMA","0x00000000000000000000000000000001","0x00000000000000000000000000000800",,,"000000000044EFDE","0000000000000000000000000000000000000000",,,,,,,
関連情報
パスポート・アドバンテージによく寄せられる質問
db2audit - 監査機能管理者用ツール・コマンド
HEX スカラー関数
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmlAAE","label":"Security and Plug-Ins-\u003EAudit"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
30 August 2023

UID

swg21967925