非归档模式下也可能产生很多redo

       我一直以为在非归档模式下,insert into操作会产生很少的redo,今天做数据库迁移后,对一个非分区表分区,执行了下面的语句:
       insert into 分区表 select * from 原来非分区表
       原来的非分区表有500万数据,大小是1G,上面有5个索引,这个操作产生了5G的redo,搞了50分钟没搞完。
        表是logging的,难道跟这个有关?
       测试:
       表创建时先不要创建索引,等insert into 完成后再create index
       取消表的logging:
       alter table HC_DATASET nologging;
       取消表空间的logggin:
       alter tablespace JKK_DATASET nologging;
       alter tablespace IDX_JKK nologging;
       这时是产生的redo极少。
       创建索引:
      产生的redo也极少。
      这样,原来50分钟完成不了的,产生5G的redo操作,设置了表和表空间的nologging后,索引在数据插入完成后再创建,15分钟就完成了,而且只产生了极少的redo。   
      后记:
     只需要设置表空间的nologging就可以了,不必设置表的nologging  

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

转载于:http://blog.itpub.net/263455/viewspace-758324/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值