如何查询Oracle数据库的 *** 作日志

如何查询Oracle数据库的 *** 作日志,第1张

方法1:使用LogMiner工具

优点:可以完全挖掘日志内容,找出所有执行过的SQL语句

缺点:

1.

如果没有启用归档日志,则只能对联机日志进行挖掘

2.

需要掌握LogMiner的用法

访法2:查看HIST视图

优点:简单,只要使用普通的select语句查询

缺点:Oracle保留约1周的历史,所以要查太早的就不可能了

--

找出哪个数据库用户用什么程序在最近三天执行过delete或truncate

table的 *** 作

举例如下:

SELECT

c.username,

a.program,

b.sql_text,

b.command_type,

a.sample_time

FROM

dba_hist_active_sess_history

a

JOIN

dba_hist_sqltext

b

ON

a.sql_id

=

b.sql_id

JOIN

dba_users

c

ON

a.user_id

=

c.user_id

WHERE

a.sample_time

BETWEEN

SYSDATE

-

3

AND

SYSDATE

AND

b.command_type

IN

(7,

85)

ORDER

BY

a.sample_time

DESC

Oracle日志文件查看方法:

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

2、执行sql语句:

select * from v$logfile

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

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

select * from v$sql--(#查看最近所作的 *** 作)

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存