データベースからの抽出内容を抽出定義として設計します。
抽出定義とは、Symfowareデータベースからデータを抽出するときに、どのデータベースからどんな範囲でデータを抽出するかといった、抽出内容を規定するための定義です。
定義項目 | キーワード | 定義内容 | 種別 |
---|---|---|---|
抽出定義名 | REPNAME | 抽出定義の名前を指定します。 | ● |
運用種別 | REPTYPE | “TEXTADP”を指定します。 | ● |
データベース種別 | DBMSKIND | “SYMFO”を指定します。 | ● |
データベース名 | DATABASE | 抽出対象とする表が存在しているデータベース名を指定します。 | ● |
スキーマ名 | SCHEMA | 抽出対象とする表が属するスキーマ名を指定します。 | ● |
表名 | TABLE | 抽出対象とする表の表名を指定します。 | ● |
表のDSI名 | DSI | 表内の特定のDSIを抽出対象とする場合に、表のDSI名を指定します。 | ○ |
項目指定 | SELECT | 抽出対象とする表から以下の列名を指定します。
| ● |
差分ログファイル格納ディレクトリパス名 | LOGPATH | 差分ログを格納するための、ディレクトリパス名を指定します。 | ● |
差分ログファイルサイズ | LOGSIZE | 差分ログファイルのサイズ、単位、“,LARGE”を指定します。
単位を省略した場合、指定したサイズの単位はキロバイトとみなします。
| ○ |
差分ログファイル警告率 | LOGWARN | 差分ログファイルに蓄積したデータ量が指定した割合を超えた場合に、警告メッセージが通知されます。 | ○ |
差分データ形式 | LOGTYPE | 可変長ログ形式とするため、“LITTLE”を指定します。 | ● |
●:必須、○:省略可能
注) 列名を指定する場合、以下に注意してください。
一意性制約(PRIMARY KEY)が付いた列およびBLOB列以外の列は指定しないでください。
BLOB列を2つ以上指定した場合、shunrdbコマンドの実行時にエラーとなります。
上記の項目以外を抽出定義に指定した場合は、抽出定義の登録処理(lxrepcreコマンド)はエラーとなり、登録処理を終了します。
抽出定義の詳細については、“Linkexpress Replication option 説明書”を参照してください。
抽出定義の作成について、具体的な例を用いて説明します。
この例での表と列に対する前提を以下に示します。
この表が存在するデータベース名は“書籍データベース”、スキーマ名は“書籍スキーマ”、表名は“書籍表”です。
“コード”列に、一意性制約(PRIMARY KEY)が付いています。
BLOB型の“概要”列に抽出対象となるXML形式のデータを格納しています。
図2.1 抽出定義の作成例の前提
以下に、この例での抽出定義について説明します。
抽出定義名を“書籍データ抽出定義”としています。(REPNAME)
データベース名は、“書籍データベース”となります。(DATABASE)
スキーマ名は、“書籍スキーマ”となります。(SCHEMA)
表名は、“書籍表”となります。(TABLE)
定義項目SELECTでは、抽出する列名および一意性制約(PRIMARY KEY)の付いた列名を列挙します。
ここでは、検索対象とするXML形式のデータを格納した“概要”列に加え、一意性制約(PRIMARY KEY)の付いた“コード”列を指定します。(SELECT)
差分ログファイルの格納先は、“/home/work/logdata_db01”とします。(LOGPATH)
差分ログファイルのサイズは、“1G”とします。(LOGSIZE)
REPNAME = 書籍データ抽出定義 REPTYPE = TEXTADP DBMSKIND = SYMFO DATABASE = 書籍データベース SCHEMA = 書籍スキーマ TABLE = 書籍表 SELECT = コード,概要 LOGPATH = /home/work/logdata_db01 LOGSIZE = 1G,LARGE LOGTYPE = LITTLE |