ユーザログテーブルの定義の詳細は、以下のマニュアルを参照してください。
Interstage Business Application Server Standard Editionの場合
“高信頼性ログ運用ガイド”の“ユーザログテーブルの作成”
Interstage Business Application Server Enterprise Editionの場合
基幹システム向けフレームワークの“運用ガイド(高信頼性ログ編)”の“ユーザログテーブルの作成”
ユーザログテーブルの構造
高信頼性ログを出力するユーザログテーブルは以下の構造です。
項目名 | 型 | 長さ | 説明 | データ設定 |
|---|---|---|---|---|
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 | Apcoordinatorが生成するコンテキストID | Apcoordinatorによって設定 |
分割キー(注) | 任意 | 任意 | ログの格納先をDSI単位に振り分けたい場合に、出力するDSI名を格納 | ユーザアプリケーションによって設定 |
任意列(注) | 任意 | 任意 | データベースを使用してログを分析するための任意の情報を格納 | ユーザアプリケーションによって設定 |
ユーザログ本文 | BLOB/VARCHAR | 不定 | ログ本文 | ユーザまたはApcoordinatorによって設定 |
注) 分割キー、および任意列の指定は任意です。分割キー、および任意列については、以下のマニュアルを参照してください。
Interstage Business Application Server Standard Editionの場合
“高信頼性ログ運用ガイド”の“表定義”
Interstage Business Application Server Enterprise Editionの場合
基幹システム向けフレームワークの“運用ガイド(高信頼性ログ編)”の“表定義”
ユーザログ本文は、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 Standard Editionの場合
“高信頼性ログ運用ガイド”
Interstage Business Application Server Enterprise Editionの場合
基幹システム向けフレームワークの“運用ガイド(高信頼性ログ編)”
論理構造を作成する場合の定義例を以下に示します。
定義する列は、高信頼性ログへ格納する情報に応じ定義してください。ユーザログ本文を除き、以下のとおり、指定する必要があります。
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をそれぞれ定義します。DSOとDSIの詳細はSymfoware Serverのマニュアルを参照してください。
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定義では、DSO名、スキーマ名.表名を指定します。
CREATE DSO DSO名 FROM スキーマ名.表名 TYPE CYCLIC(PAGESIZE(32),CYCLIC_MODE(0));
DSO名
任意のDSO名を指定します。
スキーマ名.表名
論理構造で指定するスキーマ名、表名を指定します。
DSIの定義
DSIでは、DSOで表現する情報に加えてデータベーススペースとの対応関係も表現します。DSI定義では、DSI名、DSO名、データベーススペース、エントリの容量を指定します。
CREATE DSI DSI名 DSO DSO名 ALLOCATE DATA ON (データベーススペース) ENTRYSIZE 10M;
DSI名
任意のDSI名を指定します。
DSO名
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;
ユーザログテーブルを格納する物理構造を指定します。以下は、データベーススペースをローデバイスへ作成する例です。
Solarisの場合
データベーススペース“DBSP1”をローデバイス“/dev/rdsk/c1t0d1s1”へ作成する例です。
CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE /dev/rdsk/c1t0d1s1;
Linuxの場合
データベーススペース“DBSP1”をローデバイス“/dev/raw/raw10”へ作成する例です。
CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE /dev/raw/raw10;
Windowsの場合
データベーススペース“DBSP1”をローデバイス“\\.\RDB_DBS1”へ作成する例です。
CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE \\.\RDB_DBS1;
ユーザログの退避
ユーザログテーブルに格納されたデータは、ユーザログ取得機能を使用して一般ファイルに退避できます。
ユーザログの退避の詳細は、以下のマニュアルを参照してください。
Interstage Business Application Server Standard Editionの場合
“高信頼性ログ運用ガイド”の“ユーザログテーブルからユーザログのエクスポート”
Interstage Business Application Server Enterprise Editionの場合
基幹システム向けフレームワークの“運用ガイド(高信頼性ログ編)”の“ユーザログテーブルからユーザログのエクスポート”