oracle11g commit_logging commit_wait

在mysql中有参数可以控制什么时候及如何写log,之前只知道oracle在commit的时候总是会写log,在11g有两个参数commit_logging和commit_wait来控制什么时候写log。

SQL> show parameter commit_logging;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
commit_logging               string
SQL> show parameter commit_wait

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
commit_wait              string

下面是参数的解释
commit_logging可以设置成immeidate|batch,控制是否批量

IMMEDIATE参数使日志写入进程(LGWR)将事务的重做信息写入日志。 此操作选项强制磁盘I / O,因此可以降低事务吞吐量。
batch:这个参数会先缓存事务的redo,达到一定的量后再写入到log中,这称为“组提交”.
默认是immediate模式

commit_wait 这个参数可以设置成nowait wait force_wait

wait的模式下只是在redo写到磁盘上后commit才会返回,不管是batch还是immeidate方式,客户端接受到commit的成功消息,那么事务就已经是持久化的了。
nowait就是不管写没写完,都告诉客户端完成了。可能会导致数据的的丢失,但是速度更快了。

默认的commit语句其实是COMMIT WORK WRITE WAIT IMMEDIATE.所以这2个参数能跟mysql的几个控制日志写的参数对应起来,目的都是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值