规划闪回区的大小
闪回区应该能放下下面的东西:
一个所有数据文件的拷贝
增量备份
在线redo日志
归档日志
控制文件
控制文件备份
为了决定闪回区大小,查看v$recovery_file_dest视图
使用闪回区的时候,一些初始化参数的限制
1不能使用log_archive_dest和log_archive_duplex_dest参数来指定日志归档目的地。要使用log_archive_dest_n参数
2log_archive_dest_10暗地里设置成USE_DB_RECOVERY_FILE_DEST ,也就是归档日志文件要发送到闪回区,如果你没有创建一个恢复区也没有设置任何的本地归档目的地。
在已经存在的数据库中增加一个闪回区
1SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='*';
2SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/disk1/flash_recovery_area' SCOPE=BOTH SID='*';
If the flash recovery area location is an Automatic Storage Management disk group named disk1
, for example, then you can do the following:
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '+disk1' SCOPE=BOTH SID='*';
使用v$recovery_file_dest和v$flash_recovery_area_usage来决定设置闪回区的大小
1SQL> SELECT * FROM V$RECOVERY_FILE_DEST; NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES -------------- ----------- ---------- ----------------- --------------- /mydisk/rcva 5368709120 109240320 256000 28 2SQL> SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------------ ------------------------- --------------- CONTROLFILE 0 0 0 ONLINELOG 2 0 22 ARCHIVELOG 4.05 2.01 31 BACKUPPIECE 3.94 3.86 8 IMAGECOPY 15.64 10.43 66 FLASHBACKLOG .08 0 1
禁用闪回区
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' SCOPE=BOTH SID="*";
为磁盘备份配置闪回区
下面的例子配置如下;
归档日志文件和rman备份存放在闪回区中
控制文件和在线日志文件拷贝存放在闪回区之外的地方
数据文件不超过3GB,归档文件不超过4GB
参数设置如下;
DB_NAME=sample # set location for current datafiles: DB_CREATE_FILE_DEST = '/u02/oradata/wrk_area' # set location for control files and online redo logs: DB_CREATE_ONLINE_LOG_DEST_1 = '/u03/oradata/wrk_area' DB_CREATE_ONLINE_LOG_DEST_2 = '/u04/oradata/wrk_area' # set flash recovery area location and size DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area' DB_RECOVERY_FILE_DEST_SIZE = 10G
因为没有任何的log_archive_dest_n参数设置,所以,oracle发送归档日志文件到闪回区
rman中设置
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1; RMAN> CONFIGURE BACKUP OPTIMIZATION ON; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;