私は自分のウェブサイト用に 2 つのパスワードを保持しています (実際にはウェブサイトの人間のユーザーが知る限り同じパスワードですが、2 つの異なるアルゴリズムとソルトを使用してハッシュおよびソルト化されています)。1 つは WebUsers テーブルに配置され、ユーザーが Web サイトにログインするときにパスワードが検証される場所です。もう 1 つは oracle ユーザーのパスワードで、各 Web サイト ユーザーは oracle ユーザーに対応します。
パスワードの変更手順を行うとき、WebUsers テーブルと Oracle のパスワードをトランザクションで変更する必要があります。問題は、アクションを実行する前に DDL ステートメント [alter user ...] がコミットされることです。[alter user ...] が失敗し、例外処理コードでトランザクションをロールバックした場合、WebUsers テーブルの変更はロールバックされません。回避策はありますか?