Ok, so these are the two pieces of information regarding the location
of archived logs during a rollforward recovery in a recoverable
database:
1. OVERFLOWLOGPATH configuration parameter can specify a location for
DB2 to find log files that are needed for rollforward operations.
2. The database configuration file parameter 'userexit' specifies
whether the database manager invokes a user exit program to retrieve log
files during rollforward recovery of databases.
So, it seems that the algorithm during a rollforward recovery is:
DB2 checks to see if at all, userexit parameter is enabled.
1. if userexit is enabled, DB2 checks the value of OVERFLOWLOGPATH
configuration parameter to find the location of archived logs. So, with
userexit enabled, if a valid value OVERFLOWLOGPATH is not provided, DB2
only checks the active log path directory for the archived logs needed
for rollforward recovery and will most probably fail (because userexit
will most probably have copied the logs to 'archive log path directory').
2. If userexit is not enabled, all the archived logs needed for
rollforward recovery must exist in the 'active log path directory'. In this
case (when userexit is not enabled), OVERFLOWLOGPATH will be ignored even
if it is provided.
I did not find it documented anywhere that DB2 actually invoked
userexit during rollforward recovery to find the location of 'archive log path
directory'. It seems that OVERFLOWLOGPATH is the sole parameter which
gives DB2 the information about the location of 'archive log path
directory'.
Is my understanding correct?
Also, during rollforward operations, does UDB 'copy' the logs from
'archive log path directory' to 'active log path directory' or does it
directly read the logs from the 'archive log path directory' itself? I know
that during a rollback or crash recovery operation, all the logs to be
processed by DB2 must be present in the 'active log path directory'.
So, is it the same for rollforward operations too?
TIA
Raquel.
of archived logs during a rollforward recovery in a recoverable
database:
1. OVERFLOWLOGPATH configuration parameter can specify a location for
DB2 to find log files that are needed for rollforward operations.
2. The database configuration file parameter 'userexit' specifies
whether the database manager invokes a user exit program to retrieve log
files during rollforward recovery of databases.
So, it seems that the algorithm during a rollforward recovery is:
DB2 checks to see if at all, userexit parameter is enabled.
1. if userexit is enabled, DB2 checks the value of OVERFLOWLOGPATH
configuration parameter to find the location of archived logs. So, with
userexit enabled, if a valid value OVERFLOWLOGPATH is not provided, DB2
only checks the active log path directory for the archived logs needed
for rollforward recovery and will most probably fail (because userexit
will most probably have copied the logs to 'archive log path directory').
2. If userexit is not enabled, all the archived logs needed for
rollforward recovery must exist in the 'active log path directory'. In this
case (when userexit is not enabled), OVERFLOWLOGPATH will be ignored even
if it is provided.
I did not find it documented anywhere that DB2 actually invoked
userexit during rollforward recovery to find the location of 'archive log path
directory'. It seems that OVERFLOWLOGPATH is the sole parameter which
gives DB2 the information about the location of 'archive log path
directory'.
Is my understanding correct?
Also, during rollforward operations, does UDB 'copy' the logs from
'archive log path directory' to 'active log path directory' or does it
directly read the logs from the 'archive log path directory' itself? I know
that during a rollback or crash recovery operation, all the logs to be
processed by DB2 must be present in the 'active log path directory'.
So, is it the same for rollforward operations too?
TIA
Raquel.
Comment