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:使用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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)