高信頼性ログを格納するユーザログテーブルの定義について、概要を示します。
ユーザログテーブルの定義の詳細は、“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 運用ガイド(高信頼性ログ編)”の“表定義”を参照してください。
ユーザログ本文は、BLOB:1キロバイト~10メガバイト、VARCHAR:1バイト~32キロバイトの範囲です。
■ユーザログテーブルのレコード形式
ユーザログテーブルの生成は、以下のレコード形式で指定します。
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名、スキーマ名.表名を指定します。
CREATE DSO DSO名 FROM スキーマ名.表名 TYPE CYCLIC(PAGESIZE(32),CYCLIC_MODE(0)); |
任意のDSO名を指定します。
論理構造で指定するスキーマ名、表名を指定します。
DSI定義では、DSI名、DSO名、データベーススペース、エントリの容量を指定します。
CREATE DSI DSI名 DSO DSO名 ALLOCATE DATA ON (データベーススペース) ENTRYSIZE 10M; |
任意のDSI名を指定します。
DSOの定義で指定するDSO名を指定します。
エントリを作成するデータベーススペースを指定します。
1つのデータベーススペースに複数のエントリを作成
データベーススペース“DBSP1”に、3つのエントリを作成する場合の例です。
CREATE DSI MY_DSI DSO MY_DSO ALLOCATE DATA ON (DBSP1,DBSP1,DBSP1) ENTRYSIZE 10M; |
複数のデータベーススペースに複数のエントリを作成
データベーススペース“DBSP1”に2つのエントリ、“DBSP2”に2つのエントリを作成する場合の例です。
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 運用ガイド(高信頼性ログ編)”を参照してください。