Neden Oracle 11gR2'de materyalize görünümü, onu oluşturan aynı kullanıcıyla bırakamıyorum?


11

DI_TEST_ALKullanıcı ile materyalize bir görünüm oluşturdum , hadi adlandıralım MY_MVIEW. Bu göründüğü USER_OBJECTSkadar masada MATERIALIZED VIEWben bir başarı iletisi almak, bırakın çalışıyorum, ama nesne hala orada. Aslında yeniden oluşturmaya çalışırsam "nesne zaten var" gibi bir hata alıyorum.

Başka bir şemaya ait aynı adı taşıyan bir tablo olduğunu görüyorum. Soruna neden olmaması gerektiğini düşünüyorum, ama bundan bahsetmek gibi hissettim.

İşte SQL * Plus çıktısı:

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> 

İznimi iki kez kontrol ettim ve kullanıcıya DROP ALL MATERIALIZED VIEWSverildi DI_TEST_AL.


nedir DO_OPP_SEARCH_MVIEW?
Jack diyor ki topanswers.xyz

MY_MVIEW materyalize görünümünü bırakmak istiyorsanız, görünümü aşağıdaki gibi bırakın: MATERIALIZED VIEW MY_MVIEW. ATM, başka bir şey bırakıyorsunuz ve bu kritik olabilir ...
Kerri Shotts

1
MY_MVIEW düşürmeye çalışıyorum, kısalık için örnekte adı değiştirdim ama o biti unuttum ... Bu hata ayıklama nasıl bir fikir? Neden kehanet düştüğünü söylüyor ama değil? Şerefe
basilikode

Bir destek sözleşmeniz var mı? gördüğünüz şeye neden olan bazı 10g hatalar var, belki de onlar etrafında. 11gR2'ye karşı çoğaltmaya çalıştım ama yapamadım. Belki de ilk tablodan ve MV'den başkalarının çoğaltmaya çalışabileceği tam bir komut dosyası sağlayın.
Matthew Watson

Eklemeyi deneyin STATUSüzerinde seçme içinde ALL_OBJECTS. Ben de bu sorun var ve benim için, somutlaştırılmış görüş durumu INVALID.
awe

Yanıtlar:


10

Sysdba olarak bağlanın ve MV için dba_summaries'te herhangi bir giriş olup olmadığını kontrol edin. Eğer koşmak varsa,

drop summary <OWNER>.<MV_NAME>;`

Teşekkürler dostum, bu materyalize görünümün tamamen kaldırılmasını
engelliyordu

Bu tam bir sorun var ve MV listelenmiştir dba_summaries. Sorun çalıştırmaya çalıştığımda DROP SUMMARY MY_OWNER.MY_MATERIALIZED_VIEW;, hata ORA-00950 ... geçersiz DROP seçeneği alıyorum .
awe

@ veritabanınızı / sysdba olarak bağlamaya çalışıyoruz. Sonra DROP SUMMARY komutunu kullanabilirsiniz.
Atilla Ozgur

0

Maddi görünümü bırakmaya çalıştığımda da benzer bir sorunla karşılaştım. Oluşturmaya çalışırsam Ad zaten var demektir. Bu Oracle'da bir hata.

Görünümü bırakmadan önce all_objects tablosunda sorgulama yapın.

SQL: SELJ * ALL_OBJECTS'DEN OBJECT_NAME = 'MY_MVIEW'; 2 kayıt döndürmelidir, ojbect_type = TABLE ve Object_type = MATERIALIZED VIEW.

Ancak Object_type = Table ile sadece bir kayıt gösteriyorsa, o tabloyu veritabanından bırakın

Tabloyu bırak MY_MVIEW;

Ve maddileştirilmiş görünümü yeniden oluşturmaya çalışın. İşe yaramalı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.