Eu criei uma visão materializada com o DI_TEST_AL
usuário, vamos nomear MY_MVIEW
. Ele aparece na USER_OBJECTS
tabela como MATERIALIZED VIEW
, eu tento descartá-lo, recebo uma mensagem de sucesso, mas o objeto ainda está lá. De fato, se eu tentar recriá-lo, recebo um erro como "o objeto já existe".
Vejo que há uma tabela com o mesmo nome pertencente a outro esquema. Suponho que isso não deve causar o problema, mas tive vontade de mencioná-lo.
Aqui está a saída do 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>
Eu verifiquei minha permissão e DROP ALL MATERIALIZED VIEWS
é concedida ao DI_TEST_AL
usuário.
STATUS
na seleção em ALL_OBJECTS
. Eu também tenho esse problema e, para mim, o status na exibição materializada é INVALID
.
DO_OPP_SEARCH_MVIEW
?