我在互联网上查看了这个,大多数讨论是关于找到最后一次更改的时间。就我而言,我希望找到任何用户(架构)为最后一个发出COMMIT语句的时间戳。
有什么特别方法可以查询吗?
答案 0 :(得分:1)
如果你需要知道的是,当前的SQL * Plus会话是否有一个打开的事务,你可以通过从V $ SESSION中选择TADDR来实现。
示例:
SQL> create table testme(a number);
Table created.
SQL> select taddr from v$session where sid=(select sid from v$mystat where rownum=1);
TADDR
----------------
SQL> insert into testme values(1);
1 row created.
SQL> select taddr from v$session where sid=(select sid from v$mystat where rownum=1);
TADDR
----------------
0000007F50F86420
SQL> commit;
Commit complete.
SQL> select taddr from v$session where sid=(select sid from v$mystat where rownum=1);
TADDR
----------------
SQL>
如果TADDR为空,则没有当前事务。
希望有所帮助。