Daha önce, bir tabloda istatistiksel bilgiler toplanırken bir hata rapor edildi: ORA-20005: nesne istatistikleri kilitlendi (stattype = all) Aşağıda, bildirilen hatayı ve nasıl çözüleceğini not olarak kaydedin!
Daha önce 11g R2'den birkaç tabloyu dışa aktardığım ve ardından bunları 11g R2'ye aktardığım için, o sırada içe aktarma başarılı oldu ve bir süre önce bu tabloların bilgilerini toplamak zorunda kaldım ve birkaç tablonun toplanamadığı ortaya çıktı. DBMS_STATS paketini kullanın ORA-20005'i görüntüle: nesne istatistikleri kilitlendi (stattype = ALL), ORA-38029'u görüntülemek için Analiz komutunu kullanın: nesne istatistikleri kilitlendi.
Hata ekran görüntüsü aşağıdaki gibidir:
Buradaki çözüm, aslında iki seviyeden ele alınabilen kilidin açılmasıdır:
1. Şemanın Kilidini Açın
DBMS_STATS.UNLOCK_schema_STATS (kullanıcı);
2. Tek bir nesnenin kilidini açın
1) Önce kilitli tabloyu bulun
stattype_locked'in boş olmadığı user_tab_statistics'ten tablo_adı seçin;
Ardından nesnenin kilidini açın
exec dbms_stats.unlock_table_stats (kullanıcı, 'T_PX_ZG_PXNR');2) Doğrudan sql betikleri de oluşturabilirsiniz
select'exec dbms_stats.unlock_table_stats ('' '|| kullanıcı ||' '', '' '|| tablo_adı ||' ''); 'stattype_locked'in boş olmadığı user_tab_statistics'ten;Buradaki oluşturulan sql'de dinamik kullanıcı kullanmamanın amacı, yürütücünün hangi şemanın altında kilidinin açıldığını net bir şekilde bilmesini sağlamak ve yanlış çalışmayı önlemektir.
çok dikkat:
Oracle istatistikleri neden kilitliyor?
Genel olarak bu, yürütme planını stabilize etmek içindir, çünkü Oracle 10g ve üzeri sürümlerde, Oracle varsayılan olarak istatistikleri otomatik olarak toplayacaktır.İstatistikleri kilitlemek için lütfen LOCK_SCHEMA_STATS, LOCK_TABLE_STATS paketlerini kullanın.
Yeniden analiz tablosu
BAŞLA DBMS_STATS.GATHER_TABLE_STATS (OWNNAME = > 'NWPP_TEST', TABNAME = > 'T_PX_ZG_PXNR', ESTIMATE_PERCENT = > 100, METHOD_OPT = > 'tüm sütun boyutları için çarpık', CASCADE = > DOĞRU); SON; /Hiç hata olmadığını görebilirsiniz.
İşteki daha yaygın sorunlar daha sonra paylaşılacak, ilgilenen arkadaşlar buna dikkat edebilir! !