Oracle日志查看
一.Oracle日志的路径:
登录:sqlplus "/as sysdba"
查看路径:SQL> select * from v$logfile;
SQL> select * from v$logfile;(#日志文件路径)
二.Oracle日志文件包含哪些内容:(日志的数量可能略有不同)
control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf
control02.ctl redo03.log system01.dbf users01.dbf
control03.ctl redo01.log SHTTEST.dbf temp01.dbf
三.Oracle日志的查看方法:
SQL>select * from v$sql (#查看最近所作的操作)
SQL>select * fromv $sqlarea(#查看最近所作的操作)
Oracle 数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信 息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据 库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。
四.LogMiner的使用:
1、创建数据字典文件(data-dictionary)
1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效:
SQL> shutdown;
SQL>startup;
2).然后创建数据字典文件
SQL> connect /as sysdba
SQL> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => '/data1/oracle/logs');
PL/SQL procedure successfully completed
2、创建要分析的日志文件列表
1).创建分析列表,即所要分析的日志
SQL>execute dbms logmnr.add logfile(LogFileName => '/data1/oracle/oradata/akazamdb/redo01.log',Options => dbms_logmnr.new);
PL/SQL procedure successfully completeds
2).添加分析日志文件,一次添加1个为宜
SQL>execute dbms_ logmnr.add_ logfile(LogFileName => '/data1/oracle/oradata/akazamdb/redo01.log',Options => dbms_logmnr.ADDFILE);
PL/SQL procedure successfully completed
3、使用LogMiner进行日志分析(具体要查询什么内容可以自己修改)
(1)无限制条件
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>'/data1/oracle/logs/v816dict.ora ');
(2)有限制条件
通过对过程DBMS_ LOGMNR.START_LOGMNR中几个不同参数的设置,可以缩小要分析日志文件的范围。通过设置起始时间和终止时间参数我们可以限制只分析某一时间范围的日志。如下面的例子,我们仅仅分析2007年9月18日的日志:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' /data1/oracle/logs/ v816dict.ora ',
StartTime => to_date('2007-9-18 00:00:00','YYYY-MM-DD HH24:MI:SS')
EndTime => to_date(''2007-9-18 23:59:59','YYYY-MM-DD HH24:MI:SS '));
也可以通过设置起始SCN和截至SCN来限制要分析日志的范围:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' /data1/oracle/logs/ v816dict.ora ',
StartScn => 20,
EndScn => 50);
4、观察分析结果(v$logmnr_contents)
到现在为止,我们已经分析得到了重作日志文件中的内容。动态性能视图v$logmnr_contents包含LogMiner分析得到的所有的信息。
SELECT sql_redo FROM v$logmnr_contents;
如果我们仅仅想知道某个用户对于某张表的操作,可以通过下面的SQL查询得到,该查询可以得到用户DB_ZGXT对表SB_DJJL所作的一切工作。
SQL> SELECT sql_redo FROM v$logmnr_contents WHERE username='DB_ZGXT' AND tablename='SB_DJJL';
需 要强调一点的是,视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话的 生命期中存在。这是因为所有的LogMiner存储都在PGA内存中,所有其他的进程是看不到它的,同时随着进程的结束,分析结果也随之消失。
最后,使用过程DBMS_LOGMNR.END_LOGMNR终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在。
5、查看LogMiner工具分析结果
SQL> select * from dict t where t.table_name like '%LOGMNR%';-看所有与logmnr相关的视图
TABLE_NAME COMMENTS
------------------------------ --------------------------------------------------------------------------------
GV$LOGMNR_CALLBACK Synonym for GV_$LOGMNR_CALLBACK
GV$LOGMNR_CONTENTS Synonym for GV_$LOGMNR_CONTENTS
GV$LOGMNR_DICTIONARY Synonym for GV_$LOGMNR_DICTIONARY
GV$LOGMNR_LOGFILE Synonym for GV_$LOGMNR_LOGFILE
GV$LOGMNR_LOGS Synonym for GV_$LOGMNR_LOGS
GV$LOGMNR_PARAMETERS Synonym for GV_$LOGMNR_PARAMETERS
GV$LOGMNR_PROCESS Synonym for GV_$LOGMNR_PROCESS
GV$LOGMNR_REGION Synonym for GV_$LOGMNR_REGION
GV$LOGMNR_SESSION Synonym for GV_$LOGMNR_SESSION
GV$LOGMNR_STATS Synonym for GV_$LOGMNR_STATS
GV$LOGMNR_TRANSACTION Synonym for GV_$LOGMNR_TRANSACTION
V$LOGMNR_CALLBACK Synonym for V_$LOGMNR_CALLBACK
V$LOGMNR_CONTENTS Synonym for V_$LOGMNR_CONTENTS
V$LOGMNR_DICTIONARY Synonym for V_$LOGMNR_DICTIONARY
V$LOGMNR_LOGFILE Synonym for V_$LOGMNR_LOGFILE
V$LOGMNR_LOGS Synonym for V_$LOGMNR_LOGS
V$LOGMNR_PARAMETERS Synonym for V_$LOGMNR_PARAMETERS
V$LOGMNR_PROCESS Synonym for V_$LOGMNR_PROCESS
V$LOGMNR_REGION Synonym for V_$LOGMNR_REGION
V$LOGMNR_SESSION Synonym for V_$LOGMNR_SESSION
TABLE_NAME COMMENTS
------------------------------ --------------------------------------------------------------------------------
V$LOGMNR_STATS Synonym for V_$LOGMNR_STATS
V$LOGMNR_TRANSACTION Synonym for V_$LOGMNR_TRANSACTION
GV$LOGMNR_LOGS 是分析日志列表视图
分析结果在GV$LOGMNR_CONTENTS 视图中,可按以下语句查询:
select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,
session#,serial#,username,session_info,sql_redo,sql_undo from logmnr3 t where t.sql_redo like 'create%';
如果不能正常查询GV$LOGMNR_CONTENTS视图,并报以下错误,ORA-01306: 在从 v$logmnr_contents 中选择之前必须调用 dbms_logmnr.start_logmnr() 。可采用如下方法:
create table logmnr3 as select * from GV$LOGMNR_CONTENTS;
- 浏览: 22454 次
- 性别:
- 来自: 泰州
文章分类
最新评论
发表评论
-
查看Oracle redo日志来分析SQL执行记录
2016-08-04 14:06 8051)设置Oracle数据字典导出路径参数(可选) s ... -
java日期操作 大全
2013-07-09 10:27 0/** * 取得指定月份的第一 ... -
代码之谜 - 为什么 jdk 中把 String 类设计成 final
2012-08-22 09:35 0最佳答案: 主要是为 ... -
hibernate与ibatis比较的11大优势
2011-07-11 19:23 691hibernate与ibatis比较的11 ... -
Sphinx建立高效的站内搜索引擎
2011-07-11 19:19 626Sphinx建立高效的站内搜索引擎 下载并安装Sphinx ... -
ant 编译打包
2011-07-11 19:17 620ant 编译打包 <?xml vers ... -
计算时间差
2010-09-30 10:12 1761计算时间差 **/ SimpleDateFormat ... -
Java读取文件内容的几种方式集合
2010-08-18 12:30 663最近一段时间由.NET转向了Java,在开发的过 ... -
Calendar 转化 String 时间转换
2010-07-22 14:23 18691.Calendar 转化 String //获取当前时间 ... -
Java DB 和 JDBC 4.0
2010-04-06 09:31 1025Java DB 和 JDBC 4.0 2006 ...
相关推荐
用java写的一个oracle日志查看器源代码,调用oracle数据库的logminer过程。包含一个不错的日历选择面板
### Oracle数据库日志查看方法详解 #### 一、概述 Oracle数据库是企业级应用中广泛使用的数据库管理系统之一,为了确保数据库系统的稳定运行和快速定位问题,掌握Oracle数据库日志查看方法至关重要。本文将详细...
深入分析 Oracle 日志文件 Oracle 日志文件是 Oracle 数据库管理员 (DBA) 实现数据库恢复和追踪用户操作的重要工具。通过分析 Oracle 日志文件,可以追踪用户的恶意操作、恢复误删除的数据、执行事后审计等。Oracle...
### Oracle 查看 Alert 日志文件位置 在Oracle数据库管理中,了解如何查看Alert日志文件的位置至关重要。Alert日志文件包含有关数据库实例运行时的重要信息,例如错误消息、警告和其他重要事件,对于诊断问题和维护...
LogViewer 包含图形用户界面(GUI),可以对 Oracle 离线、在线日志进行操作,实现 Oracle 日志查看、查询、重做、回退等功能。 三、LogViewer 的功能 LogViewer 是基于 LogMiner 的日志分析工具,提供了图形用户...
Oracle 日志文件管理 Oracle 日志文件管理是 Oracle 数据库管理的一部分,负责管理数据库的日志文件。日志文件是记录数据库所有修改操作的文件,用于数据库恢复和审核。 Oracle 日志文件管理有两种模式:归档日志...
### Oracle日志文件大全知识点详解 #### 一、Oracle中的几类日志文件 Oracle数据库管理系统使用多种类型的日志文件来记录系统运行期间的各种活动,这些日志文件不仅有助于数据库的管理和维护,还为故障诊断提供了...
通过archive log list命令可以查看数据库的现行日志和自动归档模式的设置。 在创建数据库时,可以在CREATE DATABASE语句中指定数据库的日志模式。如果没有指明,则缺省为NOARCHIVELOG模式。由于如果在创建数据库时...
Oracle数据库日志是数据库系统的重要组成部分,记录了所有对数据库的修改操作,这对于数据库的故障恢复、审计和性能分析至关重要。Oracle提供了一个专门的工具——LogMiner,用于解析和分析这些日志,帮助数据库管理...
根据给定的文件标题、描述以及部分内容,我们可以深入探讨如何在Oracle数据库中通过日志查看数据库变更情况。这一过程对于数据库管理员(DBA)来说至关重要,因为它有助于追踪数据更改历史,进行故障诊断,以及恢复...
因此,定时删除Oracle日志脚本就显得非常必要。 首先,我们需要了解Oracle日志的主要类型: 1. **Redo Log Files**:这是Oracle数据库的核心组件,记录所有事务的更改。分为当前日志(active)和已用日志(used)...
### Oracle日志Alter.log每天切割脚本解析 在Oracle数据库管理与维护中,日志文件管理是一项非常重要的工作。为了确保系统的稳定运行以及方便后期的日志审计与问题追踪,合理地管理和定期切割日志文件是必不可少的...
### Oracle归档日志知识点详解 #### 一、Oracle在线重做日志(Online Redo Log)概述 **在线重做日志(Online Redo Log)**是Oracle数据库的重要组成部分,用于记录所有对数据库所做的更改操作。这些更改包括数据...
主要的Oracle日志类型包括: 1. **Redo log files (联机日志或重做日志)**: 这些日志记录了所有对数据库的改变,无论是通过DML(数据操纵语言)如INSERT、UPDATE、DELETE,还是DDL(数据定义语言)如CREATE、ALTER...
Oracle日志文件 Oracle日志文件是数据库管理员(DBA)非常重要的一部分,包括重做日志文件和归档日志文件。重做日志文件是Oracle服务器运行时需要管理的联机日志文件,用于数据库的恢复。 一、 Oracle重做日志文件...
Oracle 日志分析工具 LogMiner 使用 Oracle 日志分析工具 LogMiner 是 Oracle 数据库中的一种功能强大且灵活的日志分析工具,它可以帮助数据库管理员、开发人员和用户快速地对数据库进行日志分析和问题诊断。下面是...
Oracle 归档日志详解(运行模式、分类) Oracle 归档日志是 Oracle 数据库中的一种日志机制,用于记录数据库的所有变化,以便在出现问题时进行恢复。归档日志可分为在线重做日志和归档重做日志两大类。 在线重做...
### 如何正确删除Oracle归档日志 #### 一、问题背景 在Oracle数据库的日常运维工作中,归档日志的管理和清理是一项重要的任务。随着业务的发展和数据的增长,归档日志会不断累积,占据大量的磁盘空间。如果不及时...
### Oracle日志分析知识点 #### 一、Oracle日志分析概述 Oracle数据库是业界广泛使用的高性能关系型数据库管理系统之一。为了确保数据的一致性和可靠性,Oracle数据库采用了多种机制来记录和跟踪事务处理过程中的...
### Oracle的日志管理攻略 #### 一、Oracle数据库的日志管理 **1.1 日志文件的作用** 在Oracle数据库管理中,日志文件扮演着极其重要的角色。它们不仅记录了数据库的各种活动,还帮助数据库管理员(DBA)及时发现并...