テクニカル・サポートではOut of Sync(OOS)の調査に以下の情報が必要です。
========================================================
-ソース側およびターゲット側のvardir/log配下一式
-ソース側およびターゲット側の以下コマンド結果
sp_ctrl> list param modified
sp_ctrl> version full
-Out of sync が発生したテーブルのCREATE文
-Out of sync が発生したテーブルに格納されているデータ
実データではなくサンプルデータで構いません。
-Oracle Databaseのサプリメンタルロギング設定値
ソースデータベースにおける以下SQLの結果を送付ください。
select NAME,
SUPPLEMENTAL_LOG_DATA_MIN min_log,
SUPPLEMENTAL_LOG_DATA_PK log_pk,
SUPPLEMENTAL_LOG_DATA_FK log_fk,
SUPPLEMENTAL_LOG_DATA_UI log_ui,
SUPPLEMENTAL_LOG_DATA_ALL log_all
From v$database;
========================================================
上記資料から有効な対処策の確認に至らない場合は以下デバッグログを採取してください。
ソース側
sp_ctrl> stop capture
sp_ctrl> stop read
sp_ctrl> set param SP_OCT_GEN_DEBUG_OBJID <src_objid>
sp_ctrl> set param SP_ORD_DEBUG_OBJECT <src_objid>
sp_ctrl> set param SP_OCT_LOG_NUMFILES 50
sp_ctrl> set param SP_ORD_LOG_NUMFILES 50
sp_ctrl> start capture
sp_ctrl> start read
ターゲット側
sp_ctrl> stop post
sp_ctrl> set param SP_OPO_OBJID_DEBUG <src_objid>
sp_ctrl> set param SP_OPO_DEBUG_FLAG 0x1f000007
sp_ctrl> set param SP_OPO_LOG_NUMFILES 50
sp_ctrl> start post
[注意点]
- パラメータ反映のため、各プロセスの再起動が必要です。
- <src_objid> はソース側での object_id を指定します。
- object_id は Oracle ディクショナリ dba_objectsのobject_id 列から確認できます。
- Out of sync の調査ではOut of sync発生前の複製を確認する必要がありますので、デバッグログのローテーション設定を変更します。
例えば、Out of sync が 7:00 に発生した場合、7:00から遡ってOut of sync が発生したレコードへの直近の更新が6:00 だった場合、
6:00 から 7:00 までのデバッグログが調査に必要です。
上記例では SP_*_LOG_NUMFILES のパラメータでログファイルを 50 個へ変更しています。
デフォルトでは1つのファイルが 50MB ですので、プロセス毎に2500MBのログを保存しますが、調査に必要なデバッグログが採取できるように適切な値を設定してください。
© 2025 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center