以system身份访问oracle数据库
执行SQL语句 select * from v$sqltext ,结果如下图
SQL_TEXT列就是所有执行过的sql语句。
下面是查找资料时看到的比较有用的一条
查询Oracle正在执行和执行过的SQL语句
---正在执行的
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from v$session a, v$sqlarea b
where a.sql_address = b.address
---执行过的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
from v$sqlarea b
where b.FIRST_LOAD_TIME between ‘2009-10-15/09:24:47‘ and
‘2009-10-15/09:24:47‘ order by b.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且 SQL_FULLTEXT 包含了完整的 sql 语句)
资料来源:http://blog.sina.com.cn/s/blog_6165052c0101890c.html