其实nologging与表模式,插入模式,数据库运行模式(archived/unarchived)都有很大的关系: 总结如下: 注意append是一种hint; 一般我们可以这样来使用 insert /*+append+/ into mytable values(1,'alan'); 数据库在归档模式下 当表模式为logging状态时,无论是append模式还是no append模式,redo都会生成。 当表模式为no...
不过你想要数据库所有操作都产生重做记录,oracle数据库有一个force logging属性,一旦数据库改为force logging,则nologging和append hint会自动失效(甚至连SQL loader命令的直接路径导入也会自动转化为常规路径),这种这状态下可以确保数据库中所有操作都会记录重做信息。 一、日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGG...
当表模式为logging状态时,无论是否使用append模式,都会生成redo.当表模式为nologging状态时,只有append模式,不会生成redo 3. FORCE LOGGING模式 设定数据库为Force Logging模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作,而忽略类似NOLOGGING之类的指定参数。 通过下面的操作来修改 ALTERDATABASE FORCE LOGG...
NOLOGGING插完后最好做个备份。 另外,如果库处在FORCELOGGING模式下,此时的nologging方式是无效的。 总结得出以下3点结论: a、非归档模式下,只需append就能大量减少redo的产生;归档模式下,只有append+nologging才能大量减少redo。 b、insert /*+ append */ 时会对表加锁(排它锁),会阻塞表上的除了select以外所有...
快速向表中插⼊⼤量数据Oracle中append与Nologging 当需要对⼀个⾮常⼤的表INSERT的时候,会消耗⾮常多的资源,因为update表的时候,oracle需要⽣成 redo log和undo log;此时最好的解决办法是⽤insert, 并且将表设置为nologging;当把表设为nologging后,并且使⽤的insert时,速度是最快的,这个时候...
create index idx_object_id on idx_test(object_id) nologging; 使用insert append的缺点在于仅会向高水位线之上的块进行插入,会忽略高水位线下的空闲块,所以append会提高高水位线。 insert append时在表上加“6”类型的Exclusive锁,即排它锁,为表级锁,会阻塞表上的所有DML语句。因此在有业务运行的上传环境下...
2、用insert的direct方式,即在append方式insert 已测试 3、create table ….as select…. 已测试 4、create index create index TEST_FUTUFARES2_log on TEST_FUTUFARES2 (FARE_KIND,FUTUFARE_TYPE) nologging; 创建索引要想产生极少的REDO必须要按上面的那种方式创建索引,按照上面的那种方法去创建索引不管表的日...
对于 nologging 参数:也只是在特定的条件下才会大大减少redo 生成的数量.例如:index creations and ALTERs (rebuilds).Bulk INSERTs using a 'direct path insert' via the /*+ APPEND */ hint.LOB operations (updates to large objects do not have to be logged).Table creations via the ...
1) Nologging到底何时才能生效? http://www.eygle.com/faq/Nologging&append.htm 2) Oracle 减少redo size的方法 非归档模式下:append能大量减少redo量。 归档模式下:在表空间和数据库级非force logging模式下,表如果是nologging,则append能大量减少redo量。
insert /*+ append, parallel */ into ods_list_t nologging select * from ods_list;但这样不⾏:整个表可以插⼊,但要某⼀个字段则不能加⼊nologging insert /*+ append, parallel */ into ods_list_t(a,b) nologging select a,b from ods_list;但可以这样:insert /*+ append, parallel */...