Maintaning Online Redo Log File

       大家都知道oracle数据库中的两大文件(redo log file和datafile)是不可以丢失的,一旦丢失就会造成数据库灾难,所以对于redo log file的日常维护是非常必要的。online redo files 有以下的几个特性:

1、记录数据库数据的改变,对数据库的增、删、改都会记录到redo log file中。

2、可以为数据库的备份提供机制,对于备份是十分重要的。

  • strutctures

一个数据库必须要有多个redo log file组,每个组中必须包含多个rdo文件并且分布在不同的磁盘中。只有这样时才可以防止数据库在其中一个磁盘损坏的情况下不至于垮掉。可以参考下图a来布置你的redo log file

                              Group1        group2         group3          group4        

DISK1
 
DISK2
 
DISK3
M1.rdo
N1.rdo
O1.rdo
P1.rdo
M2.rdo
N2.rdo
O2.rdo
P2.rdo
M3.rdo
N3.rdo
O3.rdo
P3.rdo

                                                                                     图a

  1. 增加redo log file group

$>su -oracle

$>sqlplus /nolog

$>conn /as sysdba

SQL>alter database add logfile group3

('$home/oradata/u01/log3a.rdo','$home/oradata/u02/log3b.rdo') size 50m;

      2.    增加redo log file members

$>su -oracle

$>sqlplus /nolog

$>conn /as sysdba

SQL>alter database add logfile member

('$home/oradata/u01/log3a.rdo') to group3;

  • 查看redo log file 组和成员的信息

view
description
V$log
从control file中得到的redo log file的信息
V$logfile
定义rdo的组、成员和成员的状态
V$log_history
包含日志历史记录信息
 eg:比如要查看一个数据库是否是处于archived状态

$>su -oracle

$>sqlplus /nolog

$>conn /as sysdba

SQL>desc v$instance

SQL>select archiver from v$instance;

SQL>desc v$database;

SQL>select  log_mode from v$database;

更多的信息可以参考oracle官方的联机文档

http://www.oracle.com/technology/documentation/database10gr2.html