セッション1でこのクエリがあります。 select * from xここで、x.id = 625は更新nowait; と私はセッション2で別のクエリを持っています: 更新xセットx.code = 0ここでid = 625; 私は、セッション1がコミットまたはロールバックするのを待っているセッション2を望んでいません。 セッション1がコミットされなくなるまで、セッション2にエラーを発生させたい。 私の問題はセッション2がセッション1がリソースを解放するのを待つことです。オラクル行レベルのロックで、他のセッションにエラーが発生しない
1
A
答えて
3
セッション2では、別のSELECT FOR UPDATE NOWAIT
を発行してレコードのロックを取得し、同じトランザクションで更新を行う必要があります。
SELECT FOR UPDATE
ステートメントは、更新する同じレコードをロックするために、同じWHERE
の条件をUPDATE
として使用する必要があります。
レコードが既にロックされている場合は、最初のSELECT FOR UPDATE
スロー:
ORA-00054を:リソース忙しいとNOWAIT指定またはタイムアウトで取得は
SELECT 1 FROM x WHERE id = 625 FOR UPDATE NOWAIT;
update x set x.code = 0 where id = 625 ;
関連する問題
- 1. エラーが発生しました "要素 'httpCookies'が上位レベルの設定でロックされています
- 2. 排他ロック(行レベル) - MySqlに例が必要
- 3. 2回目のパススルーでエラーが発生し、オラクルからデータをコピーするとエラーが発生する
- 4. MySQLの行レベルのロック
- 5. MVC3エラーが発生するレベル
- 6. ロック解除(iPhone)でチタンの「再開」イベントが発生しない
- 7. 他のtry-except-elseでエラーを発生しない
- 8. APIレベルのレート制限がwso2で発生しない
- 9. PDOのトラブルシューティング:プリペアドステートメントの実行時にエラーが発生しない
- 10. Zendのセッションに致命的なエラーが発生
- 11. ゴルーチンのDBコールでエラーが発生してもエラーが発生しない
- 12. PHPでセッションを使用中にエラーが発生しました
- 13. spring tool suiteプラグインの実行でエラーが発生しない
- 14. cronのコマンドを実行してもエラーが発生しない
- 15. APIレベル4のAVDでエラーが発生する
- 16. lmer:母集団レベルの予測でエラーが発生する
- 17. hasNextLineではエラーが発生しますが、hasNextではエラーが発生しないのはなぜですか?
- 18. ActiveRecordトランザクションでエラーが発生しない
- 19. カスタムHandleErrorAttributeでエラーが発生しない
- 20. スプリングブートBindingResultでエラーが発生しない
- 21. スピーチシンセサイザでエラーが発生しない
- 22. nodeJSでGET /エラーが発生しない
- 23. シグナルアラームでエラーが発生しない
- 24. Javaアサーションエラーでエラーが発生しない
- 25. ngパターンでエラーが発生しない
- 26. ora-00604:包括的なSQLレベル1でエラーが発生しましたか?
- 27. "データベースがロックされています"というエラーが発生しました
- 28. Swift 3に移行 - URLセッション中に次のエラーが発生する
- 29. pg(0.21.0)のインストール中にエラーが発生し、Bundlerが続行できない
- 30. 中にエラーが発生しましたロード・カバレッジ・セッション(コード5001)
親愛なるkrokodilkoを満了し、あなたの答えをありがとうございましたが、そこにありますこの問題に利用可能な他の解決策はありますか?あなたのソリューションでは、コードプロジェクト内のいくつかの場所を変更し、更新前または削除前に「SELECT FOR UPDATE NOWAIT」を追加する必要があるためです。 –
レコードがロックされているときに例外をスローしたい場合は、noを指定します。他の解決策はありません。 'SELECT FOR UPDATE NOWAIT'はOracleの唯一のコマンドです。そのような場合にエラーをスローすることができます。他のすべてのDMLコマンド(更新、削除、挿入も時々実行します)は、ロックが解放されるのを待ちます。標準のSQL動作です。 – krokodilko
あなたはどのような問題を解決しようとしていますか? – BobC