oracle被删除dbs如何查看 *** 作日志

oracle被删除dbs如何查看 *** 作日志,第1张

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就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误 *** 作,执行事后审计,执行变化分析。

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存