DBAtlas · Veritabanı operasyon atlası

ORA-38029: object statistics are locked

Oracle

Ne demek?

Bir tablo (veya şema) üzerindeki optimizer istatistikleri kilitli olduğu için istatistik toplama/silme işlemi reddedildi. Kilitli istatistikler, DBMS_STATS ile yeniden hesaplanmaya karşı korunur.

Neden olur?

Daha önce DBMS_STATS.LOCK_TABLE_STATS veya LOCK_SCHEMA_STATS çağrılmış (örneğin istatistiklerin sabit kalması istendiği için) ya da Data Pump import (özellikle CONTENT=METADATA_ONLY) istatistikleri istemeden kilitli bırakmıştır. Kilitliyken GATHER_TABLE_STATS çalıştırmak bu hatayı verir.

Nasıl çözülür?

İstatistik kilidini açın: EXEC DBMS_STATS.UNLOCK_TABLE_STATS('SEMA','TABLO'); veya şema düzeyinde DBMS_STATS.UNLOCK_SCHEMA_STATS('SEMA'); Kilidin kaldırılmasını istemiyor ama yine de toplamak istiyorsanız FORCE=>TRUE kullanın: EXEC DBMS_STATS.GATHER_TABLE_STATS('SEMA','TABLO', force=>TRUE); Kilit durumunu görmek için: SELECT table_name, stattype_locked FROM dba_tab_statistics WHERE stattype_locked IS NOT NULL;

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar