INSERT 文を複製する際に競合解決が動作すると Post プロセスが異常終了する場合があります。
異常終了した際の core.out には以下のようなスタックトレースが出力されます。
< core.out 出力例 >
#0 0x00007f145b6c53f0 in ttcl2c ()
#1 0x00007f145b6cd780 in ttcacs ()
#2 0x00007f145b69cf28 in ttcdrv ()
#3 0x00007f145b64e795 in nioqwa ()
#4 0x00007f145b6375c2 in upirtrc ()
#5 0x00007f145b63d2b2 in kpurcsc ()
#6 0x00007f145b63abb6 in kpuexec ()
#7 0x00007f145b6380c3 in OCIStmtExecute ()
#8 0x0000000000474bf7 in Connection::OCI_ExecN
#9 0x0000000000429652 in Sql::ExecuteSQL_exec
#10 0x00000000004309ba in Sql::CR_ExecuteSQL
#11 0x000000000043aad5 in Sql::UpdateUsingKeyOnly
#12 0x000000000043b36b in Sql::ReplaceUsingUpdate
#13 0x000000000043c2ae in Sql::RecentRecord
#14 0x00000000004545f1 in TryConflictResolution
#15 0x000000000043d44b in Sql::Process_PER_Result
#16 0x0000000000444f9c in Sql::ExecuteDMLSQL
#17 0x0000000000448a0e in Sql::ExecuteInsertBatch
#18 0x0000000000448bdf in Sql::BindAndExecuteInsertBatch
#19 0x0000000000448ee0 in Sql::PostInsertBatchWithSqlCache
#20 0x000000000044911d in Sql::CreateInsertBatch
#21 0x000000000044f74e in Sql::CreateSQL
#22 0x000000000045d304 in SqlThread::processMessage
#23 0x000000000045d589 in SqlThread::run
本事象は SharePlex9.2.7 以降で修正されていますので、SharePlex9.2.7 以降へバージョンアップしてください。
バージョンアップが難しい場合は、以下の回避策を実施してください。
< 回避策 >
SP_ORD_BATCH_ENABLE パラメータを 0 に設定します。
> set param SP_ORD_BATCH_ENABLE 0
SP_ORD_BATCH_ENABLE パラメータは、複数のメッセージをバッチ処理化してパフォーマンス向上
を図る機能であり、0 に変更することでパフォーマンスへの影響が考えられます。
テスト環境等で事前にて受け入れ可能なパフォーマンス影響かどうか確認した上で設定してください。
なお、show post detail の以下項目より SP_ORD_BATCH_ENABLE パラメータが発動した回数を
確認することができます。
> show post detail
....
Insert batch operations / average : 1 / 7 rows
Update batch operations / average : 0 / 0 rows
Delete batch operations / average : 0 / 0 rows
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center