0

数十のWF4インスタンスを処理する24時間365日のアプリケーションがあります。

SQLインスタンスストアの永続化OnIdleを使用して、永続化と回復の戦略を正常に実装し、制御されたシャットダウンでそのステータスを待機し、回復にロードバックしました。

ORACLEに移行する必要があり、DevArtインスタンスストアを使用しましたが、同じコードでいくつかの問題が発生しました。

これまでのところ、OnIdleを維持していますが、リカバリでロードできるようにするために、制御されたシャットダウンでアンロードする必要がありました。

私たちの恐れは、現れるかもしれない「それほど穏やかではない」シャットダウンについて考えるときに起こります。

制御されたシャットダウン方法に到達できない場合、アンロードされずに永続化されたインスタンスはどうですか?それらを回復する方法は?誰もが同じ状況に直面しましたか?

4

2 に答える 2

2

それを見つけた、

これは、ORACLEDevartインスタンスストアを使用して実行できます。問題は、OracleInstanceStoreLogicのDevArt dotConnectパッケージのバグであり、2037年までのロックの有効期限が急増し、インスタンスの再ロードができなくなりました。

それ以外の

newLockExpiration:= sysdate + p_lockTimeout / 24 * 60 * 60;

する必要があります

newLockExpiration:= sysdate + p_lockTimeout /(24 * 60 * 60);

次のアップデートで修正するために、この問題をDevArtの担当者に報告しました。

于 2012-07-05T12:54:31.383 に答える
2

「TheBeat」の答えに重要な追加が1つあります。角かっこがない場合のエラーは、2つのうち1つでしか修正されませんでした。具体的には、スクリプト「OracleInstanceStoreLogic.sql」にメソッド「ExtendLock」があります。

newLockExpiration:= sysdate + p_lockTimeout / 24 * 60 * 60;

(執筆時点ではDevartバージョン7.8.287.0があり、バグはまだ残っています。)これにより、ワークフローに問題が発生し、角かっこを追加すると問題が解決しました。

Devartにバグレポートを提出しました。

于 2013-07-31T08:18:16.313 に答える