Saibabu -- Thanks for the question regarding "Correlation between MAXLOGHISTORY & CONTROL_FILE_RECORD_KEEP_TIME", version 8.1.7
Submitted on 5-Oct-2001 20:26 UTC
Last updated 27-Apr-2009 14:38
You Asked
Hi,Iam really confused after going through numureous documents on these parameters.I have
some doubts to be clarified :
1)What is significance of MAXLOGHISTORY parameter in non-OPS environments.
2)If Control_file_record_keep_time=0,then upto what point recovery can go back under RMAN
backups and disk hot backups.
3)In one of our 8.1.7.1 Databases,MAXLOGHISTORY is at 1405.
count from v$loghist=1405
count from v$archived_log=1393
value from v$controlfile_record_section=1393 for Archived Logs.
My assumption is counts between v$loghist and v$archived_log should match.What are the
reasons for it.
control_file_record_keep_time=7
select min(completion_time) from v$archived_log=22-AUg-2001.(?????)
If control_file_record_keep_time says to keep records for 7 days,why Iam seeing the
records from 22-AUG-2001.Please explain.
4)In another 8.1.6 databases,
MAXLOGHISTORY=4991
control_file_record_keep_time=7
count from v$archived_log=8783
count from v$loghist=4991
value from v$controlfile_record_section=8783 for Archived Logs.
If MAXLOGHISTory will increase dynamically when control_file_record_keep_time<>0,then the
above counts should match.
I don't understand how MAXLOGHISTORY is less than count from v$archived_log.
In this database,select min(completion_time) from v$archived_log=28-SEP-2001,which is
expected.
5) What can be done if ORA-19571 error comes up while backing up archived logs using
RMAN.How can I backup those logs which are missing from control file.
You help is very much aprreciated.
Thanks
Sai.
and we said...
1) well -- the documentation seems clear on this to me:
<quote>
Note: This parameter is useful only if you are using Oracle with the Parallel Server
option in parallel mode, and archivelog mode enabled.
</quote>
so, it would be saying that is has not significance outside of OPS/RAC. It controls the
number of log history records available on v$log_history.
2) well, it depends. RMAN usually uses a recovery catalog, not the control file. If you
are using RMAN with just the control file and no recovery catalog, it'll totally depend
on how fast you cycle through and reuse reusable records in the control file. In any
case -- you can always recover manually regardless (you do not lose the ability to
recover, we just might not be able to supply you the filenames)
3 & 4) they shouldn't be the same. loghist (log_history is the prefered view) is
controled by the maxloghistory. v$archived_log is controlled by the
control_file_record_keep_time -- those records are among the circularly reusable records.
We'll dynamically expand the control file to hold 7 days worth of archive log
information for you (if you have it set to 7). On the 8th day, we just overwrite the old
records and reuse their slots.
So, one is retained by a physical count (maxloghistory) and shows the history of the
logs.
The other is retained by a number of days -- keep the history for the last N days -- and
will cause the control file to grow as needed.
As for why you are seeing really old records in v$archived log -- you must have had a 7
day period in which you generated LOTS of archives, more then you did in the recent past.
That caused this section to grow larger to hold it. We won't shrink it back -- hence
you have more space then you need to hold your current 7 days worth of information. The
7 is a MINIMUM retention time. It does not mean we purge records older then 7 days.
5) set your control_file_record_keep_time to be at least one day GREATER then the period
of time between your backups, else there is a chance that an archive record gets aged out
during the backup which thoroughly confuses the situation.