一、配置RedoLog File
上图中的配置存在以下错误:
2.将一组中的多个成员都放在了一个磁盘上,这样不但导致频繁写入的负荷都集中在一个磁盘上,同时也没有实现磁盘的冗余,起不到备份的作用。
有关联机重做日志文件的配置,有如下建议:
1.配多组Redo LogFile,每组至少两个成员,不同的成员放在不同的磁盘上(即使一组中的成员发生了损坏,只要有一个成员还是正常的,数据库就仍然能正常工作)。具体的的数量根据具体情况来定,如果数据并发量大,则RedoLog File的数据增长非常快,就需要多配几组,这样可以保证已经写入的RedoLog File的数据能及时归档保存。
2.联机重做日志文件不要和归档文件(Archive)文件放在一个磁盘上,以避免LGWR和ARCn同时对一个磁盘进行操作。
3.数据文件(DataFile)也不要和Redo Log File放在一块磁盘上,道理相同。
如果磁盘的数目比较多,建议将不同的组成员放在不同的磁盘上,即将组和组的成员均匀的分配到磁盘上,同理对于Control File也是适用的。
二、适用OMF来管理Redo Log File
三、如何获取联机重做日志的组和组成员信息
sql> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_ ---------------------------------------------------- ----------------- 3 ONLINE /oracle/oradata/orcl/redo03.log NO 2 ONLINE /oracle/oradata/orcl/redo02.log NO 1 ONLINE /oracle/oradata/orcl/redo01.log NO
sql> select group#, thread#, members, archived, status from v$log;
GROUP# THREAD# MEMBERS ARC STATUS ---------- ---------- ---------- --- ---------------- 1 1 1 NO INACTIVE 2 1 1 NO INACTIVE 3 1 1 NO INACTIVE 4 1 2 NO CURRENT
sql> select * from v$log_history;
RECID STAMP THREAD# SEQUENCE# FirsT_CHANGE#FirsT_TIM NEXT_CHANGE# ---------- ---------- ---------- ---------- ---------------------- RESETLOGS_CHANGE# RESETLOGS ----------------- --------- 1 854822167 1 1 754488 05-AUG-14 788787 75448805-AUG-14 2 854822200 1 2 788787 05-AUG-14 792507 75448805-AUG-14 3 854823639 1 3 792507 05-AUG-14 802814 75448805-AUG-14
更多关于联机重做日志文件的动态性能表的介绍,可以查阅联机文档Reference获取。
四、联机重做日志文件中的线程Thread概念
Thread主要用于RAC环境,即多实例系统,每个实例都可以有自己的线程。
五、归档的联机重做日志文件
Archive模式能够确保数据恢复,并且支持热备份。数据库默认是非Archive模式,但在生产环境中强烈建议使用Archive模式。可以通过动态性能表v$instance 和v$database来查询当前数据库是否为archive模式:
sql> desc v$instance
Name Null? Type ------------------------------------------------- ------------------- INSTANCE_NUMBER NUMBER ParaLLEL VARCHAR2(3) THREAD# NUMBER ARCHIVER VARCHAR2(7) … BLOCKED VARCHAR2(3)
sql> select archiver from v$instance;
ARCHIVE ------- STOPPED
sql> desc V$database;
Name Null? Type ------------------------------------------------- ------------------- DBID NUMBER NAME VARCHAR2(9) PRIOR_RESETLOGS_TIME DATE LOG_MODE VARCHAR2(12) … SUPPLEMENTAL_LOG_DATA_PL VARCHAR2(3) MIN_required_CAPTURE_CHANGE# NUMBER
sql> select log_mode from v$database;
LOG_MODE ------------ NOARCHIVELOG
ARCn这个进程会读取联机重做日志文件,并将其写入到归档文件中。归档完成后,controlfile中会增加一条相应的记录。
非Archive模式下,联机重做日志文件只有当检查点发生后才能重新使用;而在Archive模式下,除了检查点,还需要确保文件已经被ARCn归档了之后,Redo Log File才可以重新使用。
归档的联机重做日志文件也可以实现多路复用。