归档日志文件:是处于非活动(INACTIVE)的状态的重做日志文件的备份。它对ORACLE数据库的备份和恢复起至关重要的作用。是联机重做日志文件的一个副本,与被复制的成员完成一样,即重做记录相同,日志序列号相同。

 

一、数据库的归档与非归档模式:

1.  当数据库处于NOACRCHIVELOG模式时,不对重做日志文件进行归档,直接覆盖旧的重做日志文件,此时数据库只能从例程失败中进行恢复。

特点:

a.       发生日志切换时(alter system switch logfile),LGWR后台进程可以无条件覆盖原来的已经变为非活动的(INACTIVE)重做日志文件的内容。

b.       进行数据库备份时,必须先使用SHUTDOWN 或者SHUTDOWN IMMEDIATE命令先关闭数据库,然后才能通过操作系统备份所有的物理文件。即冷备份。不能进行联机的热备份。

c.       NOACRCHIVELOG模式时,只能保护数据库免于例程失败,但不能保护数据库免于介质失败。

d.       NOACRCHIVELOG模式不需要考虑存储空间的问题。

 

2.  当数据库处于ACRCHIVELOG模式时候,系统通过后台进程ARCn来帮助DBA自动完成对重做日志文件进行归档,归档之后才覆盖旧的重做日志文件,并将其复制到一个指定的位置,成为归档日志文件,此时数据库还能进一步从介质失败中恢复。即可将数据的损失减少到最小,可用性提高到最高。

特点:

a.       ACRCHIVELOG模式时。可以对数据库进行联机的热备份。

b.       当出现数据文件损坏时,除了SYSTEM表空间的数据文件,其他表空间都可以在数据库处于OPEN时恢复。

c.       执行数据库备份时,不仅可以进行完成恢复,也可以指定恢复到某个特定的时间点。

一、数据库归档参数

 

通过ARCHIVE LOG LIST 查看数据库的归档模式;


1.  LOG_ARCHIVE_DUPLIEX_DESTLOG_ARCHIVE_DEST_n

LOG_ARCHIVE_DEST用于指定第一个归档目标位置(主归档目标),n表示复本数量。如果只设置一个复本,当这个复本错误时候,则可以通过其他复本备用。(1<=n<=10

LOG_ARCHIVE_DUPLIEX_DEST用于指定第二个归档目标位置(次归档目标),

这两个参数的相排斥的,不能同时存在。

2.  启动和禁用自动归档的参数

LOG_ARCHIVE_START(静态参数):当数据库从初始参数文件中读取到这个参数的设置,系统自动启动ARCn进程。

SHOW PARAMETER LOG_ARCHIVE_START


ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE


在数据库例程启动后启动或禁用自动归档功能。

ALTER SYSTEM ARCHIVE LOG START


 

ALTER SYSTEM ARCHIVE LOG STOP


1.  执行手动归档:

(1)       对所有没有归档的重做日志进行归档:

通过ALTER SYSTEM ARCHIVE LOG ALL

(2)       当前的重做日志文件进行归档:

ALTER SYSTEM ARCHIVE CURRENT

(3)       指定日志序列号的重做日志文件进行归档

ALTER SYSTEM ARCHIVE LOG SEQUCNE 56

(4)       指定日志组编号的重做日志文件进行归档

ALTER SYSTEM ARCHIVE LOG GROUP 2

(5)       指定联机的重做日志文件进行归档

ALTER SYSTEM ARCHIVE LOG

LOGFILE 'D:\oracle\oradata\work\REDO01.LOG '

(6)       将下一个没有归档的重做日志文件组进行归档:

ALTER SYSTEM ARCHIVE LOG NEXT

2.  自动归档:自动归档后在存档终点文件夹下有以下自动归档的文件

 


归档的日志文件可以通过LOGMNR进行分析。

1.  ARCn后台进程的最大参数

LOG_ARCHIVE_MAX_PROCESSES(动态参数)最大10个后台进程:

可以通过SELECT * FROM V$ARCHIVE_PROCESSES视图查看


查询归档信息:

与归档信息相关的视图:

视图

作用

V$DATABASE

LOG_MODE字段归档模式

V$INSTANCE

ARCHIVER字段是否正在归档

V$ARCHIVED_LOG

从控制文件中获取的所有历史归档日志文件信息

V$ARCHIVE_DEST

归档目标位置的信息

V$ARCHIVE_PROCESSES

归档进程的信息

V$BACKUP_REDOLOG

所有已备份的归档日志文件的信息

V$LOG

所有重做日志文件的信息,其中包含那些需要归档的重做日志文件

V$LOG_HISTORY

重做日志文件的历史信息

a.查看数据库归档模式

b.查看数据库是否正在归档


c.
查看那些重做日志需要归档

SELECT GROUP#,MEMBERS,SEQUENCE#,ARCHIVED,STATUS,FIRST_CHANGE#,

TO_CHAR(FIRST_TIME, 'YYYY-MM-DD HH24:MI:SS')  FIRST_CHANGE_TIME

FROM V$LOG


d.查看归档目标位置的信息

SELECT DESTINATION,BINDING,TARGET,STATUS FROM V$ARCHIVE_DEST


e.查询已归档的日志文件信息(即是系统中存在的物理文件)

SELECT NAME,SEQUENCE#,ARCHIVED,STATUS,FIRST_CHANGE#,

TO_CHAR(FIRST_TIME, 'YYYY-MM-DD HH24:MI:SS')  FIRST_CHANGE_TIME

FROM V$ARCHIVED_LOG


posted on 2009-08-23 14:32  woody.wu  阅读(9757)  评论(0编辑  收藏  举报