DBMS_XAシステムパッケージは、パラメータ値を指定するために使用できる定数を定義しています。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
XA_START関数とXA_END関数のflagフィールドで使用される定数
次の表は、XA_START関数とXA_END関数のflagフィールドで使用される定数を示しています。
| 名前 | タイプ | 値 | 説明 |
|---|---|---|---|
| TMNOFLAGS | PLS_INTEGER | 00000000 | 選択されていないフラグ値を表します。 |
| TMSUCCESS | PLS_INTEGER | UTL_RAW.CAST_TO_BINARY_INTEGER ('04000000') | 呼び出し元とトランザクションの分岐を分離します。 |
| TMJOIN | PLS_INTEGER | UTL_RAW.CAST_TO_BINARY_INTEGER ('00200000') | 呼び出し元が現在のトランザクションの分岐に参加しています。 |
| TMSUSPEND | PLS_INTEGER | UTL_RAW.CAST_TO_BINARY_INTEGER ('02000000') | 呼び出し元は一時停止されており、関連付けは終了していません。 |
| TMRESUME | PLS_INTEGER | UTL_RAW.CAST_TO_BINARY_INTEGER ('08000000') | 呼び出し元が一時停止されたトランザクションの分岐との関連付けを再開しています。 |
DBMS_XAの可能な定数返り値
次の表に、DBMS_XAの可能な定数返り値を示します。
| 名前 | タイプ | 値 | 説明 |
|---|---|---|---|
| XA_RBBASE | PLS_INTEGER | 100 | ロールバックコードの下限範囲 |
| XA_RBROLLBACK | PLS_INTEGER | XA_RBBASE | 不明な原因によるロールバック |
| XA_RBCOMMFAIL | PLS_INTEGER | XA_RBBASE+1 | 通信障害によるロールバック |
| XA_RBDEADLOCK | PLS_INTEGER | XA_RBBASE+2 | デッドロックが検出された |
| XA_RBINTEGRITY | PLS_INTEGER | XA_RBBASE+3 | リソース整合性違反が検出された |
| XA_RBOTHER | PLS_INTEGER | XA_RBBASE+4 | リソースマネージャーRMがトランザクションをロールバックした理由が記載されていない |
| XA_RBPROTO | PLS_INTEGER | XA_RBBASE+5 | リソースマネージャーRMでプロトコルエラーが発生した |
| XA_RBTIMEOUT | PLS_INTEGER | XA_RBBASE+6 | トランザクションブランチが長時間を要した |
| XA_RBTRANSIENT | PLS_INTEGER | XA_RBBASE+7 | トランザクションブランチは再試行可能 |
| XA_RBEND | PLS_INTEGER | XA_RBTRANSIENT | ロールバックコードの上限(上限を含む) |
| XA_NOMIGRATE | PLS_INTEGER | 9 | トランザクションブランチは完了している可能性があります |
| XA_HEURHAZ | PLS_INTEGER | 8 | トランザクションブランチは完了している可能性があります |
| XA_HEURCOM | PLS_INTEGER | 7 | トランザクションブランチはコミットされている可能性があります |
| XA_HEURRB | PLS_INTEGER | 6 | トランザクションブランチはロールバックされている可能性があります |
| XA_HEURMIX | PLS_INTEGER | 5 | 一部のトランザクションブランチはコミットされ、他のものはロールバックされている可能性があります |
| XA_RETRY | PLS_INTEGER | 4 | 定期的な返却が無効で、再発行される可能性があります |
| XA_RDONLY | PLS_INTEGER | 3 | トランザクションは読み取り専用で、すでにコミットされています |
| XA_OK | PLS_INTEGER | 0 | 通常実行 |
| XAER.Async | PLS_INTEGER | -2 | 非同期操作が解決されていません |
| XAER_RMERR | PLS_INTEGER | -3 | トランザクションブランチ内のリソースマネージャーがエラーを報告しました |
| XAER_NOTA | PLS_INTEGER | -4 | XIDが無効です |
| XAER_INVAL | PLS_INTEGER | -5 | 指定されたパラメータが無効です |
| XAER_proto | PLS_INTEGER | -6 | 従来の呼び出しの前後関係が不適切です |
| XAER_RMFAIL | PLS_INTEGER | -7 | リソースマネージャーが利用不可能です |
| XAER_DUPID | PLS_INTEGER | -8 | XIDが既に存在する |
| XAER_OUTSIDE | PLS_INTEGER | -9 | リソースマネージャーがグローバルトランザクション以外の作業を実行する |