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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查询oracle数据库的操作记录相关的知识,希望对你有一定的参考价值。

参考技术A

查询视图: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

如何查询oracle表的操作日志记录

1、打开oracle sql developer工具,没有此工具的可以去oracle官网下载安装即可,刚刚安装完成的是没有记录的,只有使用工具执行过后才会留下记录可以查询。打开之后不需要连接数据库就可以查询到sql记录了。

2、在二级菜单中,选择SQL历史记录选项,或者按快捷键F8打开窗口。

3、默认打开是会显示在最下方的小窗口,在标题栏双击鼠标左键,即可最大化窗口,再次双击左键还原窗口。

4、最大化窗口之后,便于更好的查询记录结果,如图所示,以往执行的sql记录都显示出来了,可以在每个栏目标题上单击,进行排序操作,一般可以点击时间戳字段,按时间来排序查询记录。第二次点击,可以切换顺序和逆序。

5、最后一个字段是持续时间,点击排序之后可以查询出哪些sql语句最快,哪些sql语句执行比较慢,需要优先等。

6、对于一些不需要的sql记录可以删除的,因为记录多了不便于查询,没有用的sql最好及时清除了。只需要选择您需要删除的记录,然后点击如图所示的清除按钮,在二次确认弹框中选择是,即可删除。

7、在删除按钮后面就是一个搜索输入框,在此处输入搜索关键字可以模糊匹配到记录,对于记不清的记录,采用模糊搜索的方式查询,效率非常高。工具会自动根据我们输入的关键字进行筛选过滤的。

参考技术A 需要打开oracle审计功能才能记录,并且消耗一定性能。
简单打开审计如下
1、设置参数
alter system set audit_trail=db scope=spfile;
2、重启数据库
3、打开相应的审计(审计选项很多),如,对用户test对表操作的审计
audit table by test;
4、以dba查看审计记录
select * from dba_audit_trail;本回答被提问者采纳
参考技术B select * from v$sqlarea t order by t.FIRST_LOAD_TIME desc

以上是关于如何查询oracle数据库的操作记录的主要内容,如果未能解决你的问题,请参考以下文章

如何查询oracle表的操作日志记录

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

oracle 查询最大的五位数

如何在oracle中查询每个表的记录条数

如何在oracle中查询每个表的记录条数

oracle中如何只查询一条复合条件的记录,即查到一条记录就返回