zoukankan      html  css  js  c++  java
  • 分区表的维护 ORA14402 更新分区关键字列

    在使用分区表时,需要注意的一个问题是,当我们更新分区字段时,可能会遇到如下错误:

    SQL> update DOM_REAL_CATEGORY_FL set doc_level=101 where doc_level=51;
    update DOM_REAL_CATEGORY_FL set doc_level=101 where doc_level=51
    *
    ERROR at line 1:
    ORA-14402: updating partition key column would cause a partition change

    这个错误的解释是:

    ORA-14402: updating partition key column would cause a partition change
    Cause: An UPDATE statement attempted to change the value of a partition key column causing migration of the row to another partition
    Action: Do not attempt to update a partition key column or make sure that the new partition key is within the range containing the old partition key.

    为了解决这个问题,可以使用如下命令更改分区表的属性:

    SQL> alter table DOM_REAL_CATEGORY_FL enable row movement;

    Table altered.

    更改分区表的分区键值,意味着要删除记录并重新插入一条新的记录,这会引起记录(Record)的移动,记录的Rowid会改变,相关索引需要进行维护。

    SQL> update DOM_REAL_CATEGORY_FL set doc_level=101 where doc_level=51;

    57024 rows updated.

    Elapsed: 00:00:34.61

  • 相关阅读:
    【CF1015D】Walking Between Houses(构造,贪心)
    【CF1068D】Array Without Local Maximums(计数DP)
    【CF1068C】Colored Rooks(构造)
    172.处理机控制与杂项指令
    171.控制转移指令
    170.串处理指令
    169.逻辑指令
    168.算术指令
    Volume 1. Big Number(uva)
    Volume 1. String(uva)
  • 原文地址:https://www.cnblogs.com/zhangzt/p/2708166.html
Copyright © 2011-2022 走看看