質問: Oracleのユニークキーの無効化・有効化についてご教示ください。 以下SQLでユニークキーの無効化・有効化した時に、 7,8のSQLを実施した時に、対象のユニークキーが検索されないケースがあります。 検索される/されないどちらのケースも5のSQL実行時に特にエラーは発生しませんが、 なぜ7,8のSQLを実施した時に、 対象のユニークキーが検索されないケースが発生するのかわからないので、 どなたかご教示頂けないでしょうか? 1.alter table テーブル disable constraint インデックス名; 2.SELECT * FROM user_ind_columns; 3.SELECT * FROM user_indexs; 4.SELECT * FROM user_constraints; 5.alter table テーブル enable インデックス名; 6.SELECT * FROM user_ind_columns; 7.SELECT * FROM user_indexs; 8.SELECT * FROM user_constraints;
回答: take-chan さん 実際に再現するか、殆ど同じ構成でやってみましたが、再現しませんでした。 Oracleのバージョンは12.1.0.2です。 ディクショナリのテーブルに存在しないということは、下記のどちらかだと思います。 1. 本当にINDEXオブジェクトが作られていない 2. INDEXオブジェクトが作られているが、ディクショナリが更新されない 上記切り分け出来そうでしょうか。 検索して実行計画から使用されていることを確認したり、もし未実施であればsysユーザでdba_objectsを検索してみるのもいいかもしれません。 また、もしOracleのサポート契約を結んでいれば、問合せするのが一番確実と思います。