RMAN系列(二),RMAN设置和配置.txt
RMAN系列(一),RMAN体系结构概述
http://www.zzzyk.com/database/201310/252677.html
一. 配置数据库以ARCHIVELOG 模式运行
在ORACLE 10g 之前,在将数据库置入Archivelog 模式后,需要启动arch进程。 设置参数LOG_ARCHIVE_START 为true,也可启动arch进程。在10g以后,不需要使用该方法,当数据库处于archivelog模式时,Oracle 会自动启动arch进程。
Arch 进程由LGWR 进程调用,只要一个联机redo log 被填满。LGWR 进程就切换到另一个联机redo 组。 此时如果数据库处于archivelog 模式,LGWR进程也会通知ARCH,将该进程唤醒并开始工作。ARCH 进程相应LGWR的调用,在ORACLE 数据库参数LOG_ARCHIVE_DEST_n 定义的位置或者定义的闪回恢复区生成联机redo log的副本,知道arch 进程完成创建归档的重做日志副本后,Oracle 才能重用这个redo log 文件。
Oracle10g 提供了2种不同的位置来保存归档日志: ArchiveLog 目标目录和闪回区。
1.1 ArchiveLog 目标目录
使用LOG_ARCHVEI_DEST_n 参数可以定义10个不同的归档日志目标。这些目录可以是本地目录,网络目录。
下面对一些参数做相关说明:
(1) LOG_ARCHIVE_STAT_n 参数:该参数为每个归档日志定义两种不同的状态: ENABLE和 DEFER,如果是ENABLE,则该归档目录是有效的,如果是DEFER,就不会在指定的LOG_ARCHIVE_DEST_n 进行归档。
(2) LOG_ARCHIVE_FORMAT 参数: Oracle 创建归档日志时,按按参数指定的格式,重命名归档日志。
(3) LOG_ARCHIVE_MIN_SUCCEED_DEST: 允许DBA定义归档日志目标副本的最小数据,这些副本必须成功。这样Oracle 才可以重用关联的redo online log。
(4) LOG_ARCHIVE_START: 该参数在10g 中不再使用,用户自动启动ARCH 进程。
1.2 闪回恢复区
闪回恢复区(FRA)允许集中存储所有与恢复相关的文件。 FRA 可以本地使用附加的存储,Oracle 集群文件系统(Oracle File system: OCFS)或者 Oracle 10g 中新的自动存储管理(ASM)特性。FRA 中备份文件类型:归档的重做日志,控制文件,控制文件自动备份。闪回日志,重做日志,RMAN 数据文件副本,RMAN 备份和其他相关文件。
FRA 帮助管理全部的磁盘空间分配,并且为所有与恢复相关饿文件提供集中的存储区域。FRA 也提供更快速的备份和恢复操作。
FRA 中文件的保留与否由RMAN保存策略决定。 通过执行RMAN config retention policy 命令设置该策略。 如果文件在RMAN保存策略下没有过时,则不会被删除。如果归档日志过时,则可以删除。
FRA在由参数DB_RECOVERY_FILE_DEST 定义的特定位置中创建。 该位置可以是文件系统或者ASM卷。DB_RECOVER_FILE_DEST_SIZE 参数则用来定义FRA的最大尺寸。 这是Oracle 控制的文件空间的限制,而与文件系统自身中的全部可用空间无关。 Oracle 监控FRA中的可用空间,一旦FRA中的空间数据量减少到不安全的程度,Oracle 就会在警报日志中生成警告(90%已使用时生成一次警告,而在95%已使用时再次生成警告)。同样,当FRA中空闲空间少于10%时,Oracle 就会删除处于过时文件列表中的文件。
如果闪回恢复区是唯一归档目标,那么FRA中空间被用完时就会非常麻烦,可能造成数据库异常终止,所以如果只设置了唯一的归档目录,则应该仔细的监控空间可用性。 简单的说有以下几种方法:
(1) 增加DB_RECOVERY_FILE_DEST_SIZE.
(2) 用RMAN BACKUP recovery area。 将FRA的内容移动到其他位置。
(3) 物理删除较早的备份,然后用RMAN crosscheck 命令来让数据库认可已经删除的文件。
和闪回恢复区相关的视图:
(1) DBA_OUTSTANDING_ALERTS
在FRA中添加和删除文件时,这些事件的记录被记录到数据库警告日志中。 可以通过该视图来了解一些FRA一些显著问题的信息。注意: 空间相关问题产生的时间和警告日志在该视图中的时间存在一定程度的延时。
SQL> select reason from dba_outstanding_alerts;
REASON
-------------------------------------------------------------------------------
db_recovery_file_dest_size 字节 (共 4039114752 字节) 已使用 100.00%, 尚有 0 字节可用。
(2)v$recovery_file_dest
该视图提供了在数据库中定义FRA的概念。 提供配置的FRA大小,所使用空间数量,可回收多少空间,以及FRA中文件量。
SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------------------------------- ----------- ---------- -------
D:/app/Administrator/flash_recovery_area 4039114752 4005191680 0 85
如果SPACE_RECLAIMABLE 不为0. 即表示FRA中有可回收的文件。 如果需要该空间,可以强制日志切换,它将删除可回收的任何文件并释放空间。
SQL> alter system switch logfile;
系统已更改。
(3) v$flash_recovery_area_usage
该视图提供了关于占用FRA空间的文件类型的详细信息。该视图对文件类型组合,然后提供每个文件类型所使用的空间百分比,来自该组的总FRA可回收空间百分比,以及来自该组的FRA中文件数量。
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- --------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 99.16 0 85
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
可以在许多10g的视图中找到 IS_RECOVERY_DEST_FILE视图,例如:
V$CONTRILFILE,V$LOGIFLE,V$ARCHIVEC_LOG,V$DATAFILE_COPY,V$DATAFILE ,V$BACKUP_PIECE.
该列是一个布尔值,用来指示文件是否位于FRA中。
另一个列BYTES 可以在V$BACKUP_PIECE和RC_BACKUP_PIECE(rman 恢复目录视图)中找到,该列以字节为单位指示备份集片的大小。
其他闪回恢复区特性
在Oracle 10g,如果没有设置OMF 相关的DB_CREATE_ONLINE_LOG_DEST_n 参数,则alter database add logfile和alter database add standby logfile 命令创建FRA中的连接重做日志成员。 Alter database drop logfile 和alter database rename file命令也支持FRA中的文件。
在数据库创建期间,Oracle 可以使用FRA存储数据库控制文件和联机重做日志。 如果定义了OMF 相关参数:DB_CREATE_ONLINE_LOG_DEST_n, 则将在这些位置创建控制文件和重做日志,但不会在FRA中创建,即使定义了FRA。 如果没有定义DB_CREATE_ONLINE_LOG_DEST_n,但定义了CREATE_FILE_DEST,则由CREATE_FILE_DEST定义的位置创建控制文件和联机重做日志的副本。 最后,如果定义了DB_RECOVERY_FILE_DEST,则在该位置创建控制文件。 如果没有定义任何这些参数,则在OS 特定的默认位置创建控制文件和联机重做日志。