有些时候,有的客户设置了 FRA(Flashback Recovery Area) 有效之后,在数据库的 alert log 中,会看到 ORA-19815 警告。
这表明数据库的 FRA 区域快要满了。
客户要么扩张 FRR 区域让它更大,要么就需要把现有的 FRA 区域中占比比较高的文件减少。
此时,我们需要执行如下的查询,,可以看到各种文件在 FRA 区域中所占比例。
SQL> set linesize 300
SQL> select * from V$RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
--------------------------------------------------------------------- ------------------ ------------------------- --------------- ----------
CONTROL FILE .09 0 1 0
REDO LOG 1.46 0 3 0
ARCHIVED LOG 0 0 0 0
BACKUP PIECE 0 0 0 0
IMAGE COPY 0 0 0 0
FLASHBACK LOG 0 0 0 0
FOREIGN ARCHIVED LOG 0 0 0 0
AUXILIARY DATAFILE COPY 0 0 0 0
SQL>
我这个结果的例子里面,各种文件都很少。举例来说,如果 ARCHIVED LOG 行的 PERCENT_SPACE_USED 达到了 75% ,那么我们就需要通过 RMAN 来删除 ARCHIVED LOG 。
那么,如果我们放弃使用 FRA 呢? 这么做其实有一个更大的风险:如果客户不使用 FRA, 那么就不会在 alert log 里面看到任何警告。这样,有可能在不知不觉中,OS 上的磁盘就满了。这个时候别说数据库了,可能整个 OS 都死掉了,根本没有机会抢救数据库中的数据,这是非常危险的。