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(ファイル N は現在読み取れない)
- 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(このシステムでは MEMORY_TARGET はサポートされない)
- ORA-27102out of memory(メモリ不足)
- ORA-04030out of process memory when trying to allocate N bytes(N バイトの割り当て時にプロセスメモリ不足)
- ORA-12537TNS:connection closed(接続がクローズされた)