DBAtlas · データベース運用アトラス

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;

DBAtlas で開く →

同じデータベースの他の項目