Apcoordinator ユーザーズガイド |
目次
![]() ![]() |
第2部 Apcoordinatorコアの機能 | > 第5章 アプリケーションログ | > 5.6 高信頼性ログ |
ユーザログテーブルの定義の詳細は、以下のマニュアルを参照してください。
高信頼性ログを出力するユーザログテーブルは以下の構造です。
項目名 |
型 |
長さ |
説明 |
データ設定 |
---|---|---|---|---|
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によって設定 |
注)分割キー、および任意列の指定は任意です。分割キー、および任意列については、以下のマニュアルを参照してください。
ユーザログ本文は、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コマンドを使用します。
定義の詳細については、以下のマニュアルを参照してください。
論理構造を作成する場合の定義例を以下に示します。
定義する列は、高信頼性ログへ格納する情報に応じ定義してください。ユーザログ本文を除き、以下のとおり、指定する必要があります。
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は、固定です。以下に利用者が決め、指定する必要のある項目を示します。
以下は、格納構造を作成する場合の定義例です。格納構造の定義では、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名、スキーマ名.表名を指定します。
CREATE DSO DSO名 FROM スキーマ名.表名 TYPE CYCLIC(PAGESIZE(32),CYCLIC_MODE(0));
DSIでは、DSOで表現する情報に加えてデータベーススペースとの対応関係も表現します。DSI定義では、DSI名、DSO名、データベーススペース、エントリの容量を指定します。
CREATE DSI DSI名 DSO DSO名 ALLOCATE DATA ON (データベーススペース) ENTRYSIZE 10M;
データベーススペース“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;
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”をローデバイス“\\.\RDB_DBS1”へ作成する例です。
CREATE DBSPACE DBSP1 ALLOCATE RAWDEVICE \\.\RDB_DBS1;
ユーザログテーブルに格納されたデータは、ユーザログ取得機能を使用して一般ファイルに退避できます。
ユーザログの退避の詳細は、以下のマニュアルを参照してください。
目次
![]() ![]() |