巨大なテーブルでカラムの定義変更中はDML処理が enq: TM - contentionやlibrary cache lockなどで待機してしまう。 待機させないためにカラム定義変更を即時で完了させることのできる方法をまとめたメモ。 とあるテーブル SQL>desc ab Name Null? Type ------------- -------- ---------------------------- ID NOT NULL NUMBER(38) TEXT VARCHAR2(30) DATED DATE SQL>select count(*) from ab; COUNT(*) ---------- 1000000 カラム追加 基本的には即時で完了する。 SQL>alter table ab add (tuika number(11)); Table altered. Elapsed