一个朋友问如何设置Oracle闪回区大小,有什么依据没有。
查证官方文档,有如下描述
For example, if you intend to setDB_FLASHBACK_RETENTION_TARGET to 24 hours, and if the database generates 20 GB of redo in a day, then a rule of thumb is to allow 20 GB to 30 GB disk space for the flashback logs.
主要还是根据归档量预估闪回区的大小。
如果闪回日志保留时间(DB_FLASHBACK_RETENTION_TARGET)设置的是24小时,而一天的归档产生量是20G,那么闪回区(DB_RECOVERY_FILE_DEST_SIZE)应该设置为20G至30G。
以此类推,如果闪回日志保留7天,那么DB_RECOVERY_FILE_DEST_SIZE设置为20G*7至30G*7。
上面的情况闪回区只是存放闪回日志。如果有些DBA很懒,不单独设置归档日志路径,不修改rman备份目录,一大坨无关的文件都放在闪回区,那么闪回区大小遵循如下公式。当然,不建议这么做。
Disk Quota =
Size of a copy of database +
Size of an incremental backup +
Size of (n+1) days of archived redo logs +
Size of (y+1) days of foreign archived redo logs (for logical standby) +
Size of control file +
Size of an online redo log member * number of log groups +
Size of flashback logs (based on DB_FLASHBACK_RETENTION_TARGET value)
参考文档:
Configuring the Flash Recovery Area --> Considerations When Setting the Size of the Flash Recovery Area
http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmconfb.htm#i1019160