/* drop table emp; if exists? create table emp( empid number(5), empname varchar2(100), empage number(5) ); */ --该语句执行的前提是当前用户具备DBA权限,否则会报错误: /* 第 10 行出现错误: ORA-00942: 表或视图不存在 解决: 使用SYSDBA角色的用户登录ORACLE执行 GRANT DBA TO XAXNB; 使用XAXNB重新登录ORACLE */ --开始一个事务 INSERT INTO EMP VALUES(1,'CHENZW',27); --查看该事务 col name format A20; set linesize 200; select addr, --RAW(4|8) 事务状态对象的地址 start_time, --VARCHAR2(20) 事务的开始时间 status, --VARCHAR2(16) 事务的状态 name, --VARCHAR2(256) 事务的名称 log_io, --NUMBER 逻辑I/O操作数量 phy_io, --NUMBER 物理I/O操作数量 used_ublk, --NUMBER 回滚时使用的撤销块的数量 ses_addr --RAW(4|8) 用户会话对象的地址,与V$SESSION中的SADDR相关联,可以获取事务中的用户会话信息。 from v$transaction; --实例程序执行的结果如下: SQL> INSERT INTO EMP VALUES(1,'CHENZW',27); 已创建 1 行。 SQL> --查看该事务 SQL> col name format A20; SQL> set linesize 200; SQL> select 2 addr, --RAW(4|8) 事务状态对象的地址 3 start_time, --VARCHAR2(20) 事务的开始时间 4 status, --VARCHAR2(16) 事务的状态 5 name, --VARCHAR2(256) 事务的名称 6 log_io, --NUMBER 逻辑I/O操作数量 7 phy_io, --NUMBER 物理I/O操作数量 8 used_ublk, --NUMBER 回滚时使用的撤销块的数量 9 ses_addr --RAW(4|8) 用户会话对象的地址,与V$SESSION中的SADDR相关联,可以获取事务中 的用户会话信息。 10 from v$transaction; ADDR START_TIME STATUS NAME LOG_IO PHY_IO USED_UBLK SES_ADDR -------- -------------------- ---------------- -------------------- ---------- ---------- ---------- 30FC7F44 04/17/11 13:52:57 ACTIVE 30 0 1 31F30064 /* 该事务是没有名字的,可以看到上面的NAME是空的,可以通过SET TRANSACTION NAME 来对事务进行命名 */
事务与锁定-查看事务的信息
最新推荐文章于 2021-02-27 12:49:05 发布