zoukankan      html  css  js  c++  java
  • Pmon和Smon回滚被Kill会话未提交事务引发问题的探讨(旧文初发)

    今天在群里,和小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的文档越来越不可信。

    Oracle & Mysql & Postgresql & MSSQL 调优 & 优化
    ----------------------------------------------------------
    《高性能SQL调优精要与案例解析》
    blog1:http://www.cnblogs.com/lhdz_bj
    blog2:http://blog.itpub.net/8484829
    blog3:http://blog.csdn.net/tuning_optmization
  • 相关阅读:
    [HNOI2008] Cards
    loj #136
    a problem
    dp * 3
    STL
    套题1
    luogu 4211
    loj #2319
    loj #2316
    luogu 1144
  • 原文地址:https://www.cnblogs.com/lhdz_bj/p/2056835.html
Copyright © 2011-2022 走看看