ORA-38029: object statistics are locked
OracleЧто это значит?
Сбор/удаление статистики отклонены, так как статистика оптимизатора для таблицы (или схемы) заблокирована. Заблокированная статистика защищена от пересчёта с помощью DBMS_STATS.
Почему возникает?
Ранее был вызван DBMS_STATS.LOCK_TABLE_STATS или LOCK_SCHEMA_STATS (например, чтобы зафиксировать статистику), либо импорт Data Pump (особенно с CONTENT=METADATA_ONLY) непреднамеренно оставил статистику заблокированной. Запуск GATHER_TABLE_STATS при заблокированной статистике вызывает эту ошибку.
Как исправить
Разблокируйте статистику: EXEC DBMS_STATS.UNLOCK_TABLE_STATS('APP_SCHEMA','MY_TABLE'); или на уровне схемы DBMS_STATS.UNLOCK_SCHEMA_STATS('APP_SCHEMA'); Если снимать блокировку не нужно, но собрать статистику всё же требуется, используйте FORCE=>TRUE: EXEC DBMS_STATS.GATHER_TABLE_STATS('APP_SCHEMA','MY_TABLE', force=>TRUE); Чтобы посмотреть состояние блокировки: SELECT table_name, stattype_locked FROM dba_tab_statistics WHERE stattype_locked IS NOT NULL;
Ещё по этой СУБД
- ORA-00376file N cannot be read at this time
- ORA-12520TNS:listener could not find available handler for requested type of server
- ORA-28001the password has expired
- ORA-00845MEMORY_TARGET not supported on this system
- ORA-27102out of memory
- ORA-04030out of process memory when trying to allocate N bytes
- ORA-12537TNS:connection closed