First of all, the version of my enviroment is Oracle 11.0.2.3.

The fast recovery area used to be called flashback recovery area. When you want to enable flashback database feature, your database must have this area. So I always confused about these two concept.

Let`s review how to enable flashback recovery area quickly.

1. Make sure the log mode is archive

select log_mode from v$database;

2. Set the fast recovery area / flashback recovery area

SQL> alter system set db_recovery_file_dest='/flash_recovery_area';
SQL> alter system set db_recovery_file_dest_size=8G;

3. set the flashback retention target

This is controlled by the DB_FLASHBACK_RETENTION_TARGET instance parameter, which is in minutes, and the default is one day. The flashback log space is reused in a circular fashion, older data being overwritten by newer data. This parameter instructs Oracle to keep flashback data for a certain number of minutes before overwriting it:
SQL> alter system set db_flashback_retention_target=240;
It is only a target (four hours in the preceding example) and if the flash recovery area is undersized, Oracle may not be able to keep to it. But in principle, you should be able to flash back to any time within this target.

4. Enable flashback on

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database flashback on;
SQL> alter database open;

The purpose of this review is to tell you one of funcitons of the fast/flashback recovery area. Then why oracle changed the name of this area from flashback area to fast recovery area? It is because this area have more functions than flashback. Called flashback recovery area may mislead people that this area is used for flashback database only. Actually there are more files can be and should be placed in this area.

From now on we will call it Fast recovery area. The fast recovery area is a default location for all recovery-related files. The fast recovery area can be located in either a file system directory (Oracle will create its own subdirectories within this) or an ASM disk group. The flash recovery area can only be a disk destination. The flash recovery area is not enabled by default, unless the database is created with the Database Configuration Assistant (DBCA).

Files can be stored in the fast recovery area are either permanent or transient. Permanent files are :

  • control file mulitplexed copies
  • online redo log file mulitplexed copies

If the fast recovery area is defiened during the db creation time. And the control_files parameter , db_create_file_dest parameter not set, then control file copy will be created automatically in the flashback recovery area.  Simailarly, if the db_create_online_log_dest_n are not set and you didnt specify where to create the online redo log. The online redo will be created here.

The transient occupants of the flash recovery area are:

  • archived redo log files
  • rman backups
  • rman copies
  • control file auto-backups
  • flashback log files( in 10g this area is mainly for flashback log files. So we call this area flashback recovery area)

The transient occupants can be deleted automatically by the RMAN Recovery Manager if the flash recovery area is full, if space is needed for more recent transient files, and if the policies in effect permit this.

In previeous 11g release.  If none of the LOG_ARCHIVE_DEST_n parameters have been set, then transitioning the database to archivelog mode will internally set LOG_ARCHIVE_DEST_10 to the flash recovery area, if it has been configured.  But we know that log_archive_dest and log_archive_dest_n is incompatible. So if you configured the fast recovery area you can not set the log_archive_dest. Or you will hit the error below.

SQL> alter system set log_archive_dest='/oracle_asm/OrclArchiveLog' scope=both;
alter system set log_archive_dest='/oracle_asm/OrclArchiveLog' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or
DB_RECOVERY_FILE_DEST

In 11.0.2.3 the log_arechive_dest_10 will not be set as the db_recovery_file_dest. But you still can not set the log_arch_dest and db_recovery_file_dest at the same time.

If you want to know what kind of files are stored in the fast recovery area you can check the view 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 2.78 0 8
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0

2.78 here means 2.78%.

fast recovery area的更多相关文章

  1. Flash Recovery Area 的备份

    Flash Recovery Area 的备份 备份命令是Flash recovery Area,该命令是Oracle 10g以后才有的.10g引进了flash recovery area,同时在rm ...

  2. Oracle 释放flash recovery area的四种方法

    早上收到一台Linux服务器磁盘告警邮件以及监控告警日志程序发来的邮件.检查过后,发现Linux服务器中一个分区没有空间了.主要原因是由于昨晚程序员做升级时,产生了大量的归档日志,导致联机重做日志无法 ...

  3. Refresh recovery area usage data after manually deleting files under recovery area

    Original source: http://www.dba-oracle.com/t_v$_flash_recovery_area.htm If you manually delete files ...

  4. Flashback Recovery Area的设置与取消

    在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Quer ...

  5. oracle之Flash Recovery Area全面介绍 (转载)

    1. 设置闪回恢复区闪回恢复区主要通过3个初始化参数来设置和管理 db_recovery_file_dest:指定闪回恢复区的位置db_recovery_file_dest_size:指定闪回恢复区的 ...

  6. Flash Recovery Area空间不足导致DB不能打开或hang住处理方法

    当归档目录设置在闪回恢复区,并且闪回恢复区又满了的情况下, DB 就会无法归档而hang住或者无法打开. 这种情况下打开数据库会遇到如下错误信息: SQL> select status from ...

  7. Flash Recovery Area

    1. 设置闪回恢复区 闪回恢复区主要通过3个初始化参数来设置和管理 db_recovery_file_dest:指定闪回恢复区的位置db_recovery_file_dest_size:指定闪回恢复区 ...

  8. flash recovery area配置

    检查数据库是否开启闪回: SQL> select flashback_on from v$database; FLASHBACK_ON ----------------------------- ...

  9. Oracle的FRA(Flash Recovery Area)的好处

    如果FRA的空间耗尽,只会影响到这个Oracle实例自身.所以不会耗尽所有磁盘空间从而影响到其它的数据库实例或其它应用.

随机推荐

  1. php函数的定义和声明

    1.函数的定义 函数是一个被命名的独立的代码段,它执行特定任务,并可以给调用它的程序返回值. 2.函数的优点 提高程序的重用性 提高程序的可维护性 可以提高软件的开发效率 提高软件的可靠性 控制程序的 ...

  2. .Net实战之反射操作篇

    1.上一讲中描述了反射中常见的类,仅仅是描述类与反射之间的关系.   但是实际是对数据的操作,  在反射中,数据如何操作? [MyTable("T_UserInfo")] publ ...

  3. Sqoop hive 和mysql 交互 完整案例

    本文完成:在hive里建管理表:注入部分数据:利用sqoop导入mysql中 期间:解决中文乱码问题   飞行报告故障表 建表命令 查看表 人工灌入少量数据 Windows系统向Linux系统数据传输 ...

  4. eclipse配置Tomcat服务器server locations的方法

    最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这不是个好事,使用eclipse后,有些地方就得自己去配置,比如 ...

  5. 百度地图API获取数据

    目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费AP ...

  6. 01C++编辑编译运行环境

    C++编辑编译运行环境 Bloodshed Dev-C++ Microsoft Visual Studio

  7. 04C语言输入输出

    C语言输入输出 输入字符getchar() #include <stdio.h> int main(){ putchar(getchar()); putchar(getchar()); ; ...

  8. vue-router + axios token登录状态认证

    vue项目中登录状态判断往往基于jwt认证,我们可以采用判断本地是否存在token,及token是否过期或token值错误 1.利用vue-router 钩子函数判断本地是否存在token impor ...

  9. scala学习(3)-----wordcount【sparksession】

    参考: spark中文官方网址:http://spark.apachecn.org/#/ https://www.iteblog.com/archives/1674.html 一.知识点: 1.Dat ...

  10. Tensorflow学习笔记(1):tf.slice()函数使用

    tensorflow 当中的一个常用函数:Slice() def slice(input_, begin, size, name=None) 函数的功能是根据begin和size指定获取input的部 ...