更新中テーブルの索引を REBUILD すると ORA-54エラーが発生
更新中テーブルの索引を他セッションから REBUILD すると、ORA-54エラー(リソースビジー)が発生する。
--セッションA SQL> DELETE FROM TEST_TABLE WHERE ROWNUM <= 10; 10 rows deleted.
--セッションB SQL> ALTER INDEX TEST_TABLE_PK REBUILD; ALTER INDEX TEST_TABLE_PK REBUILD * ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
WAITオプションを付ければ回避できないかな?と思ったけど、構文図にも無いし駄目みたい。
SQL> ALTER INDEX TEST_TABLE_PK REBUILD WAIT; ALTER INDEX TEST_TABLE_PK REBUILD WAIT * ERROR at line 1: ORA-02243: invalid ALTER INDEX or ALTER MATERIALIZED VIEW option
Oracle Database SQL言語リファレンス
11gリリース2(11.2)
B56299-02
ALTER IDNEX
http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/statements_1010.htm#i2050158