ページの先頭行へ戻る
PowerReplication V4.0L11 PowerReplicationユーザーズガイド V4.0

8.2 同期実行時のエラー

同期実行時のトラブル事例とその対象を説明します。


現象

同期実行がエラーとなり、次のメッセージがアプリケーションログに出力されます。

453

指定のグループは同期処理が実行中です

原因

対象グループに対して、または関連相手グループから同期が起動され、同期が実行されている状態です。
同期スケジュールがマスタグループとレプリカグループの双方に設定されており、その実行時刻が同期の実行に要する時間内で重なっている場合があります。

対処

同期が終了するのを待ってから、再度同期を実行してください。
スケジュールの設定をマスタグループかレプリカグループのいずれかにしてください。


現象

同期実行がエラーとなり、次のメッセージがアプリケーションログに出力されます。

481

グループの同時処理中に自サーバでエラーが発生しました。
【エラー詳細】…

原因

同期実行中に自サーバでエラーが発生しました。

対処

このエラーメッセージの前に原因となるエラーメッセージがいくつか通知されている場合があります。これらのエラーメッセージを参照して対処してください。


現象

同期実行がエラーとなり、次のメッセージがアプリケーションログに出力されます。

482

グループの同期処理中に相手サーバのグループでエラーが発生しました。
【エラー詳細】…

原因

同期実行中に相手サーバでエラーが発生しました。

対処

相手サーバでエラーメッセージを参照してください。
相手サーバで原因となるエラーメッセージがいくつか通知されている場合があります。これらのエラーメッセージを参照して対処してください。


現象

データ整合時の一括同期に時間がかかります

原因

反映元データファイルのデータ量が多いため一括同期に時間がかかります。

対処

CSVデータによる同期を行い、データベース間の整合性を確保してください。
CSVデータによる同期方法については、"5.2.1 自サーバでシステム異常が発生した場合"を参照してください。


現象

同期を実行すると、次のメッセージが表示されます

E00102

変換元データ中に不正な文字または不正なコードを検出しました。

条件

PRIMERGY6000のデータベース(Symfoware6000)から、Windowsのデータベース(Oracle、SQL Server)にデータを反映する同期を実行した場合

原因

Windowsのデータベースに格納できない不正データが、PRIMERGY 6000 のデータベースに含まれています。

対処

PRIMERGY 6000のデータベースに含まれている不正データを修正してください。
不正データの識別方法については、"F.3 同期実行時エラーの詳細情報出力"を参照してください。


現象

同期を実行すると、次のメッセージが表示されます。

E00460

グループ(・・・)と相手サーバ(・・・)の関連グループ(・・・)間で差分同期が実行不可であり、自動修復を行わないため同期処理を中止しました。

原因

以下のいずれかが考えられます。

  • (原因1)運用中に禁止されているコマンドを実行した
    禁止されているコマンドについては、「ASP レプリケーションサービス説明書」の「レプリケーションサービスの未サポートコマンド」および"4.4 禁止事項"を参照してください。

  • (原因2)更新情報の取得を停止した
    差分同期の場合、関連づけたグループの片方で更新情報取得が停止しています。

  • (原因3)同期実行中にシステムダウン等で同期実行が強制終了された

  • (原因4)更新情報ファイルの空き容量が枯渇した

  • (原因5)業務運用中にレプリケーションのサービスを開始または停止した

対処

  • 原因1への対処
    禁止されているコマンドを使用しないように運用を見直してください。
    一括同期を実行してから運用を再開してください。

  • 原因2への対処
    レプリケーションの運用中に更新情報取得を停止しないように運用を見直してください。
    一括同期を実行してから運用を再開してください。

  • 原因3への対処
    レプリケーションサービスへの影響を確認し、復旧してください。
    影響の確認方法、復旧方法については、"5.2 システム異常発生時の復旧方法"を参照してください。

  • 原因4への対処
    運用を一旦停止し、以下の対処を行なった後、一括同期を実行してください。

    • OracleまたはSQL Serverを使用している場合
      DBMSのユーティリティを使用して更新情報を格納しているデータベースの容量を拡張してください。

    • Symfoware6000(PRIMERGY 6000 / ASP)と連携している場合
      CHGRPULFコマンドを使用して更新情報ファイルのサイズを拡張してください。

  • 原因5への対処
    運用が停止している(業務アプリケーションが動作していない)状態で、レプリケーションのサービスを開始および停止するように運用を見直してください。
    一括同期を実行してから運用を再開してください。

備考

更新情報取得を停止すると、同期対象のデータファイルに対して更新した内容(更新情報)を記録できなくなります。このため、更新した内容を差分同期で反映できなくなり、連携するデータベース間の不整合が発生します。


現象

同期を実行すると、次のメッセージが表示されます

P0458

グループ(・・・)の同期処理の起動に失敗しました。<処置>レプリケーションの定義およびネットワークの状態を調査してください。

原因

マスタグループとレプリカグループの両方で更新情報取得が開始されていません。または、WindowsファイアウォールにPowerReplicationが設定されていません。

