eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« xmldom.setCharset无效问题的解决 | Blog首页 | Oracle Database 10g 与 DBA 2.0的时代 »

分区表的维护 - ORA-14402 更新分区关键字列

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

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



历史上的今天...
    >> 2013-01-14文章:
    >> 2011-01-14文章:
    >> 2010-01-14文章:
    >> 2008-01-14文章:
    >> 2007-01-14文章:
           2006 中国ERP市场谁主沉浮?
    >> 2006-01-14文章:
    >> 2005-01-14文章:
           HRAY纳斯达克的IPO历程

无觅

By eygle on 2009-01-14 23:50 | Comments (0) | FAQ | 2192 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com