1 CONTROL_FILE_RECORD_KEEP_TIME 定义:
CONTROL_FILE_RECORD_KEEP_TIME specifies the minimum number of days before a reusable
record in the control file can be reused. In the event a new record needs to be
added to a reusable section and the oldest record has not aged enough, the
record section expands. If this parameter is set to 0, then reusable sections
never expand, and records are reused as needed.
Note:
This parameter applies only to records in the control file that are
circularly reusable (such as archive log records and various backup records).
It does not apply to records such as datafile, tablespace, and redo thread
records, which are never reused unless the corresponding object is dropped
from the tablespace.
注意,这个参数只应用于控制文件中可循环利用的部分,如归档日志文件,各种备份记录。不应用于诸如数据文件,表空间,重做线程等,这些内容只有当其从对应的表空间中删除后才能重用。具体分类可以查询视图:$contofile_record_section
2 rman与CONTROL_FILE_RECORD_KEEP_TIME
在没有是恢复目录的情况下,备份信息记录在控制文件中,为了防止控制文件无限制的增大,当备份信息超过CONTROL_FILE_RECORD_KEEP_TIME
指定的间,旧的信息就会被覆盖。CONTROL_FILE_RECORD_KEEP_TIME的时间一般都要大于备份保留策略的时间,比如:保留策略是7 CONTROL_FILE_RECORD_KEEP_TIME设置10或14天
注意:(1)无论是否使用恢复目录,都不要设置CONTROL_FILE_RECORD_KEEP_TIME为0 否则将要丢失数据。
关于rman与CONTROL_FILE_RECORD_KEEP_TIME官方说明如下:
When you do not use a recovery catalog, the control file
is the sole source of information about RMAN backups. As you make backups, Oracle records these backups in the control
file. To prevent the control file from growing without bound to hold RMAN
repository data, records can be reused if they are older than a threshhold you
specify.
The CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter determines the minimum age in days of a record before it can be
overwritten:
CONTROL_FILE_RECORD_KEEP_TIME
= integer
For example, if
the parameter value is 14, then any
record aged 14 days and older is a candidate for reuse. Information in an
overwritten record is lost. The oldest record available for reuse will be used
first.
When Oracle
needs to add new RMAN repository records to the control file, but no record is
older than the threshhold, Oracle attempts to expand the size of the control
file. If the underlying operating system prevents the expansion of the control
file (due to a disk full condition, for instance), Oracle overwrites the oldest
record in the control file and logs this action in the alert log.
The default
value of CONTROL_FILE_RECORD_KEEP_TIME is 7 days.
If you are not using a recovery catalog, then set the CONTROL_FILE_RECORD_KEEP_TIME value to
slightly longer than the oldest file that you need to keep. For example, if you
back up the whole database once a week, then you need to keep every backup for
at least seven days. Set CONTROL_FILE_RECORD_KEEP_TIME to a value
such as 10 or 14.
Caution:
Regardless of
whether you use a recovery catalog, never use RMAN when CONTROL_FILE_RECORD_KEEP_TIME is set to
0. If you do, then you may lose backup records.
|
Note: This parameter applies only to records in the control file that are circularly reusable (such as archive log records and various backup records). It does not apply to records such as datafile, tablespace, and redo thread records, which are never reused unless the corresponding object is dropped from the tablespace. |