`
klts
  • 浏览: 41308 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论
  • klts: 我一直用的jdk1.6.0_13,感觉还可以
    JDK
  • wuyulunbi: 现在jdk什么版本的稳定
    JDK

Oracle日志文件管理与查看

 
阅读更多

      查询oracle版本号:
      select * from v$instance;
      1.查询系统使用的是哪一组日志文件:
  select * from v$log;
  2.查询正在使用的组所对应的日志文件:
  select * from v$logfile;
  3.强制日志切换:
  alter system switch logfile;
  4.查询历史日志:
  select * from v$log_history;
  5.查询日志的归档模式:
  select dbid,name,created,log_mode from v$database;
  6.查询归档日志的信息:
  select recid,stamp,thread#,sequence#,name from v$archived_log;
  7.增加与删除日志文件组
  alter database add logfile group 1 ('/home1/oracle/oradata/ora8i/log1a.log'),'/home2/oracle/oradata/ora8i/log1b.log') size 100M;
  alter database drop logfile group 1;
  8.增加与删除日志成员
  alter database add logfile member '/home1/oracle/oradata/ora8i/log1a.log' to group 1,'/home1/oracle/oradata/ora8i/log2a.log' to group 2;
  alter database drop logfile member '/home1/oracle/oradata/ora8i/log1a.log' ;
  9.日志文件移动
  alter database rename file '/home1/oracle/oradata/ora8i/log1a.log' to '/home2/oracle/oradata/ora8i/log1a.log';
  执行该命令之前必须保证该日志文件物理上已经移动到新目录
  10.清除日志文件
  alter database clear logfile '/home1/oracle/oradata/ora8i/log1a.log';
  该命令用于不能用删除组及组成员命令删除日志时使用
======================================================

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;

Oracle端口:1521


参考地址:http://hi.baidu.com/shuker/item/25ee611ee960c7426826bb1f

 

分享到:
评论

相关推荐

    oracle 日志文件管理

    Oracle 日志文件管理 Oracle 日志文件管理是 Oracle 数据库管理的一部分,负责管理数据库的日志文件。日志文件是记录数据库所有修改操作的文件,用于数据库恢复和审核。 Oracle 日志文件管理有两种模式:归档日志...

    深入分析oracle日志文件

    Oracle 日志文件是 Oracle 数据库管理员 (DBA) 实现数据库恢复和追踪用户操作的重要工具。通过分析 Oracle 日志文件,可以追踪用户的恶意操作、恢复误删除的数据、执行事后审计等。Oracle 公司提供的 LogMiner 是一...

    oracle数据库日志查看方法

    本文将详细介绍如何查看Oracle数据库中的各种日志文件,并提供具体的步骤和示例,帮助读者更好地理解和操作。 #### 二、Oracle数据库日志类型 Oracle数据库中有多种类型的日志文件,包括但不限于: 1. **后台进程...

    oracle查看alert日志文件位置

    在Oracle数据库管理中,了解如何查看Alert日志文件的位置至关重要。Alert日志文件包含有关数据库实例运行时的重要信息,例如错误消息、警告和其他重要事件,对于诊断问题和维护数据库健康状态非常有用。本文将详细...

    oracle日志文件大全

    ### Oracle日志文件大全知识点详解 #### 一、Oracle中的几类日志文件 ...以上是对Oracle日志文件的详细介绍,涵盖了不同类型的日志文件的作用、管理和操作方法等内容,希望能够为读者提供有价值的信息。

    Oracle的日志管理攻略

    在Oracle数据库管理中,日志文件扮演着极其重要的角色。它们不仅记录了数据库的各种活动,还帮助数据库管理员(DBA)及时发现并解决潜在的问题。其中,一个关键的日志文件是`$ORACLE_BASE/admin/orasid/bdump/alert_or...

    oracle日志文件管理

    对于oracel中的日志文件的的管理有了较为详细的描述,对于想学习oracle或是对oracle中的日志文件不是很了解的会有较大的帮助

    关于oracle日志文件.docx

    Oracle数据库的日志系统是其核心组件之一,用于确保...总之,Oracle日志文件是数据库管理和保护的重要组成部分。理解它们的功能、管理和恢复策略是每个DBA必备的技能,有助于确保数据安全、提高系统的可用性和可靠性。

    Oracle日志文件

    Oracle日志文件是数据库管理员(DBA)非常重要的一部分,包括重做日志文件和归档日志文件。重做日志文件是Oracle服务器运行时需要管理的联机日志文件,用于数据库的恢复。 一、 Oracle重做日志文件简介 Oracle 引入...

    oracle日志文件相关命令

    Oracle 日志文件相关命令 Oracle 日志文件是 Oracle 数据库中记录所有数据库操作的文件,...Oracle 日志文件相关命令可以帮助数据库管理员管理和维护 Oracle 数据库的日志文件,从而确保数据库的稳定运行和错误分析。

    ORACLE数据库的日志文件分析.pdf

    日志文件分析是ORACLE数据库管理员的基本技能之一,通过对日志文件的分析,可以快速定位数据库出现的问题,提高数据库的可用性和安全性。 ORACLE数据库日志文件的管理过程主要包括日志文件的创建、写入、归档和恢复...

    oracle重做日志文件管理.pptx

    重做日志文件组的管理包括创建重做日志文件组、管理重做日志文件组成员、查看重做日志文件组状态等。管理员可以使用SQL语句创建重做日志文件组,例如: ALTER DATABASE [数据库名] ADD LOGFILE [GROUP 正整数] ...

    更改日志文件的路径(oracle 9i)

    在Oracle数据库管理中,日志文件是记录所有事务处理更改的重要文件之一。为了更好地管理和优化存储空间,有时需要将这些文件从一个位置迁移到另一个位置。本文将详细介绍如何在Oracle 9i环境下更改日志文件(redo ...

    Oracle日志管理logminer使用

    ### Oracle日志管理logminer使用 #### 一、Oracle日志管理概述 Oracle数据库通过日志记录了所有对数据的更改操作,这对于确保数据的一致性和完整性至关重要。Oracle中的日志主要包括重做日志(Redo Logs)和归档...

    深入分析Oracle数据库日志文件.rar

    理解Oracle日志文件的管理策略也是提高数据库性能的关键。适当的日志文件大小和数量应根据数据库的事务量和I/O性能来设置。过大或过小的redo log文件都可能导致性能问题。此外,日志文件的位置和命名策略也需谨慎...

    oracle11g监听日志文件过大导致监听无法启动2

    1. **查看日志文件**:首先,使用文本编辑器或`tail`命令查看监听日志文件($ORACLE_HOME/network/admin/listener.log),找出可能导致文件过大的原因,例如异常的错误消息或异常频繁的事件。 2. **配置日志级别**...

    Oracle工作总结——日志文件切换频率的调整

    Oracle数据库的日志文件切换频率是数据库管理中的一个重要参数,它直接影响到系统的性能和稳定性。当日志文件频繁切换,可能表明数据库活动剧烈,这可能导致I/O瓶颈,影响系统响应时间。相反,如果切换频率过低,...

    Oracle19c数据库日志管理与归档操作

    适用人群:Oracle数据库管理员和运维工程师,特别是希望深入理解Oracle日志管理机制的技术人员。 使用场景及目标:① 保障数据库数据的一致性和完整性;② 提高数据库的稳定性和恢复能力;③ 合理配置日志文件,优化...

Global site tag (gtag.js) - Google Analytics