zoukankan      html  css  js  c++  java
  • PL/SQL Developer 窥探事务

    一次登录代表一个连接

    一个SQL Window 代表一个会话(session),有唯一的SID

    事务(transaction) 由 insert 、update 或者 delete 开启

    由 commit 或者 rollback 结束

    会话中可以有事务,可以没有事务

    会话之间是不可见的(事务中的CUD对于其他会话不可见)

    不能看到隔壁屋,只能看到自己屋

    数据存储区域是所有会话共享的(commit 会把改动持久化到数据存储区)

    ...........................................................................................................                                                                                     

    INSERT INTO person VALUES ('1','1',1); --487

    DELETE FROM person --2476

    UPDATE person SET age = 12 --2676

    SELECT * FROM person --1721

    SELECT OBJECT_NAME AS 对象名称, S.SID, S.SERIAL#, P.SPID AS 系统进程号
      FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S, V$PROCESS P
     WHERE L.OBJECT_ID = O.OBJECT_ID
       AND L.SESSION_ID = S.SID
       AND S.PADDR = P.ADDR;

    1. SID 是否唯一不变  

    • SQL Window 打开之后变有了一个session,有一个唯一SID 。
    • 执行插入,开启事务后查看;再次开启再次查看。SID 不变。
    • 关闭window 或者断开连接,session 就会关闭。

    2. A会话中CUD事务其他会话是否可见 

    • 在insert window中执行插入,不提交。在select window 中执行查询 ,看不到记录
    • insert window 中 提交。select window中执行查询 可以查看到记录

    3. A会话中的CUD事务是否自己可见 

    • insert window中执行插入
    • insert window中执行查询,可以看到数据
  • 相关阅读:
    react文本溢出hover气泡显示全部文本——JS判断文本溢出
    ecosystem.config
    git删除中间某次提交
    HTML5 新元素
    HTML5存储
    简述LVS(Linux虚拟服务器)
    简述线程池
    网络协议基础
    JVM常用性能检测工具
    线程间的“通信”方法
  • 原文地址:https://www.cnblogs.com/zno2/p/4766131.html
Copyright © 2011-2022 走看看