Symfoware Serverのデータベース二重化機能、またはSymfoware Server Mirroring Controllerにおける、SQLSTATE=08004、またはSQLSTATE=40003エラーについて

Symfoware Server の技術情報はこちら

Symfoware Serverのデータベース二重化機能、またはSymfoware Server Mirroring Controllerを利用しています。アプリケーションでデータベースにアクセスしたところ、以下のSQLSATE値が通知されました。原因と対処方法を教えてください。
  • SQLSTATE=08004
  • SQLSTATE=40003
[原因]
ノード切替え中に、アプリケーションからデータベースアクセス(接続/更新/参照)していることが原因です。
ノード切替えを開始してから完了するまでの間は、データベースへのアクセスはエラーになります。
ノード切替えの完了は、以下のメッセージ通知により確認できます。
  • Connection Managerを使用している場合
    "apc00003i:Changed the communication endpoint of RDB system 's*' to the host 't*'.u*"
  • Connection Managerを使用していない場合
    "12132:副系ノードから正系ノードへの切替えが完了しました s*"

[対処方法]
通知されたSQLSTATE値に応じて、以下のいずれかの処置を実施してください。
  • SQLSTATE=08004の場合
    アプリケーションを再実行してください。
  • SQLSTATE=40003の場合
    エラーが発生したトランザクションでアクセスしていたデータベースの内容を参照し、トランザクションがコミットされたのか、ロールバックされたのかを確認してください。ロールバックされている場合は以下を実施してください。
     - Connection Managerを使用している場合
      トランザクションで実施していた操作を再実行してください。なお、コネクション制御はConnection Managerが行うため、コネクションの接続は不要です。
     - Connection Managerを使用していない場合
      ノード切替え後の正系ノード(旧副系ノード)でコネクションの接続からやり直し、トランザクションで実施していた操作を再実行してください。

詳細は以下のマニュアルを参照してください。

 Symfoware Server V12.3.0 Connection Managerユーザーズガイド
  4.1.2 通信異常時の対処
  5.2 アプリケーション作成時の注意事項

 Symfoware Server V12.3.0 Mirroring Controller運用ガイド
  2.3.4 ノード切替え完了の確認
  2.3.5.1 ノード切替え中のデータベースへのアクセス

 Symfoware Server V12.3.0 データベース二重化導入運用ガイド
  8.4.4 ノード切替え完了の確認
  8.4.5.1 ノード切替え中のデータベースへのアクセス

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
Symfoware Server Mirroring Controller
プラットフォーム Windows,Solaris,Linux
アンサー種別 運用/保守
このページの先頭へ