e也允许在快闪恢复区中保存联机重做日志的冗余副本以及当前控制文件的冗余副本,还有oracle中闪回特性中的闪回日志也保存在快闪恢复区中。
使用RMAN实现数据库的备份与恢复时,配置的快闪恢复区就是RMAN存储所有与备份相关的文件存储区,而此时的文件名不需要用户干预,oracle使用OMF创建备份文件的文件名,文件名称格式可以指定。
使用快闪恢复区的优点是,实现了备份文件的自动管理,是的备份与恢复数据库指令简介恢复简单,并且可以集中管理磁盘空间。要求恢复区的空间足够大,以容纳备份的数据。
在快闪恢复区需要设置两个动态参数:
SQL> show parameter db_recovery_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/flash_recovery
_area
db_recovery_file_dest_size big integer 3852M
前者是设置快闪恢复区在os磁盘空间的位置,后者是快闪恢复区的最大容量。
可以通过pfile或者用用命令alter system 来设置它们。我们备份的整个数据库,以及控制文件都保存在该快闪恢复区中,该区域中的文件由oracle自动维护,一旦需要恢复数据库时,只需要简单的指令
就可以恢复数据库,RMAN会自动寻找存储在快闪恢复区中的备份文件完成恢复。(快闪恢复区的参数可以动态修改,如可以在数据库运行期间更改快闪恢复区的大小,以及改变快闪恢复区在磁盘上的存储目录)
SQL> alter system set db_recovery_file_dest_size=4000M;
系统已更改。
如果不需要快闪恢复区可以将参数db_recovery_file_dest 设置成空格,使得快闪恢复区不存在存储目录。
我们可以通过数据字典v$recover_file_dest来查看快闪恢复区大的空间使用情况及文件数量:
SQL> select name,space_limit,space_used from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------
/u01/app/oracle/flash_recovery_area 4194304000 758131712
快闪恢复区空间不足的问题解决方法:
1.增加恢复磁盘空间,需要考虑到当前磁盘的大小限制:
SQL> alter system set db_recovery_file_dest_size=5g;
系统已更改。
2.删除没有的备份文件或者将备份文件复制到磁带设备:
使用crosscheck 和delete obsolete指令删除不需要的文件。或者使用delete expired 指令删除那些不需要的备份文件。或者使用RMAN的backup recoveryarea指令将恢复区中的文件复制到磁带上。
3.删除当前的恢复区,重新设置新的快闪恢复区:
SQL> ALTER SYSTEM SET db_recovery_file_dest ='/home/oracle';
系统已更改。
当向快闪恢复区添加新文件时,oracle会自动更新新文件列表,发现符合删除的备份文件,这些文件包括不符合保留策略的文件,复制到磁带的过渡文件,而重做日志文件可控制文件任何时候都不会被删除。
使用v$flash_recovery_area_usage来查看闪回恢复区空间使用情况:
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 18.08 0 30
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
已选择7行。
从上看出闪回恢复区中保存的文件类型有控制文件,归档日志文件,在线日志文件,备份片,影像备份文件,以及闪回日志(和闪回相关的记录)