修改分区表关键字字段

耗时将近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

本案例是64OEL5.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博客 ” ,链接:http://blog.itpub.net/26547977/viewspace-752998/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26547977/viewspace-752998/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值