Fast Recovery Area(闪回恢复区)-FRA
闪回恢复区可以包含控制文件、联机重做日志、归档日志、闪回日志和 RMAN 备份。Oracle 数据库通过Oracle Managed Files (OMF)的方式管理这些文件。
配置建议
- 建议将闪回恢复区配置不同于数据文件,联机日志磁盘上
- 建议将 DB_RECOVERY_FILE_DEST 设置为与 DB_CREATE_FILE_DEST 或任何DB_CREATE_ONLINE_LOG_DEST_n 初始化参数不同的值
- 多个数据库公用同一个闪回恢复区时
- 不允许任意两个数据库具有相同的 DB_UNIQUE_NAME 值
- 对于没有指定 DB_UNIQUE_NAME 的数据库,不允许任意两个数据库具有相同的 DB_NAME 值
开启闪回恢复区
- DB_RECOVERY_FILE_DEST_SIZE:设置闪回恢复区的大小
- DB_RECOVERY_FILE_DEST:设置闪回恢复文件的物理位置
评估闪回恢复区大小
Disk Quota =
Size of a copy of database +
Size of an incremental backup +
Size of (n+1) days of archived redo logs +
Size of (y+1) days of foreign archived redo logs (for logical standby) +
Size of control file +
Size of an online redo log member * number of log groups +
Size of flashback logs (based on DB_FLASHBACK_RETENTION_TARGET value)
闪回日志生成量与重做日志生成量大致相同
确定闪回恢复区的最佳大小
- 当使用闪回日志或还原点时,查询
v$archived_log
视图计算DB_FLASHBACK_RETENTION_TARGET指定的时间范围内生产的redo日志大小
设置闪回恢复区空间大小
ALTER SYSTEM SET
DB_RECOVERY_FILE_DEST_SIZE = 10G
SCOPE=BOTH SID=‘*‘;
设置闪回恢复区位置
ALTER SYSTEM SET
DB_RECOVERY_FILE_DEST = ‘+disk1‘
SCOPE=BOTH SID=‘*‘;
估计满足当前闪回保留区所需的磁盘空间
SELECT ESTIMATED_FLASHBACK_SIZE
FROM V$FLASHBACK_DATABASE_LOG;
关闭闪回恢复区
禁用闪回功能
-- 禁用闪回特性
ALTER DATABASE FLASHBACK OFF;
归档日志使用闪回恢复区时,修改LOG_ARCHIVE_DEST_n的归档路径
-- LOG_ARCHIVE_DEST_1=‘LOCATION=USE_DB_RECOVERY_FILE_DEST‘
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=‘LOCATION=/ORACLE/DBS/‘;
禁用初始化参数
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=‘‘;
查看闪回恢复区使用情况
col file_type for a24
SELECT FILE_TYPE,PERCENT_SPACE_USED FROM V$FLASH_RECOVERY_AREA_USAGE;