Oracle

  (最終更新日:2014.09.26)

[解決済] Create Indexしたらなぜか『オブジェクト統計はロックされています』でエラーになった

DataPumpでデータをインポートした後に、Create indexを実行したところ「ORA-38029: オブジェクト統計はロックされています」というエラーで弾かれてしまいました。

本人的にはロックした覚えもなし。
どうやらいろいろOTNなどで調べてみたところ、原因は不明だけど統計オブジェクトがロックされてしまうことがあるようです。(もっと深く調査すれば原因が判明しそうですが)

2014/09/26 16:56:30 CREATE INDEX "HOGE"."TABLE1_INDX1" ON "HOGE"."TABLE1" ("ID", "NAME", "TIME")
2014/09/26 16:56:30 *
2014/09/26 16:56:30 行1でエラーが発生しました。:
2014/09/26 16:56:30 ORA-38029: オブジェクト統計はロックされています

ロックを解除する

解決策としてはロックされているオブジェクトのロックを解除してあげる必要があります。

# su - oracle
$ sqlplus sys as sysdba

下記プロシージャを実行します。

DECLARE
    CURSOR CUR IS SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER='HOGE';
BEGIN
    FOR CUR_REC IN CUR LOOP
        DBMS_STATS.UNLOCK_TABLE_STATS('HOGE', CUR_REC.TABLE_NAME);
    END LOOP;
END;
/

これで完了です。
もう一度Create Indexを実行したところ問題なく作成されました。

スポンサーリンク
スポンサーリンク

関連記事

  1. Oracle

    【Oracleメモ】テーブルやインデックスの統計情報の収集状況を確認するSQL

    Oracle11g、Oracl12cなどで利用可能。テーブルやイン…

  2. Oracle

    【Oracle】テーブル指定で統計情報をバックアップ、インポートする方法とポイント

    Oracle Databaseで、テーブルを指定して統計情報をバックア…

  3. Oracle

    【Oracle】表領域を新規で作成してユーザーも作成する手順

    Oracle Databaseで、新規で表領域を作成しその表領域をデフ…

  4. Oracle

    Statspackレポートを定期的(1日1回)に自動で作成する方法

    OracleのStatspackレポートを、自動で1日1回、1時間間隔…

  5. Oracle

    Oracleでカラムのデータをほぼ同じ文字数の文字で置換する方法

    つまりどういうことだってばよ!!!って言われそうですが。 噛み砕いてい…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. yumbackend.pyが終わらない? yumがロックされ…
  2. exportfsコマンド:exportsファイルでのNFSの…
  3. 【Oracleメモ】テーブルやインデックスの統計情報の収集状…
  4. 【CentOS 7】ルーティングの追加と削除の方法
  5. 【NetApp】dateコマンドでシステムの時刻を確認する
PAGE TOP