対処

同期方式が差分方式で、更新情報取得が開始されていない場合、初回の同期(一括同期)を実行してください。一括同期を実行すると、自動的にマスタグループとレプリカグループの両方で更新情報取得が開始されます。

Windowsファイアウォールの例外にPowerReplicationの設定を追加してください。

Windowsファイアウォールの設定方法については、以下を参照してください。


現象

全角空白だけの文字列データを入力して同期を実行すると反映先では全角空白1文字と半角空白になります

条件

以下のすべての条件に合致している場合。

  1. 反映元がSymfoware6000、反映先がOracleまたはSQL Serverの場合。

  2. 反映元の日本語項目に全角空白だけのデータを入力している場合。

  3. 一括同期または差分同期を実行した場合。

原因

DBMSによって、文字列データの後ろに詰められた空白(後方空白)の扱いが異なります。レプリケーションサービスは、問題の現象が発生する条件のとき、全角空白だけのデータは1文字の全角空白に置き換えてデータファイルに書き込みます。この結果、データファイルには、1文字の全角空白の後ろに半角空白が詰められて格納されます。

対処

Symfoware6000のデータファイルに全角空白だけの文字列データを入力しないように、運用や利用者プログラムを見直してください。


現象

同期を実行すると、次のメッセージが表示されます

E05002

ODBC関数( SQLExecDirect )で( SQLSTATE=S1000 CODE=12081 )異常が発生しました。

【エラー説明】[Oracle][ODBC][Ora]ORA-12081: 表"xxxxx"."yyyyyy"で更新操作は許可されません。

条件

反映先のデータファイルにOracle Database 11gの読取り専用の表を関連づけて、同期を実行した場合。

原因

更新操作が許可されていないデータファイルに対して、同期実行で更新データは反映できません。

対処

反映先には、更新操作が可能なデータファイルを指定するように、レプリケーションの構成定義を再作成してください。


現象

同期を実行すると、次のメッセージが表示されます

E05002

ODBC関数( SQLExecDirect )で(SQLSTATE=S1000 CODE=55610)異常が発生しました。

【エラー説明】[Oracle][ODBC][Ora]ORA-55610: 履歴追跡表のDDL文が無効です

条件

同期対象のデータファイルに対し、Oracle Database 11gのフラッシュバック・アーカイブを有効にして以下の操作を行った場合。

  • 同期を実行

  • レプリケーションの構成定義を削除

原因

PowerReplicationは、フラッシュバック・アーカイブに対応していません。

対処

同期対象のデータファイルに対して、フラッシュバック・アーカイブを無効にしてください。


現象

同期を実行すると、次のメッセージが表示されます

E05002

ODBC関数( SQLExecDirect )で( SQLSTATE=S1000 CODE=54013 )異常が発生しました。

【エラー説明】[Oracle][ODBC][Ora]ORA-54013: 仮想列ではINSERT操作は許可されていません

条件

反映先のデータファイルにOracle Database 11gの仮想列を関連づけて、同期を実行した場合。

原因

仮想列に対して、同期実行で更新データは反映できません。

対処

反映先には、仮想列を関連づけないように、レプリケーションの構成定義を再作成してください。


現象

同期を実行すると、次のメッセージが表示されます

E05001

ODBC関数( SQLExecDriverConnect )で( SQLSTATE=S1000 CODE=28001 )異常が発生しました。

【エラー説明】[Oracle][ODBC][Ora]ORA-28001: パスワードが期限切れです。

原因

レプリケーション専用ユーザに対してパスワードの有効期限が設定されており、有効期限が超過しています。

対処

レプリケーション専用ユーザに対して、ユーザ・プロファイルを作成し、パスワードの有効期限に"UNLIMITED"(無期限)を設定してください。

レプリケーション専用ユーザとして扱うOracleのデータベースユーザに対して、ユーザ・プロファイルの作成方法については、Oracleのオンラインマニュアルを参照してください。

備考

レプリケーション専用ユーザとは、同期実行時にレプリケーションサービスがデータベースへの接続(データベース認証)に使用するデータベースのユーザです。


現象

同期を実行すると、次のメッセージが表示されます

E05001

ODBC関数( SQLExecDriverConnect )で( SQLSTATE=28000 CODE=18487 )異常が発生しました。

【エラー説明】[Microsoft][SQL Server Native Client 10.0][SQL Server]ユーザーXXXXXはログインできませんでした。理由: このアカウントのパスワードの有効期限が切れています。

原因

レプリケーション専用ユーザに対してパスワードの有効期限が設定されており、有効期限が超過しています。

対処

レプリケーション専用ユーザに対して、パスワードポリシー(パスワードの有効期限)を適用しないように変更してください。

レプリケーション専用ユーザとして扱うSQL Serverのデータベースユーザの設定については、SQL Server Books Onlineを参照してください。

備考

レプリケーション専用ユーザとは、同期実行時にレプリケーションサービスがデータベースへの接続(データベース認証)に使用するデータベースのユーザです。