DI_TEST_ALユーザーでマテリアライズドビューを作成しましたMY_MVIEW。名前を付けましょう。USER_OBJECTSテーブルにと表示され、MATERIALIZED VIEWドロップしようとすると、成功メッセージが表示されますが、オブジェクトはまだそこにあります。実際、それを再作成しようとすると、「オブジェクトはすでに存在しています」などのエラーが発生します。
別のスキーマに属する同じ名前のテーブルがあることがわかります。それは問題を引き起こさないと思いますが、私はそれについて言及したいと思いました。
SQL * Plusの出力は次のとおりです。
SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 1 17:01:50 2011
SQL> select object_name, object_type, owner from all_objects where object_name = 'MY_MVIEW';
OBJECT_NAME OBJECT_TYPE OWNER
----------- ----------------- ----------
MY_MVIEW MATERIALIZED VIEW DI_TEST_AL
MY_MVIEW TABLE DIDEV11
SQL> DROP MATERIALIZED VIEW MY_MVIEW;
Materialized view dropped.
SQL> select object_name, object_type, owner from all_objects where object_name = 'MY_MVIEW';
OBJECT_NAME OBJECT_TYPE OWNER
----------- ----------------- ----------
MY_MVIEW MATERIALIZED VIEW DI_TEST_AL
MY_MVIEW TABLE DIDEV11
SQL>
私DROP ALL MATERIALIZED VIEWSは自分の許可を再確認し、DI_TEST_ALユーザーに付与されました。
STATUSの選択に含めてみてくださいALL_OBJECTS。私にもこの問題があり、マテリアライズドビューのステータスはINVALIDです。
DO_OPP_SEARCH_MVIEW?