ページの先頭行へ戻る
Linkexpress Replication optionV5.0L26 リリース情報

WindowsLinux3.2 PH23235

発生条件の場合に、lxextdbコマンドを実行すると、DB60021のメッセージを出力して異常終了する場合があります。

DB60021:差分ログアクセス中にエラーが発生しました

【発生条件】

  1. 複写元データベースがSymfoware Server(V11以前およびNativeインタフェース)である。かつ、

  2. 以下を定義した表単位のレプリケーション(一括差分複写)を利用している。かつ、差分データ形式(LOGTYPE)を省略、または、NORMALを指定している。

  3. 2.のレプリケーションに対する差分ログのレコード長(注1)が256Kバイトを超えている。かつ、

  4. 2.で指定したレプリケーション対象の表に対し、UPDATE文で更新している。かつ、

  5. UPDATE文によって、以下のいずれかの列を更新する(SET句に指定する)。かつ、

    • 2.で結合キー項目指定(JOIN)を定義している場合

      結合キー項目指定(JOIN)に指定したUNIQUEの列

    • 2.で結合キー項目指定(JOIN)を省略している場合

      PRIMARY KEYの列

  6. 5.に対し、1つのUPDATE文の更新対象として複数レコードが存在する。かつ、

  7. 4.で更新した表に対し、以下のいずれかでさらに更新している。かつ、

    • 4.と同一のトランザクションで、INSERT/UPDATE(注2)/DELETE文で更新している。

    • 4.のトランザクション終了後(COMMIT)、別のトランザクションでINSERT/UPDATE(注2)/DELETE文で更新している。(コネクションに依存しません)

  8. 2.の表単位のレプリケーションに対し、lxextdbコマンド(-rおよび-m diff)を実行する。


注1) 差分ログのレコード長は以下のように算出します。

      差分ログのレコード長 = 2 + (N1 + D1) + (N2 + D2) + … (Ni + Di)
       N1、N2…Ni:ナル表示域の長さ
                   抽出する項目にナル表示域を指定した場合は2となります。指定しない場合は0となります。
       D1、D2…Di:抽出する表の各項目の長さ
                   項目の長さについては、“システム設計ガイド”の“抽出データ項目の形式”を参照してください。

注2) 発生条件の5.、6.のような一意制制約列(SET句指定)のUPDATE文も含む。