DBAtlas · Atlas für Datenbankbetrieb

ORA-38029: object statistics are locked

Oracle

Was bedeutet das?

Das Sammeln/Löschen von Statistiken wurde abgelehnt, weil die Optimizer-Statistiken einer Tabelle (oder eines Schemas) gesperrt sind. Gesperrte Statistiken sind vor der Neuberechnung mit DBMS_STATS geschützt.

Ursache

DBMS_STATS.LOCK_TABLE_STATS oder LOCK_SCHEMA_STATS wurde zuvor aufgerufen (z. B. um Statistiken festzuschreiben), oder ein Data-Pump-Import (insbesondere CONTENT=METADATA_ONLY) hat die Statistiken unbeabsichtigt gesperrt hinterlassen. Ein GATHER_TABLE_STATS bei gesperrten Statistiken löst diesen Fehler aus.

Lösung

Entsperre die Statistiken: EXEC DBMS_STATS.UNLOCK_TABLE_STATS('APP_SCHEMA','MY_TABLE'); oder auf Schemaebene DBMS_STATS.UNLOCK_SCHEMA_STATS('APP_SCHEMA'); Willst du die Sperre nicht aufheben, aber trotzdem sammeln, nutze FORCE=>TRUE: EXEC DBMS_STATS.GATHER_TABLE_STATS('APP_SCHEMA','MY_TABLE', force=>TRUE); Sperrstatus anzeigen: SELECT table_name, stattype_locked FROM dba_tab_statistics WHERE stattype_locked IS NOT NULL;

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank