如何查询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

Oracle日志文件查看方法:

1、以sysdba权限用户登录数据库。

2、执行sql语句:select*fromv$logfile

3、结果显示即为日志路径:

4、另外还有其他的 *** 作日志可用以下两个sql语句查询:

select*fromv$sql--(#查看最近所作的 *** 作)select*fromv$sqlarea--(#查看最近所作的 *** 作)

Oracle日志的查看方法:

SQL>select*fromv$sql(#查看最近所作的 *** 作)

SQL>select*fromv$sqlarea(#查看最近所作的 *** 作)

Oracle数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误 *** 作,执行事后审计,执行变化分析。

方法和详细的 *** 作步骤如下:

1、第一步,查询该库中的所有表,测试sql,代码见下图,转到下面的步骤。

2、第二步,执行完上面的 *** 作之后,查询有多少个数据表,见下图,转到下面的步骤。

3、第三步,执行完上面的 *** 作之后,在TEST的开头编写一个查询表的脚本,每个表中的记录数,代码见下图,转到下面的步骤。

4、第四步,执行完上面的 *** 作之后,执行sql,在输出窗口中,可以看到每个表的输出,见下图。这样,就解决了这个问题了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存