使用快速恢复区
    快速恢复区是Oracle DB 中所有与恢复相关的文件和活动的统一存储位置。在发生介质故
    障后完全恢复数据库所需的所有文件都包含在快速恢复区中。与恢复相关的文件有两种类
    型:永久文件和临时文件。永久文件由实例主动使用。临时文件只有在执行某类恢复操作
    时才需要。
    永久项目
    • 控制文件:根据几个初始化参数的设置,控制文件的副本是在创建新数据库或控制文
    件时在快速恢复区中创建的。
    • 联机重做日志文件的多路复用副本:可包含每个重做日志组的镜像副本。创建数据库
    时,可以使用LOGFILE 子句指定联机重做日志文件的位置。如果未包含该子句,则
    系统会根据下列初始化参数的值设置位置:
    - DB_CREATE_ONLINE_LOG_DEST_n:如果设置了这些变量中的一个或多个,
    则只使用这些位置。
    - DB_CREATE_FILE_DEST:如果设置了此参数,则该位置是主要文件位置。
    - DB_RECOVERY_FILE_DEST:如果除DB_CREATE_FILE_DEST 外还设置了此
    参数,则此位置将用作镜像。
    临时项目
    • 归档重做日志文件:配置了快速恢复区后,LOG_ARCHIVE_DEST_1 会被自动设置为
    快速恢复区位置。归档进程后台进程会在快速恢复区和所配置的其它
    LOG_ARCHIVE_DEST_n 位置中创建归档重做日志文件。如果未定义
    LOG_ARCHIVE_DEST_n 位置,则归档重做日志文件的默认位置是快速恢复区。
    • 闪回日志:启用闪回数据库时会生成闪回日志。
    • 控制文件自动备份:由RMAN 创建的控制文件自动备份和由Oracle DB Server 生成的
    自动备份的默认位置是快速恢复区。
    • 数据文件副本:BACKUP AS COPY 命令在快速恢复区中创建映像数据文件副本。
    • RMAN 文件:快速恢复区是RMAN 用于备份和通过恢复操作从磁带还原归档日志内
    容的默认位置。
    FRA 是通过设置以下两个动态初始化参数来定义的:
    • DB_RECOVERY_FILE_DEST_SIZE:设置磁盘限制
    • DB_RECOVERY_FILE_DEST:设置FRA 的位置

    可以发出以下查询来确定要执行的操作:

    1. SELECT object_type, message_type, message_level,reason, suggested_action FROM dba_outstanding_alerts;

    在设置闪回区之前首先要查看是否已经开启归档模式。

    1. SQL> archive log list;
    2. Database log mode Archive Mode
    3. Automatic archival Enabled
    4. Archive destination /opt/oracle/fast_recovery_area
    5. Oldest online log sequence 1
    6. Next log sequence to archive 2
    7. Current log sequence 2

    如果尚未设置归档模式需要先设置用归档
    1.关闭数据库,启动到mount模式下,查看并设置归档文件路径,启用归档。

    1. SQL> show parameter archive
    2. NAME TYPE VALUE
    3. ------------------------------------ ----------- ------------------------------
    4. archive_lag_target integer 0
    5. log_archive_config string
    6. log_archive_dest string
    7. log_archive_dest_1 string location=/opt/oracle/fast_reco
    8. very_area mandatory
    9. SQL> alter system set log_archive_dest_1='location=/opt/oracle/fast_recovery_area mandatory';
    10. System altered.
    11. SQL> alter database archivelog;
    12. Database altered.

    确定归档日志开启后设置闪回,并打开数据库

    1. SQL> show parameter recover
    2. NAME TYPE VALUE
    3. ------------------------------------ ----------- ------------------------------
    4. db_recovery_file_dest string
    5. db_recovery_file_dest_size big integer 2G
    6. db_unrecoverable_scn_tracking boolean TRUE
    7. recovery_parallelism integer 0
    8. remote_recovery_file_dest string
    9. SQL> alter system set db_recovery_file_dest_size=2g;
    10. System altered.
    11. SQL> alter system set db_recovery_file_dest='/opt/oracle/fast_recovery_area';
    12. System altered.
    13. SQL> alter database open;
    14. Database altered.

    视图

    1. select * from v$flash_recovery_area_usage;
    2. select * from v$flashback_database_log;
    3. select * from v$flashback_database_logfile;
    4. select * from v$flashback_database_stat;
    5. select * from v$flashback_txn_graph;
    6. select * from v$flashback_txn_mods; ###查询闪回记录
    7. select * from v$flashfilestat;