如何查询oracle数据库的 *** 作记录

如何查询oracle数据库的 *** 作记录,第1张

查询视图:v$sqlarea,它是oracle中专门存储 *** 作的视图,可以通过它查询历史 *** 作。

授权某用户,查看动态性能视图的权限(如v$latch,v$lock,v$sqlarea,v$sql,v$sysstat)

grant select any dictionary to xxx

如通过以下查询语句就可以得知那个用户进行了删除 *** 作。

select t.SQL_TEXT, t.FIRST_LOAD_TIME

from v$sqlarea t

where t.SQL_TEXT like 'delete%' and t.FIRST_LOAD_TIME like '2013-03-30%'

order by t.FIRST_LOAD_TIME desc

首先,向你介绍一个动态视图:v$sql

该视图展示最近一段时间所有执行过的sql语句:

select * from v$sql

即可。

如果报错找不到v$sql,一般是权限问题,换sysdba就肯定能查到。

但要注意的是“隐式sql”,很多sql语句是调用执行的,(比如,存储过程中对dbms包的调用,再如执行create 语句所触发的对系统表空间、数据字典的修改等等。),这些语句同样会展现在v$sql中。

还有其它与sql历史记录相关的v$视图,详情可以参考Oracle官方文档《Oracle® Reference》,直接给你个10.2的文档链接,够方便了吧:

http://www.oracle.com/pls/db102/homepage?remark=tahiti


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6780210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存