知识大全 小议Oracle11g的自治事务(三)

Posted 过程

篇首语:别裁伪体亲风雅,转益多师是汝师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 小议Oracle11g的自治事务(三)相关的知识,希望对你有一定的参考价值。

小议Oracle11g的自治事务(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

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

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

   SQL> TRUNCATE TABLE T_AUTO_TRANS;

  表被截断

   SQL> CREATE OR REPLACE PROCEDURE P_AUTO AS     PRAGMA AUTONOMOUS_TRANSACTION;     BEGIN     INSERT INTO T_AUTO_TRANS VALUES (   TEST );     DBMS_LOCK SLEEP( );     MIT;     END;     /

  过程已创建

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

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

   SQL> CONN / AS SYSDBA已连接   SQL> SET SQLP  SQL >    SQL > SELECT SID  USERNAME  STATUS FROM V$SESSION;   SID USERNAME STATUS            ACTIVE     YANGTK INACTIVE     ACTIVE     ACTIVE     ACTIVE     SYS ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE

  已选择 行

  下面执行P_AUTO过程 这个过程会等待 秒的时间

   SQL> EXEC P_AUTO

  在第二个会话仍然执行上面的查询  

   SQL > SELECT SID  USERNAME  STATUS FROM V$SESSION;   SID USERNAME STATUS            YANGTK ACTIVE     ACTIVE     ACTIVE     ACTIVE     SYS ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE

  已选择 行

  查询完成后 会话 的过程才执行完成

  PL/SQL 过程已成功完成

  从这一点上看 没有看到自治事务产生额外的会话 下面再次执行P_AUTO过程 并在过程的执行过程中查询V$LOCK视图 检查产生锁的会话  

   SQL > SELECT SID  TYPE  ID  ID  LMODE  REQUEST  CTIME     FROM V$LOCK;   SID TY ID  ID  LMODE REQUEST CTIME                    XR              CF              PW              RS              RT              MR              MR              MR              MR              MR              MR              MR              MR              TS              TM              TX         

  已选择 行

   SQL > COL OBJECT_NAME FORMAT A   SQL > SELECT OWNER  OBJECT_NAME  OBJECT_TYPE     FROM DBA_OBJECTS     WHERE OBJECT_ID =  ;   OWNER OBJECT_NAME OBJECT_TYPE          YANGTK T_AUTO_TRANS TABLE

  根据上面两个查询可以看到 自治事务仍然和主事务处于同一个事务之中 为了更好的说明问题 在执行P_AUTO过程先 对T_AUTO_TRANS插入一条数据

   SQL> INSERT INTO T_AUTO_TRANS VALUES (   TEST );

  已创建 行

   SQL> EXEC P_AUTO

  PL/SQL 过程已成功完成

  在P_AUTO的执行过程中 再次查询V$LOCK

   SQL > SELECT SID  TYPE  ID  ID  LMODE  REQUEST  CTIME     FROM V$LOCK;   SID TY ID  ID  LMODE REQUEST CTIME                    XR              CF              PW              RS              RT              MR              MR              MR              MR              MR              MR              MR              MR              TS              TM              TM              TX              TX         

  已选择 行

cha138/Article/program/Oracle/201311/17709

相关参考

知识大全 小议Oracle11g的自治事务(二)

小议Oracle11g的自治事务(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  自治事务实

知识大全 小议Oracle11g的自治事务(一)

小议Oracle11g的自治事务(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这两天看了

知识大全 小议Oracle11g的自治事务(四)

小议Oracle11g的自治事务(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!上一篇文章描述

知识大全 小议Oracle外键约束修改行为(一)

小议Oracle外键约束修改行为(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracl

知识大全 Oracle内存数据库11g和高速缓存11g上市

Oracle内存数据库11g和高速缓存11g上市  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!北京

知识大全 Oracle9i数据库WITH查询语法小议

Oracle9i数据库WITH查询语法小议  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ora

知识大全 Oracle11g默认目录结构

Oracle11g默认目录结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracleg主流

知识大全 Oracle 11g安装图文攻略

Oracle11g安装图文攻略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  呵呵花了一个多小时

知识大全 Oracle11g备份恢复功能增强

Oracle11g备份恢复功能增强  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracleg

知识大全 oracle11G空表默认不导出解决

oracle11G空表默认不导出解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ORACLE