Oracle日志文件管理与查看

Oracle日志文件管理与查看


from:http://hi.baidu.com/shuker/item/25ee611ee960c7426826bb1f

  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

时间: 2024-08-09 07:24:22

Oracle日志文件管理与查看的相关文章

【ORACLE】oracle 日志文件管理

修改Oracle重做日志文件大小 创建新的日志组1 删除旧的日志组0(旧的日志组状态需要是INACTIVE) 创建新的日志组2,组名为旧的日志组0的组名 删除日志组1 ---------------------------------------------- 具体操作步骤: ---------------------------------------------- 1. 创建3个新的日志组 ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracl

Oracle怎样方便地查看报警日志错误

由于报警日志文件很大,而每天都应该查看报警日志(查看有无“ORA-”,Error”,“Failed”等出错信息),故想找到一种比较便捷的方法,查看当天报警日志都有哪些错误. 在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题. 一:备份并清除告警日志内容 将每天的告警日志备份好,然后进行清除. 1:备份报警日志 在$ORACLE_HOME/SID/bdump/   目录下, 按日期备份alert_ORACLE_你的实例名.LOG这个文件,如:alert_ORACLE_o

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 sy

如何查看Oracle日志

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

[读书笔记]ORACLE数据库文件管理

数据库文件包括数据文件.日志文件.控制文件和密码文件.参数文件等,对于这些文件的管理可以看作是增删改查的过程. 1.数据文件管理 增: 新增表空间时增加数据文件 create tablespace test_2016 datafile '/u01/app/oracle/oradata/orcl/test_01.dbf' size 10M autoextend on next 10M maxsize 100M; 表空间增加数据文件 alter tablespace test_2016 add da

oracle归档文件管理

归档文件管理 oracle归档文件,常常出现爆满或者挂载不上,这里简单介绍一例爆满的案例. 备份归档文件:Backup archivelog all: 备份归档日志 1.sql>alter system archive logcurrent;   归档一下当前日志 2.Sql>show parameter archive;          查看归档目录 3.Rman>backup archivelog all;           备份归档 Rman>backup archive

ORACLE EBS中快速查看某个Request的Output File或log等信息(转)

ORACLE EBS中快速查看某个Request的Output File或log等信息   项目上,经常有请求报红报黄等问题反映到技术顾问这边,但是由于某些权限的限制,有时候哪怕System Administrator职责也只能看到某个Request信息,但是不能查看它的Output File.用下面这个方法可以很方便地查看请求的输出和日志等信息,甚至不用进系统就可以查看了,只需要一个请求编号就可以: Sql代码   /* Function: GET_URL * * Purpose: Const

联机重做日志文件管理

--========================================= -- Oracle 联机重做日志文件(ONLINE LOG FILE) --========================================= 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files        

【第四章】MySQL日志文件管理

1.日志文件管理概述: 配置文件:/etc/my.cnf 作用:MySQL日志文件是用来记录MySQL数据库客户端连接情况.SQL语句的执行情况以及错误信息告示. 分类:MySQL日志文件分为4种:错误日志.通用查询日志.慢查询日志和二进制日志: 错误日志:记录MySQL服务器的启动.运行.或停止时出现的问题(默认情况,只启用错误日志功能.) 二进制日志:以二进制文件的形式记录了数据库中的操作,但不是记录查询语句. 通用查询日志:记录用户的登录和查询的信息. 慢查询日志:记录所有的执行时间超过指