Nologging到底何时才能生效?(摘)  

        非归档模式下,不管表是否有nologging,append都会减少redo的生成:因append模式是将数据插入临时表空间的临时段中,而该表空间里的所有对象是不会有undo信息的,commit的时候就把该段移接到操作表的hwm屁股后;这是否是oracle文档上说的direct-pat insert操作是要单独一个事务的原因(这点与操作的parallelism有无关系)?redo有两部分,操作表seg的dirty blocks的redo,该操作生成的undo seg的dirty block的redo(不考虑dbms本身字典变化的redo),这样append就省了很多redo,因为即没有操作表seg的dirty block也无undo 段的redo(因数据在临时段里插入)。

而归档模式下,append+nologging才能减少redo的生成~

这样的话,比如一个类dss生产系统,按tom的话说是只有开发db才noarchive,生产系统肯定要archive。那么在一个类dss的生产系统(must be archived)做数据装载时,使用append+nologging(maybe +parallel)来加快数据加载的时间。
非归档的数据库 只要append一个条件就能起减少redosize的决定性作用
标签: 暂无标签
fishcat

写了 55 篇文章,拥有财富 503,被 40 人关注

oracle爱好者
转播转播 分享分享 分享淘帖
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