Which database-files are copied at a recovery in a redundant system?
When a recovery in a redundant system is made only parts of the database and not the complete database is copied. Before copying parts of the database is started a check is made to detect which parts need to be copied from the running to the starting system.
In detail it works in the following way.
1) as long as the system is running redundant the database-manager writes the current time in seconds since 1970.01.01 00:00 to the file dbase.touch
2) when the recovery is started the starting data-manager reads the information from the dbase.touch file, substracts 10 minutes and sends it to the data-manager at the running system
3) the running data-manager creates a “directory-list” of directories which have been modified after this time.
The value-archive directories are excluded from this check. For these directories the check of the file-date is made for the archive-files - see point 4). This only works when the directories have the correct notation VA_<4 digit archive-number>.
4) afterwards the running data-manager creates a “file-list” of database files which have been changed after this time
5) for the files in the directories which have been modified after the calculated time (read from the “directory-list”) the md5-checksum is calculated
6) for every file in the “file-list” the md5-checksum is calculated
7) the list of files and their md5-checksums is sent to the starting data-manager
8) the starting data-manager checks if the files from the filelist exist at the local system
9) files which do not exist will be copied during the recovery
10) if a file already exists the md5-checksum is calculated and compared with the md5-checksum calculated on the other server
11) files with a different md5-checksum will be copied during the recovery
With the debug-flag “-dbg redu” for the data-manager (activated on the running server before the recovery is started, startup-option on the starting server) you can get detailed information concerning the file comparison and the recovery.
The debug-information is written to the logfile for the data-manager.