commit和rollback

原创 2012年03月23日 06:25:19

一、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的用法

转自:juni的blog http://szqu.blog.163.com/blog/static/38298602201002835727720/ 从SQL语言的分类谈COMMIT和ROLLB...
  • yjtgod
  • yjtgod
  • 2013年07月24日 11:03
  • 8373

MYSQL的COMMIT和ROLLBACK

从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。 1. DDL(Data Definition Language)      数据定义语言,用于定义和管理 SQL 数据库中的所有对...
  • z278930050
  • z278930050
  • 2016年11月14日 20:29
  • 630

commit和rollback

一、oracle事务   oracle在第一个可执行sql语句开始时,隐式地开始一个事务,遇到以下情况时结束事务:   1、commit:整个事务的所有更改永久保存   2、rollback:撤...
  • bayueguihuaxiang
  • bayueguihuaxiang
  • 2012年03月23日 06:25
  • 5625

事务的commit work与rollback work

只是对这两个命令的简单介绍: 一个数据库事务起始于一个SQL语句,中止于以下4种事件之一: COMMIT或ROLLBACK语句 DDL/DCL隐式提交 用户退出时自动提交 系统强行关...
  • baidu_21040027
  • baidu_21040027
  • 2015年04月07日 18:56
  • 2706

MySql之commit、rollback等事务控制命令

#commit、rollback用来确保数据库有足够的剩余空间; #commi、rollback只能用于DML操作,即insert、update、delet; #rollback操作撤销上一个co...
  • saga_gallon
  • saga_gallon
  • 2017年05月01日 10:53
  • 2328

MySQL事务回滚rollback与提交commit的操作

1.    >D: 2.    >cd program files\mysql\bin 3.    >mysql -uroot -p123456 4.    >show data...
  • youcheng_ge
  • youcheng_ge
  • 2017年08月29日 17:41
  • 591

COMMIT和ROLLBACK的用法

从功能上划分,SQL语言可以分为DDL,DML和DCL三大类。 1. DDL(Data Definition Language) 数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语...
  • inaoen
  • inaoen
  • 2011年11月01日 11:46
  • 4213

PB中的Commit和RollBack

PB中的Commit和RollBack         用PowerBuilder的人都肯定有用到过Commit(提交事务语句)和RollBack(回滚事务语句)。在理解上有一点是值得注意的,这里我想...
  • bjash
  • bjash
  • 2007年07月25日 22:41
  • 5493

Win10安装teamview出现rollback framework could not be initialized问题

详见rollback framework could not be initialized, 在安装team viewer 的时候出现的这个错误信息,求大师帮忙 具体来说: 用管理...
  • jkq10
  • jkq10
  • 2016年12月26日 11:41
  • 4224

MongoDB 的Rollback讲解及避免

前言:      前段时间突然发现数据库文件路径下多了个rollback名字的文件夹,很是纳闷,里面居然还有.bson后缀格式的文件,随一探究竟。 原来是在这段时间内发生过failover(主从切换)...
  • jianlong727
  • jianlong727
  • 2017年06月16日 10:18
  • 1819
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:commit和rollback
举报原因:
原因补充:

(最多只允许输入30个字)