アプリケーションの実行中およびビジー状態のときに、Oracle10OLTPデータベースで頻繁に使用されるテーブルにNULL可能列を追加しようとしています。null許容列の追加はデータディクショナリの変更にすぎないため、テーブルロックは短時間しか保持されません(システムで処理できます)。
問題は、私ALTER TABLE
がこれで失敗することが多いということです:
ORA-00054: resource busy and acquire with NOWAIT specified
私の現在のアプローチは、テーブルにロックがなくなるまで変更を実行して、変更をぶち壊すことです。つまり、SQL * Plusでこのようなスクリプトを完全に実行することはできませんが、各ステートメントをコピーして貼り付け、機能することを確認する必要があります。
もっと良い方法はありますか?