CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

小议Oracle 11g的自治事务(三)

作者: 杨廷琨,  出处:blog, 责任编辑: 王晓晨, 
2008-08-06 08:10
  本文通过几个例子来验证了自治事务是否和推测的一样,是由另一个会话执行的操作。

 小议Oracle 11g的自治事务(一  小议Oracle 11g的自治事务(四)

  小议Oracle 11g的自治事务(二)     小议Oracle 11g的自治事务(五)

小议Oracle 11g的自治事务(三)    小议Oracle 11g的自治事务(六)

      上一篇文章提到了,自治事务更像是在单独的会话中执行,它的事务状态不会影响当前的事务,它也不会看到当前事务没有提交的修改。

  那么自治事务是否和推测的一样,是由另一个会话执行的操作呢,下面通过几个例子来验证这一点:  

SQL> TRUNCATE TABLE T_AUTO_TRANS;

  表被截断。

SQL> CREATE OR REPLACE PROCEDURE P_AUTO AS
  2 PRAGMA AUTONOMOUS_TRANSACTION;
  3 BEGIN
  4 INSERT INTO T_AUTO_TRANS VALUES (2, 'TEST');
  5 DBMS_LOCK.SLEEP(10);
  6 COMMIT;
  7 END;
  8 /

  过程已创建。

SQL> SELECT SID FROM V$MYSTAT WHERE ROWNUM = 1;
  SID
  ----------
  143

  在另外一个会话登陆,检查当前系统中会话数量: 

SQL> CONN / AS SYSDBA已连接。
  SQL> SET SQLP 'SQL2> '
  SQL2> SELECT SID, USERNAME, STATUS FROM V$SESSION;
  SID USERNAME STATUS
  ---------- ------------------------------ --------
  137 ACTIVE
  143 YANGTK INACTIVE
  145 ACTIVE
  147 ACTIVE
  149 ACTIVE
  154 SYS ACTIVE
  156 ACTIVE
  157 ACTIVE
  160 ACTIVE
  161 ACTIVE
  162 ACTIVE
  163 ACTIVE
  164 ACTIVE
  165 ACTIVE
  166 ACTIVE
  167 ACTIVE
  168 ACTIVE
  169 ACTIVE
  170 ACTIVE

  已选择19行。

?3?? 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2007, ChinaByte
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i