オプションフラグ |
重要性 |
ROLLBACK_ON_FAILURE | BEST_EFFORT |
このフラグのペアは、COMMIT中に障害が発生した場合(デフォルトのROLLBACK_ON_FAILURE)にトランザクションをロールバックする必要があるかどうか(BEST_EFFORT)を示します。これらのフラグの両方を同時に設定することはできません。
ROLLBACK_ON_FAILUREを使用すると、トランザクションのいずれかの部分のコミットに失敗すると、コミットされていない部分が破棄され、すでにコミットされている部分が補正されます(COMPENSATE/NOCOMPENSATEオプションに従って)。
BEST_EFFORTを使用すると、トランザクションの一部をコミットできない場合でも、可能な限り多くの他の部分がコミットされます。故障した部品はログに記録されます。 |
COMPENSATE | NOCOMPENSATE |
このフラグのペアは、トランザクションがロールバックした場合(COMPENSATE、デフォルト)に補正ブロックを実行する必要があるかどうか(NOCOMPENSATE)を示します。これらのフラグの両方を同時に設定することはできません。
NOCOMPENSATEは、補償のリスクを冒してパフォーマンスを向上させます。ただし、これをCOMPENSATEに設定しても、補正ブロックを定義しない限り、パフォーマンスコストは発生しません。 |
IGNORE_INTERRUPT |
LOG_INTERRUPT |
FAIL_INTERRUPT |
このフラグのグループは、サーバーがダウンした場合、またはトランザクションのコミットが部分的に完了したときに中断された場合に、システムが何をすべきかを示します。これらのフラグを一度に複数設定することはできません。
•IGNORE_INTERRUPT(デフォルト)により、サーバーは再起動時に特別なアクションを実行しません。
•LOG_INTERRUPTにより、サーバーはコミットを開始する前に基本的なトランザクション情報を保存し、再起動時に進行中のトランザクションを検出して失敗をログに記録できるようにします。このオプションでは、トランザクションごとに2つのメタコミット(開始と停止)が必要です。
•FAIL_INTERRUPTにより、サーバーは、進行中のトランザクションのサーバー起動時に、要求された障害モデルを実行するのに十分な情報を格納します。このオプションは、トランザクションの開始、トランザクションの終了、およびコミットするソースの各ペア間でメタコミットを要求するため、コストがかかります。 |
エラーメッセージ |
原因 |
Conflicting options(競合するオプション) |
2つの相互に排他的なオプションが宣言されています。 |