ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 修改分区表关键字字段

修改分区表关键字字段

原创 Linux操作系统 作者:streamsong 时间:2013-01-21 17:55:25 0 删除 编辑

耗时将近2周的时间,终于将25TB的图片利用SQLLDR全部加载到数据库,如何利用SQLLDR加载图片或二进制文件参考我之前的文章:

在修改分区表关键字字段的时候,遇到ORA-14402错误:

SQL> update images set identifier=substr(identifier,1,16) where identifier

like '%0000';

update images set identifier=substr(identifier,1,16) where identifier like

'%0000'

       *

ERROR at line 1:

ORA-14402: updating partition key column would cause a partition change

本案例是64位OEL5.7操作系统,ORACLE11 gR2,图片以11G的新特性SECUREFILE模式存储,有一张25TB的分区表,hash档号字段分区,目前8个分区,由于客户在提供数据的时候,档号字段有些错误的数据,需要改正,而修改分区关键字字段,可能会导致各分区的数据产生移动,这就需要打开表的行移动,由于行的迁移过程可能会消耗大量的时间和资源,ORACLE默认没有打开行移动,就不能直接修改分区关键字字段,所以抛出ORA-14402错误,这个问题的解决方法也很简单,打开表的行移动就可以了。

SQL> alter table images enable row movement;

Table altered.

SQL> set timing on

SQL> update images set identifier=substr(identifier,1,16) where identifier

like '%0000';

7616 rows updated.

Elapsed: 00:04:45.30

SQL> commit;

Commit complete.

       正常情况下,这个UPDATE过程应该很快的,由于发生了行的迁移,所以花费了将近5分钟的时间。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26547977/viewspace-752998/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-03-30

  • 博文量
    11
  • 访问量
    41604