oracle日志模式,logging的用法,force logging的用法,nologging的用法

本文介绍了Oracle数据库的日志模式,包括logging、force logging和nologging。logging是默认模式,force logging强制记录日志,nologging则减少日志。force logging在数据库或表空间级别设定,而LOGGING/NOLOGGING在表级别。nologging模式常与append一起使用,减少日志生成,适用于大数据量处理。在归档和非归档模式下,不同日志模式对redo日志的影响也有所不同。在FORCE LOGGING模式下,nologging无效。
摘要由CSDN通过智能技术生成

一、oracle日志模式分为(logging,force logging,nologging)

默认情况是logging,就是会记录到redo日志中,force logging是强制记录日志,nologging是尽量减少日志。FORCE LOGGING可以在数据库级别、表空间级别进行设定、而LOGGINGNOLOGGING可以在表级别设定。

注:FORCE LOGGING并不比一般的LOGGING记录的日志多,数据库在FORCE LOGGING状态下,NOLOGGING选项将无效,因为NOLOGGING将破坏,DATAGUARD的可恢复性.FORCE LOGGING强制数据库在任何状态下必须记录日志。

logging,force logging和nologging是只记录到redo日志中,归档不归档是另外的设置,但是如果用nologging了,那么显然就算归档的话,归档日志就少了,但是可能不能用于介质回复了,因为有些根本没有记录。

二、使用情况

1.logging模式

这是日志记录的缺省模式,无论数据库是否处于归档模式,这并不改变表空间与对象级别上的缺省的日志记录模式。对于临时表空间将不记录日志到联机重做日志文件。

2.nologing模式

此模式不是不记录日志,而是最小化日志产生的数量,通常在下列情况下使用NOLOGGING

nologing模式通常和append联合使用。

append介绍:

/+append/

(1) append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo

使用append,一是减少对空间的搜索;二是有可能减少redolog的产生。所以append方式会快很多,一般用于大数据量的处理。建议不要经常使用append,这样表空间会一直在高水位上,除非你这个表只插不删

论坛append解释:

请教一下,oracle中append是做什么用的。

 insert /*+append*/ into table1 select * from table2

在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。使用append会增加数据插入的速度。

/+APPEND/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间
append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo

不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据。

查redo大小语句:

select name,value,class from v$sysstat where name='redo size';

显示的好方法:

select (1745704-582728) redo1,(1839872-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值