重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1359|回复: 0
打印 上一主题 下一主题

[Oracle] oracle Fast Recovery Area(快速恢复区)详解

[复制链接]
跳转到指定楼层
楼主
发表于 2023-7-16 15:56:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、快速恢复区概念
快速恢复区是一个默认放置所有备份恢复操作有关文件的地方,包括:控制文件在线镜像、在线重做日志、归档日志、外来归档日志、控制文件镜像复制、数据文件镜像复制、RMAN备份片和闪回日志。放置在此位置的文件由Oracle数据库维护,生成的文件名以Oracle托管文件(OMF)格式维护。
如果启用快速恢复区,它就成了RMAN备份默认的去处,无论是RMAN备份片、镜像复制、还是控制文件自动备份,只要没有在RMAN配置或在backup命令中指明路径就全部进入快速恢复区。

二、快速恢复区相关参数
使用快速恢复区需要设置两个初始化参数,DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE。

db_recovery_file_dest:用于设置快速恢复区的路径(可以指向磁盘,也可以指向ASM磁盘组)。

db_recovery_file_dest_size:用于设置快速恢复区的大小。

注:设置快速恢复区要先设置大小,后设置路径。

在RAC环境下配置快速恢复区时,要保证每个节点的配置值都相同。

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /oracle/app/fast_recovery_area
db_recovery_file_dest_size           big integer 4560M



上述查询结果表明:
快速恢复区的位置:/oracle/app/fast_recovery_area
快速恢复区的大小:4560M

这两个参数可以再数据库运行过程中在线修改,修改后立即就能生效,举例如下:

SQL> alter system set db_recovery_file_dest_size=8G scope=both;

System altered.

SQL> alter system set db_recovery_file_dest='/oradata/fast_recovery_area' scope=both;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup

SQL> show parameter db_recovery;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /oradata/fast_recovery_area
db_recovery_file_dest_size           big integer 8G



三、Reset 快速恢复区
方法一:修改pfile参数文件
SQL> shutdown immediate

SQL> create pfile from spfile;

SQL> !vi $ORACLE_HOME/dbs/initdrz.ora

删除如下内容

*.db_recovery_file_dest_size=8589934592
*.db_recovery_file_dest='/oradata/fast_recovery_area'

SQL> create spfile from pfile;

SQL> startup

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 0



方法二:reset命令
SQL> alter system reset db_recovery_file_dest_size scope=spfile;

SQL> alter system reset db_recovery_file_dest scope=spfile;

SQL> shutdown immediate

SQL> startup

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 0



四、快速恢复区的监控
DB_RECOVERY_FILE_DEST_SIZE参数值确定了快速恢复区能使用的存储空间上限。
如果定义了备份保留策略,oracle会根据策略判断哪些文件过期(obsolete)进而删除,但只有在定义了备份保留策略时,oracle才会自动判断和删除。当快速恢复区空间使用率达到90%时,会触发自动删除。删除过程会在alert文件中记录日志,但是如果没有空间可以释放,并且使用空间超过85%,就会记录一个warning日志;如果超过了97%,会记录一条critical warning日志,这些日志内容可以从dba_outstanding_alerts视图中看到。

日常工作中需要监控快速恢复区的使用情况,在需要时及时进行调整。
可以通过视图V$RECOVERY_FILE_DEST和V$RECOVERY_AREA_USAGE来监控快速恢复区的使用情况。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-9-28 04:20 , Processed in 0.079317 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表