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

    Linux版Oracle Database 11gの起動手順と停止手順

    すごく基礎的なことなんですが、Linux版のOracle Da…

  2. Oracle

    OracleでDBの文字コードを確認する方法

    Oracleデータベースで、データベースの文字コードを確認する方法のメ…

  3. Oracle

    expdpで一貫性(整合性)を維持してバックアップする方法

    Oracleのexpdpコマンドでデータの整合性を維持した一貫性バック…

  4. Oracle

    (解決策)テーブルを作成しようとしたらORA-01950エラーで権限が無いと怒られたとき

    dba権限が無いユーザーでOracleデータベースにテーブルを作成しよ…

コメント

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

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

最近の記事

  1. 【CentOS 7+Firewalld】FTPサーバへパッシ…
  2. 【SVN+WebDAV】IPでのアクセス制限をする方法(Ce…
  3. 【Let’s Encrypt】2018年1月から…
  4. 【CentOS 7】firewalldでとりあえず特定のIP…
  5. RHELでphp mbstringをyumインストールする方…
PAGE TOP