ページの先頭行へ戻る
Interstage Business Application Server アプリケーション開発ガイド
FUJITSU Software

18.4.2 ユーザログテーブルの定義

高信頼性ログを格納するユーザログテーブルの定義について、概要を示します。

ユーザログテーブルの定義の詳細は、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”の“ユーザログテーブルの作成”を参照してください。

ユーザログテーブルの構造

高信頼性ログを出力するユーザログテーブルは以下の構造です。

項目名

長さ

説明

データ設定

LOG_TYPE

CHAR

1

APIから出力する高信頼性ログはつねに“U”

Symfoware/RDBが自動設定

SEQUENCE_NO

CHAR

30

格納順番号を格納

Symfoware/RDBが自動設定

TRANSACTION_ID

CHAR

20

トランザクション識別子を格納

Symfoware/RDBが自動設定

SYSTEM_NAME

CHAR

8

定義されたRDBシステム名を格納

Symfoware/RDBが自動設定

CONTEXT_ID

VARCHAR

1024

アプリケーション連携実行基盤が生成するコンテキストID

アプリケーション連携実行基盤によって設定

分割キー(注)

任意

任意

ログの格納先をDSI単位に振り分けたい場合に、出力するDSI名を格納

ユーザアプリケーションによって設定

任意列(注)

任意

任意

データベースを使用してログを分析するための任意の情報を格納

ユーザアプリケーションによって設定

ユーザログ本文

BLOB/VARCHAR

任意

ログ本文

ユーザアプリケーション、またはアプリケーション連携実行基盤によって設定

注)分割キー、および任意列の指定は任意です。分割キー、および任意列については、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”の“表定義”を参照してください。

ユーザログテーブルのレコード形式

ユーザログテーブルの生成は、以下のレコード形式で指定します。

CREATE TABLE スキーマ名.表名 (LOG_TYPE        CHAR(1)   DEFAULT  LOG_TYPE,
                              SEQUENCE_NO     CHAR(30)  DEFAULT  ULOG_SEQUENCE,
                              TRANSACTION_ID  CHAR(20)  DEFAULT  TRANSACTION_ID,
                              SYSTEM_NAME     CHAR(8)   DEFAULT  SYSTEM_NAME,
                              CONTEXT_ID      VARCHAR(1024),
                              分割キー        CHAR(10)  NOT NULL,
                              任意列1        DECIMAL(4,0),
                              任意列2        VARCHAR(5),
                              ユーザログ本文  BLOB または VARCHAR
                             )

ユーザログテーブルの作成

高信頼性ログを格納するユーザログテーブルは、論理構造、格納構造、物理構造から構成します。
ユーザログテーブルの作成には、rdbddlexコマンドを使用します。
定義の詳細については、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”を参照してください。

論理構造の作成

論理構造を作成する場合の定義例を以下に示します。
定義する列は、高信頼性ログへ格納する情報に応じ定義してください。ユーザログ本文を除き、以下のとおり、指定する必要があります。

CREATE TABLE スキーマ名.表名 (LOG_TYPE        CHAR(1)    DEFAULT  LOG_TYPE,
                              SEQUENCE_NO     CHAR(30)   DEFAULT  ULOG_SEQUENCE,
                              TRANSACTION_ID  CHAR(20)   DEFAULT  TRANSACTION_ID,
                              SYSTEM_NAME     CHAR(8)    DEFAULT  SYSTEM_NAME,
                              CONTEXT_ID      VARCHAR(1024),
                              分割キー        CHAR(10)  NOT NULL,
                              任意列1        DECIMAL(4,0),
                              任意列2        VARCHAR(5),
                              ユーザログ本文  VARCHAR(512)
                             )

LOG_TYPE、SEQUENCE_NO、TRANSACTION_ID、SYSTEM_NAME、CONTEXT_IDは、固定です。以下に利用者が決め、指定する必要のある項目を示します。

スキーマ名.表名

作成する論理構造のスキーマ名と表名を指定します。

分割キー(任意)

DSI分割を行う場合のキー値を格納する列の、列名と列のデータ型、長さを指定します。

任意列(任意)

利用者が検索などの任意の目的で使用する列の、列名と列のデータ型、長さを指定します。

ユーザログ本文

ログ本文の型、長さを指定します。

格納構造の作成

以下は、格納構造を作成する場合の定義例です。格納構造の定義では、DSOとDSIをそれぞれ定義します。

CREATE DSO MY_DSO FROM ULOG.業務ログ表 TYPE CYCLIC(PAGESIZE(32),CYCLIC_MODE(0)); 
CREATE DSI MY_DSI DSO MY_DSO ALLOCATE DATA ON (DBSP1,DBSP2,DBSP3,DBSP4) ENTRYSIZE 10M;
DSOの定義

DSO定義では、DSO名、スキーマ名.表名を指定します。

CREATE DSO DSO名 FROM スキーマ名.表名 TYPE CYCLIC(PAGESIZE(32),CYCLIC_MODE(0)); 
DSO名

任意のDSO名を指定します。

スキーマ名.表名

論理構造で指定するスキーマ名、表名を指定します。

DSIの定義

DSI定義では、DSI名、DSO名、データベーススペース、エントリの容量を指定します。

CREATE DSI DSI名 DSO DSO名 ALLOCATE DATA ON (データベーススペース) ENTRYSIZE 10M;
DSI名

任意のDSI名を指定します。

DSO名

DSOの定義で指定するDSO名を指定します。

データベーススペース

エントリを作成するデータベーススペースを指定します。

CREATE DSI MY_DSI DSO MY_DSO ALLOCATE DATA ON (DBSP1,DBSP1,DBSP1) ENTRYSIZE 10M;
CREATE DSI MY_DSI DSO MY_DSO ALLOCATE DATA ON (DBSP1,DBSP1,DBSP2,DBSP2) ENTRYSIZE 10M;
エントリの容量

データベーススペースに作成するエントリの容量を指定します。10メガバイトのエントリを3つ作成する例を以下に示します。

CREATE DSI MY_DSI DSO MY_DSO ALLOCATE DATA ON (DBSP1,DBSP1,DBSP1) ENTRYSIZE 10M;

物理構造の作成

ユーザログテーブルを格納する物理構造を指定します。以下は、データベーススペース“DBSP1”をローデバイス“/dev/rdsk/c1t0d1s1”へ作成する例です。

CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE /dev/rdsk/c1t0d1s1;

ユーザログテーブルを格納する物理構造を指定します。以下は、データベーススペース“DBSP1”をローデバイス“/dev/raw/raw10”へ作成する例です。

CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE /dev/raw/raw10;

ユーザログテーブルを格納する物理構造を指定します。以下は、データベーススペース“DBSP1”をローカルファイル“C:\SFWD\RDB\USR\DBSP1”へ作成する例です。

CREATE DBSPACE DBSP1 ALLOCATE FILE C:\SFWD\RDB\USR\DBSP1 ATTRIBUTE SPACE(2M);

ユーザログの退避

ユーザログテーブルに格納されたデータは、ユーザログ取得機能を使用して一般ファイルに退避できます。

ユーザログの退避の詳細は、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”を参照してください。