(原创)
在RMAN中如果不使用恢复目录的情况下,是使用控制文件来保存RMAN的信息。所以控制文件必定会不断增大,并且控制文件会循环的使用这个区域。所以我叫这个区域叫做控制文件的可变区域,它有别于控制文件中的一些固定信息如日志文件位置,数据文件位置等,所以RMAN信息是不会通过控制文件重建来恢复的。
如果控制文件中的RMAN信息被覆盖了话,而我们需要恢复的时间点在被覆盖的信息中,那样我们只有使用特殊恢复了。。。。(做过,数据会丢失一部分)
所以在ORACLE中引入了参数 :CONTROL_FILE_RECORD_KEEP_TIME 用于确定一个记录至少要保留多少天才可被覆盖。
如果控制文件太小,不能存储由CONTROL_FILE_RECORD_KEEP_TIME 指定的时间段内的所有信息,那么控制文件将会增长。在控制文件增长之前,将执行以下的特定步骤:
1. 使用控制文件中的空闲空间。
2. 覆盖早于 CONTROL_FILE_RECORD_KEEP_TIME 的条目。
3.如果没有更多空间可用,控制文件将按需增长,直到达到操作文件大小的系统限制。
所以可见使用控制文件来代替恢复目录的RMAN中,能够保存的RMAN的信息天数范围为:
CONTROL_FILE_RECORD_KEEP_TIME 实际保留天数
如果此参数设置为1天那样实际天数就大于 CONTROL_FILE_RECORD_KEEP_TIME 如果设置为365天一般实际天数=CONTROL_FILE_RECORD_KEEP_TIME
所以 CONTROL_FILE_RECORD_KEEP_TIME是控制文件所能保存天数的下限,明白了过后就可以根据客户的要求来确定CONTROL_FILE_RECORD_KEEP_TIME的大小。