ここでは、OUTTABLE定義文で追加、変更になったオペランドについて、以下の2つの場合に分けて説明します。
表単位のレプリケーション
グループ単位のレプリケーション
表単位のレプリケーションを行う場合、OUTTABLE定義文は以下の形式になります。
ここでは、表単位レプリケーションで注意すべきオペランドについて説明します。ここで説明していないオペランドについては、“Linkexpress 運用ガイド”を参照してください。
OUTTABLE NAME = OUTTABLE識別名 DATATYPE = (出力データ種別[,出力データ形式]) EXTRACT = EXTRACT識別名 [CODE = 出力コード系] [UNICODE_TYPE = Unicode系のデータ形式] [BYTEORDER = 数値の表現形式] [TEMPDIR = 作業用ディレクトリ名] DATABASE = データベース名 SCHEMA = スキーマ名 TABLE = 表名 [ITEM = ([列名][,[列名]]…[,[列名]])] LOADMODE = ([格納方式][,格納方法]) [DSI = (DSI名[,DSI名…])]
格納方式には、全複写、一括差分複写を問わず、“difference”を指定してください。
格納方法には、“load”を指定してください。
DSIオペランド(または環境変数“LXDBTARGET”)を指定する場合も、LOADMODEオペランドの格納方式に“difference”、格納方法には“load”を指定してください。
複写元システムがグローバルサーバまたはPRIMEFORCEの場合は、以下のように指定してください。
抽出データをDB-EXPRESS/Dの差分SAM出力機能で作成した場合、またはPowerAIM/TJNLのジャーナル(配付ファイル)とする場合は、格納方式に“difference”を指定し、格納方法に“insert”を指定してください。
DB-EXPRESS/Bの抽出機能により抽出した場合は、格納方式に“new”または“new-ignore”を指定し、格納方法に“load”を指定してください。
抽出定義で項目指定(SELECT)を指定している場合は、抽出定義の項目指定(SELECT)に指定した列名から構成された表を指定してください。
また、DSIオペランドを省略し、抽出定義で条件指定(WHERE)を指定している場合は、抽出定義の条件指定(WHERE)に該当するデータのみを格納する表を指定してください。
Symfoware Server(V11以前およびNativeインタフェース)の場合に、複写元データベースの表をDSI分割し、全複写をDSI単位に行う場合は、OUTTABLE定義文のDSIオペランドに格納先DSI名を指定し、一括差分複写とは別のDBサービス定義を全複写用として用意します。
抽出定義で条件指定(WHERE)を指定している場合は、抽出定義の条件指定(WHERE)に該当するデータのみを格納するDSIを指定してください。
JIS2004のデータは、以下に示す組合せでのみレプリケーションすることができます。
複写元および複写先システムがSymfoware Server(V11以前およびNativeインタフェース)の場合
データベースの文字コード系がUNICODEである。かつ、
列のデータ型が両システムで一致している。かつ、
コード変換を行わない。かつ、バイトオーダを変更しない。
複写元および複写先システムがSymfoware Server(Openインタフェース)の場合
データベースの文字コード系がUNICODEである。かつ、
列のデータ型が両システムで一致している。かつ、
コード変換を行わない。かつ、バイトオーダを変更しない。
上記以外は、レプリケーションできません。
作業用ディレクトリの見積もりは、OUTTABLE定義のTEMPDIRオペランドと同じ考えです。見積もりの詳細は、“Linkexpress 導入ガイド”を参照してください。
なお、見積もりの概算におけるレコード長は、LOGTYPEオペランドにlittleを指定した場合も、標準形式の差分ログ形式で計算します。
複写元システムがOracle(データ・ベース・キャラクタセットがAL32UTF8)の場合、NCHAR型およびNVARCHAR2型データを、UNICODE系以外の文字コードにコード変換することはできません。
グループ単位のレプリケーションを行う場合、OUTTABLE定義文は以下の形式になります。
ここでは、グループ単位のレプリケーションで追加、変更になったオペランドについて説明します。ここで説明していないオペランドについては、“Linkexpress 運用ガイド”を参照してください。
OUTTABLE NAME = OUTTABLE識別名 DATATYPE = (出力データの出力先[,データベース・システムの種類]) EXTRACT = EXTRACT識別名 SCHEMA = スキーマ名 TABLE = 表名 [DSI = (DSI名[,DSI名…])] [ITEM = ([列名][,[列名]…]) LOADMODE = ([格納方式][,格納方法])
DATATYPEオペランドの出力データの出力先に“database-member”を指定した場合、以下のように扱われます。
レプリケーショングループに属するための識別子として扱われます。さらにTABLEオペランドが省略されている場合は、格納先データベースでの表名となります。
出力データの出力先に以下の指定値が追加になります。
database-member:出力データの出力先はデータベースシステムです。グループ単位のレプリケーションを使用する場合に指定します。
また、出力データの出力先に“database-member”を指定した場合、データベースの種類に指定可能な値は以下となります。
なお、1つのレプリケーショングループに含まれるすべてのDBサービス定義は、同じデータベース・システムの種類を指定する必要があります。詳細は、“Linkexpress 運用ガイド”を参照してください。
symfoware/pgs:Symfoware Server(Openインタフェース)です。
symfoware/rdb: Symfoware Server(V11以前およびNativeインタフェース)です。
oracle:Oracle8i、Oracle9i、Oracle10g、またはOracle11gです。
TABLEオペランド指定時の注意点は、表単位のレプリケーションの場合と同じです。
Symfoware Server(V11以前およびNativeインタフェース)の場合に、DSI単位の格納についての注意点およびDSIオペランド指定時の注意点は、表単位のレプリケーションの場合と同じです。
複写先データベースをOracleとする場合、あらかじめ使用するOracleのバージョン・レベルをLinkexpressの機能で設定する必要があります。
詳細は、Linkexpressのソフトウェア説明書を参照してください。
作業用ディレクトリの見積もりは、OUTTABLE定義のTEMPDIRオペランドと同じ考えです。見積もりの詳細は、“Linkexpress 導入ガイド”を参照してください。
なお、見積もりの概算におけるレコード長は、LOGTYPEオペランドにlittleを指定した場合も、標準形式の差分ログ形式で計算します。