[Oracle 工程师手记] 如何查看 FRA 的使用率
有些时候,有的客户设置了 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 都死掉了,根本没有机会抢救数据库中的数据,这是非常危险的。