読者です 読者をやめる 読者になる 読者になる

#chiroito ’s blog

Java を中心とした趣味の技術について

ORA-38029: オブジェクト統計はロックされています

Oracle Database

環境

問題発生

SQL Developerでテーブルのデータを大量にロードしたりアンロードしてたら下記のエラーが。
ORA-38029: オブジェクト統計はロックされています
原因: オブジェクトのオプティマイザ統計情報を変更しようとしました。
処置: 実表でDBMS_STATS.UNLOCK_TABLE_STATSプロシージャを使用して統計情報のロックを解除してください。統計情報を更新できる場合は、操作を再試行してください。

解決方法

とりあえず、言われた通りにしてみようかと解除をするSQLを生成するSQLを作ってみました。
SELECT 'DBMS_STATS.UNLOCK_TABLE_STATS(''<スキーマ名>'',''' || TABLE_NAME || ''');' FROM USER_TAB_STATISTICS where STATTYPE_LOCKED = 'ALL';