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就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误 *** 作,执行事后审计,执行变化分析。
如何查询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
使用job的所有者账号登陆,通过查询user_jobs视图查看;
我一般只关注三个字段;
LAST_DATE:最后次运行时间;
NEXT_DATE:下次运行时间;
TOTAL_TIME:总用时。具体语句如下:select s.LAST_DATE,s.NEXT_DATE,s.TOTAL_TIME from user_jobss。
日志
日志,是一个汉语词汇,汉语拼音是rì zhì。基本字义是指工作日志。日志主要发表在网络,详细介绍一个过程和经历的记录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)