私は、アプリケーションによって常にアクセスされているテーブルの1つにオンラインでインデックスを作成するためのスクリプトを作成しています。私は、バックアウトが必要な場合に備えて、オンラインでインデックスをドロップする方法があるかどうかを知りたいと思います。DML操作の進行中にインデックスを削除する
私は排他ロックを取ることなく、インデックスを削除しようとする場合、それはORA-00054
を与えるので、私はこれを求めていた理由がある11.2.0.4.0
Oracle Database 11gのを使用しています - 忙しいリソース。オラクルの医者は、私が12cのためにオンラインで使うことができると言っています。これを11gでも達成する方法はありますか? DROP INDEX [ schema. ] index [ ONLINE ] [ FORCE ] ;
ありがとう@vercelli。私の指数はかなり小さく、このアプローチはうまくいきました。しかし、それがどのように大規模なインデックスのオブジェクトで動作するか見て興味深いだろう。 – Ankit
@Ankitインデックスを削除するのはかなり速くなければなりません。ロックがドロップインデックスによって取得されると、残りのクエリは待機する必要があります – vercelli