commit和rollback
来源:互联网 发布:江宁淳化街网络问政 编辑:程序博客网 时间:2024/05/20 06:55
一、oracle事务
oracle在第一个可执行sql语句开始时,隐式地开始一个事务,遇到以下情况时结束事务:
1、commit:整个事务的所有更改永久保存
2、rollback:撤销事务所做的更改
3、DDL语句:执行DDL语句时,oracle隐式提交之前事务所做的更改。
4、程序正常结束:oracle隐式提交
5、程序失败:oracle隐式rollback
事务开始时,oracle分配一个撤销段,记录撤销数据。
二、commit
1、当commit时发生下列事情:重做记录中的事务表被标记所提交事务的唯一SCN
lgwr将事务的重做日志信息连同事务的SCN,从重做日志缓冲区写入到联机重做日志文件
释放事务所持有的锁
2、commit选项 immediate:commit之后,立即将重做日志信息从日志缓冲区写入到日志文件
bath:不立即写
wait:直到日志信息成功写入日志文件才返回
nowait:不需要等待日志信息成功写入日志文件就可以返回。
修改commit选项:系统级:比如 alter system set commit_write=bath,nowait scope=spfile
会话级:alter session set commit_write=immediate,wait;
在提交的时候:commit write immediate nowait;
三、rollback
1、当发布rollback之后,oracle使用撤销段中的数据撤销事务所做的更改,释放事务所持有的锁,并标记事务完成。
2、使用savepoint设置保存点,使用rollback to savepoint save_point_name撤销到保存点,该保存点之后所进行的操作被撤销,保存点被保留。
事务并未结束,可以继续进行。在oracle中,oracle为每一条sql语句隐式设置保存点,当一条sql语句失败后,oracle隐式撤销到该保存点。
- COMMIT和ROLLBACK
- commit和rollback
- oracle commit 和 rollback
- commit和rollback
- mysql commit和rollback
- PB中的Commit和RollBack
- PB中的Commit和RollBack
- JDBC的commit和rollback
- COMMIT和ROLLBACK的用法
- oracle中的commit和rollback
- MYSQL的COMMIT和ROLLBACK
- MYSQL的COMMIT和ROLLBACK
- COMMIT和ROLLBACK的用法
- MYSQL的COMMIT和ROLLBACK
- Oracle commit和rollback处理
- MySQL中的commit和rollback
- MYSQL的COMMIT和ROLLBACK
- MYSQL的COMMIT和ROLLBACK
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败
- Ubuntu 中软件的安装、卸载以及查看的方法总结
- 约束、同义词、序列
- oracle 角色
- commit和rollback
- [老老实实学WCF] 第四篇 初探通信--ChannelFactory
- 并发性与隔离级别
- 锁
- Hazelcast: Java分布式内存网格框架(平台)
- 自动撤销管理(AUM)
- 闪回
- FileReference as3xls
- printf 缓冲区问题