Pmon和Smon回滚被Kill会话未提交事务引发问题的探讨(旧文初发)
2011-05-25 16:58
344 查看
今天在群里,和小MEC讨论KILL SESSION的问题引出了这么个问题:也就是KILL SESSION后,该SESSION未提交事务的回滚有哪个进程来完成的问题,先前还和他及SUN讨论了V$SQLAREA中字段USERS_EXCUTING的什么值表示SQL正在处理及什么值表示SQL没在处理的问题,晚上没事情参考了ORACLE的官方资料,结果如下:
首先,前一个问题,也就是SESSION KILLED后,未提交事务由哪个后台进程回滚的问题,我查阅了官方文档,ORACLE11G CONECOPTS,里面有关于各后台进程的陈述,又参考了OCP官方教材ORACLE9iDBA Fundamentals 1-i,其中有对各后台进程的明确陈述,结果是,SESSION KILLED后,未提交事务是由后台进程PMON来执行回滚的。
其次,后一个问题,不知道为什么,结果字各V$SQL视图里,都没发现今天SUN说的那个字段,以后见到SUN 再问问,先解决到这里。
接着写,今天遇到了SUN,和他谈了很多,人很不错,他那天说的是V$SQLAREA里的USERS_EXCUTING字段,我查了一下ORACLE11G的官方文档,结果和我们想的都相去甚远,原文是:USERS_EXECUTINGNUMBERTotal number of users executing the statement over all child cursors
是执行语句的用户的数目,我们都很吃惊,SUN也提出了质疑,他的平台是ORACLE10G,以为是版本间的差别或改动,结果晚上我费了半天劲查到了ORACLE10G的文档,结果同样,没什么变动,不知道文档是对的,还是文档出现了问题,ORACLE的文档越来越不可信。
首先,前一个问题,也就是SESSION KILLED后,未提交事务由哪个后台进程回滚的问题,我查阅了官方文档,ORACLE11G CONECOPTS,里面有关于各后台进程的陈述,又参考了OCP官方教材ORACLE9iDBA Fundamentals 1-i,其中有对各后台进程的明确陈述,结果是,SESSION KILLED后,未提交事务是由后台进程PMON来执行回滚的。
其次,后一个问题,不知道为什么,结果字各V$SQL视图里,都没发现今天SUN说的那个字段,以后见到SUN 再问问,先解决到这里。
接着写,今天遇到了SUN,和他谈了很多,人很不错,他那天说的是V$SQLAREA里的USERS_EXCUTING字段,我查了一下ORACLE11G的官方文档,结果和我们想的都相去甚远,原文是:USERS_EXECUTINGNUMBERTotal number of users executing the statement over all child cursors
是执行语句的用户的数目,我们都很吃惊,SUN也提出了质疑,他的平台是ORACLE10G,以为是版本间的差别或改动,结果晚上我费了半天劲查到了ORACLE10G的文档,结果同样,没什么变动,不知道文档是对的,还是文档出现了问题,ORACLE的文档越来越不可信。
相关文章推荐
- 终极办法:解决spring mvc+mysql+mybatis事务不提交不回滚的问题
- 关于jave在oracle驱动下事务提交与回滚问题
- Proxool+hibernate+spring时事务自动回滚导致无法提交的问题解决
- 使用事务实现--转账问题:从0001账户转1000块到0002账户。打开"隐式事务":设置为开,删除表中数据,回滚!(默认情况为关,如果打开了则不自动提交,学要手动提交)
- SQL2000 事务回滚问题探讨
- 关于jave在oracle驱动下事务提交与回滚问题
- 配置了事务,结果事务还是没法自动提交(没报错,没回滚情况下)
- mysql事务的提交和回滚和数据引擎有关
- spring事务回滚问题
- SSH整合,spring事务管理不回滚问题
- 关于Spring事务回滚的问题
- 正确使用事务提交数据并回滚
- 批量复制操作(SqlBulkCopy)的出错处理:事务提交、回滚
- spring事务回滚问题
- oracle 数据库事务,提交,回滚,保存点,表的锁定,隐式锁,显示锁,写锁,读锁,排他锁,共享锁
- MySql数据库事务正常提交,回滚失败
- 由test -n/-z 引发的关于shell变量问题的探讨
- 防CSRF攻击:一场由重复提交的问题引发的前端后端测试口水战