Oracle日志文件查看方法:
①.、以sysdba权限用户登录数据库.
select*fromv$sql;--(#查看最近所作的操作)select*fromv$sqlarea;--(#查看最近所作的操作)
Oracle日志的查看方法:
SQLselect*fromv$sql(#查看最近所作的操作)
SQLselect*fromv$sqlarea(#查看最近所作的操作)
①默认情况下,oracle的日志文件记录在$ORACLE/rdbms/log目录下
日志文件为(alert_.log):
其中background_dump_dest的value值即为日志文件存放位置
深入分析Oracle数据库日志文件
第一段:如何分析即LogMiner解释
从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行, Oracle数据库的所有更改都记录在日志中,但是原始的日志信息我们根本无法看懂,而LogMiner就是让我们看懂日志信息的工具.从这一点上看,它和tkprof差不多,一个是用来分析日志信息,一个则是格式化跟踪文件.通过对日志的分析我们可以实现下面的目的:
①.、查明数据库的逻辑更改;
LogMiner包含两个PL/SQL包和几个视图:
①.、dbms_logmnr_d包,这个包只包括一个用于提取数据字典信息的过程,即dbms_logmnr_d.build()过程.
end_logmnr() - 用来终止分析会话,它将回收LogMiner所占用的内存.
与LogMiner相关的数据字典.
①.、v$logmnr_dictionary,LogMiner可能使用的数据字典信息,因logmnr可以有多个字典文件,该视图用于显示这方面信息.
①.、支持更多数据/存储类型:链接/迁移行、CLUSTER表操作、DIRECT PATH插入以及DDL操作.在V$LOGMNR_CONTENTS的SQL_REDO中可以看到DDL操作的原句(CREATE USER除外,其中的密码将以加密的形式出现,而不是原始密码).如果TX_AUDITING初始化参数设为TRUE,则所有操作的数据库账号将被记录.
LogMiner只要在实例起来的情况下都可以运行,LogMiner使用一个字典文件来实现Oracle内部对象名称的转换,如果没有这个字典文件,则直接显示内部对象编号,例如我们执行下面的语句:
delete from "C"."A" where "C1" = 'gototop' and ROWID = AAABg1AAFAAABQaAAH;
如果没有字典文件,LogMiner分析出来的结果将是:
= AAABg1AAFAAABQaAAH;
创建日志表
要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志
的一个主要属性包括:操作类,执行方法,打印时间,日志级别,日志内容.
CREATETIME DATE,
因为存储的类为类的全部路径,所以CLASS字段长度需要比较大.
述,关于XML文件的配置,相信大家看完下面的介绍也一样能轻松完成.
方法1:使用LogMiner工具
优点:可以完全挖掘日志内容,找出所有执行过的SQL语句
缺点:
① 如果没有启用归档日志,则只能对联机日志进行挖掘
优点:简单,只要使用普通的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
ORDER BY a.sample_time DESC;
可以使用logminer来分析下日志...
SQL select a.sample_time,b.event_name,a.wait_time,a.time_waited,a.program,a.module
以上就是土嘎嘎小编为大家整理的oracle如何记录日志相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!