/*
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
<事务名>
来对事务进行命名
*/