パーティション表でパーティションの移動を伴う更新を許可/不許可にするには、
ALTER TABLE ~ ROW MOVEMENT句を使用します。
構文
- (パーティションの移動を伴う更新を許可/不許可にする構文)
- ALTER TABLE <テーブル名> [ENABLE | DISABLE] ROW MOVEMENT;
ENABLEにすると許可、DISABLEにすると不許可になります。
サンプル
例1)m_userテーブルのパーティション移動を伴う更新を許可する
1 |
ALTER TABLE m_user ENABLE ROW MOVEMENT; |
例2)m_userテーブルのパーティション移動を伴う更新を不許可にする
1 |
ALTER TABLE m_user DISABLE ROW MOVEMENT; |
解説
- デフォルト状態では、不許可(DISABLE)です。
- SHRINK SPACEを行う時も、ROW MOVEMENTがENABLEになっている必要があります。
- 不許可のテーブルでパーティションの移動を伴う更新をすると、ORA-14402が発生します。
→ [ORAエラー] ORA-14402: パーティション・キー列を更新するとパーティションが変更されます。