Ich habe mit dem DI_TEST_AL
Benutzer eine materialisierte Ansicht erstellt , nennen wir sie MY_MVIEW
. Es erscheint in der USER_OBJECTS
Tabelle als MATERIALIZED VIEW
, ich versuche es zu löschen, ich bekomme eine Erfolgsmeldung, aber das Objekt ist noch da. In der Tat, wenn ich versuche, es neu zu erstellen, erhalte ich eine Fehlermeldung wie "Objekt existiert bereits".
Ich sehe, dass es eine Tabelle mit demselben Namen gibt, die zu einem anderen Schema gehört. Ich gehe davon aus, dass dies das Problem nicht verursachen sollte, aber ich wollte es erwähnen.
Hier ist die SQL * Plus-Ausgabe:
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>
Ich habe meine Erlaubnis überprüft und werde DROP ALL MATERIALIZED VIEWS
dem DI_TEST_AL
Benutzer gewährt .
STATUS
in die Auswahl auf aufzunehmen ALL_OBJECTS
. Ich habe auch dieses Problem, und für mich ist der Status in der materialisierten Ansicht INVALID
.
DO_OPP_SEARCH_MVIEW
?