flash recovery area(闪回恢复区)管理


11.1查看fra位置

SQL> show parameters db_recovery_file_dest

NAME TYPE VALUE

----------------------------------------------- ------------------------------

db_recovery_file_dest string

db_recovery_file_dest_size big integer 0

select * from v$recovery_file_dest

NAME

--------------------------------------------------------------------------------

SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLENUMBER_OF_FILES

----------- ---------- --------------------------------

+DGFRA

471859200 0 0 0

11.2修改fra位置和大小

SQL> alter system setdb_recovery_file_dest_size=450m scope=both;

System altered.

SQL> alter system setdb_recovery_file_dest='+DGFRA' scope=both;

System altered.

如果要先修改:位置会报错。

SQL> alter system setdb_recovery_file_dest='+DGFRA';

ERROR at line 1:

ORA-02097: parameter cannot be modifiedbecause specified value is invalid

ORA-19802: cannot use DB_RECOVERY_FILE_DESTwithout DB_RECOVERY_FILE_DEST_SIZE

查看修改之后:

SQL> show parameter db_recovery_file_dest;

NAME TYPE VALUE

----------------------------------------------- ------------------------------

db_recovery_file_dest string +DGFRA

db_recovery_file_dest_size big integer 450M

11.3取消fra闪回恢复区

SQL> alter database flashback off;

Database altered.

SQL> alter system setdb_recovery_file_dest='';

System altered.

SQL> show parameter db_recovery

NAME TYPE VALUE

----------------------------------------------- ------------------------------

db_recovery_file_dest string

db_recovery_file_dest_size big integer 450M

B_RECOVERY_FILE_DEST_SIZE 只有在DB_RECOVERY_FILE_DEST 清空之后才可以清空

11.4 fra参数:

db_recovery_file_dest:指定闪回恢复区的位置

db_recovery_file_dest_size:指定闪回恢复区的可用空间大小

db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,

SQL> show parameter db_flashback

NAME TYPE VALUE

------------------------------------ -----------------------------------------

db_flashback_retention_target integer 1440

也就是一天。当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的flash log

11.5闪存恢复区内容

所有和恢复相关的文件都可以存放到闪回恢复区。

SQL> select file_type fromv$flash_recovery_area_usage;

上面视图中查询的结果列出的所有类型的文件,都可以利用闪回恢复区来存放、管理。

在一些 10g 的动态视图里( V$CONTROLFILE, V$LOGFILE, V$ARCHIVED_LOG, V$DATAFILE_COPY )的新的列IS_RECOVERY_DEST_FILE ,指明相关的文件是否在恢复区内。

自动的基于磁盘的备份与恢复,

如下几种文件可以放到闪回恢复区中:

•控制文件

•归档的日志文件(注:Oracle手册上所说的在设定flashrecovery area之后,LOG_ARCHIVE_DEST_10的值将自动设定为flash recovery area的位置,这个变化在笔者测试过程中观察不到)

•闪回日志

•控制文件和 SPFILE 自动备份

RMAN 备份集

•数据文件拷贝

如前所述,闪回恢复区提供了一个集中化的存储区域,很大程度上减小了管理开销。这是其最主要的优点。与 RMAN结合使用可以进行快速恢复。

设置了上限,就不怕把DGFRA占用光了。

相关内容