The backup .aij file you create can be used with the RMU Recover command to recover (roll forward) journaled transactions. In some cases, you might have to issue additional Recover commands: one for the backup .aij file and a second for the more recent .aij files. Oracle Rdb supports the following two types of .aij file configurations: o A configuration that uses a single, extensible .aij file This is the method always used prior to Version 6.0 and is also the default (for compatibility with versions of Oracle Rdb prior to Version 6.0). When an extensible .aij file is used, one .aij file is written to and extended, as needed, by the number of blocks specified when the .aij file was created. The .aij file continues to be extended until it is backed up (or the device on which it resides is full). The RMU Backup After_Journal command copies transactions recorded in the current .aij file (always on a disk device) to the backup .aij file (which might be on a tape or disk device). On completion, the current .aij file is truncated and used again. During periods of high update activity, the truncation of the active .aij file might not be performed because of conflicting access to the .aij file by other users, but the storage allocated to the active .aij file is still used again when the backup operation completes. o A configuration that uses two or more fixed-size .aij files When fixed-size .aij files are used, the database maintains multiple .aij files; however, only one .aij file is written to at a time. This .aij file is considered the current journal. When this .aij file is filled, a switchover occurs to allow journaling to continue in another available .aij file. The RMU Backup After_Journal command works as follows with fixed-size .aij files: - Backs up any full .aij files The backup operation first backs up the .aij file with the lowest AIJ sequence number (that needs backing up), the operation continues to back up .aij files in ascending AIJ sequence number. If a lot of .aij files need to be backed up when the RMU Backup After_Journal command is issued, one backup file might contain the contents of all the .aij files being backed up. - Backs up the current .aij file Even if there are active transactions at the time of the backup operation, the RMU Backup After_Journal command will start to backup the current active .aij file. If you have specified the Quiet_Point qualifier, the backup operation stalls at some point waiting for all the current transactions to complete. - Switches to the next available .aij file An available .aij file is one for which both of the following are true: * It is not currently being used to record transactions. * It is not needed for a redo operation. Such an .aij file might be one that has never been used, or one that has already been backed up. Once a specified .aij file has been completely backed up, it is initialized and marked as available for reuse. NOTE The method employed, fixed-size .aij files or an extensible .aij file, cannot be set explicitly by the user. Any event that reduces the number of .aij files to one results in an extensible .aij file being used. Any event that increases the number .aij files to two or more results in fixed-size .aij files being used. An inaccessible .aij file is counted in these equations. Therefore, if you have one accessible .aij file and one inaccessible .aij file (perhaps because it has been suppressed), fixed-size .aij journaling is still used. Because some of the RMU Backup After_Journal qualifiers are valid only when one or the other journaling mechanism is employed, you might need to issue an RMU Dump command to determine which journaling mechanism is currently being employed before you issue an RMU Backup After_Journal command. Also note that once a backup operation begins, .aij file modification is not allowed until the backup operation is complete. However, if the type of journaling changes between the time you issue an RMU Dump command and the time you issue the RMU Backup After_Journal command, you receive an error message if you have specified qualifiers that are only valid with a particular type of journaling mechanism. (The Threshold qualifier, for example, is valid only when the extensible journaling mechanism is being used.) If you back up the .aij file or files to tape, you must mount the backup media by using the DCL MOUNT command before you issue the RMU Backup After_Journal command. If you specify the default, Format=Old_File, the RMU Backup After_Journal command uses RMS to write to the tape and the tape must be mounted as an OpenVMS volume. (That is, do not specify the FOREIGN qualifier with the MOUNT command.) If you specify the Format=New_Tape qualifier, the RMU Backup After_Journal command writes backup files in a format similar to that used by the RMU Backup command, and you must mount the tape as a FOREIGN volume. If you back up an .aij file to disk, you can then use the OpenVMS Backup utility (BACKUP) to archive the .aij backup file. The RMU Backup After_Journal command can be used in a batch job to avoid occupying an interactive terminal for long periods of time. The Continuous, Interval, Threshold, and Until qualifiers control the duration and frequency of the backup process. When you use the Continuous qualifier, the command can occupy a terminal indefinitely. Therefore, it is good practice to issue the command through a batch process when executing a continuous .aij file backup operation. However, remember that the portion of the command procedure that follows the RMU Backup After_Journal command is not executed until after the time specified by the Until qualifier. When the RMU Backup After_Journal command completes, it records information about the state of the backup files in the global process symbols presented in the following list. You can use these symbols in DCL command procedures to help automate the backup operation. These symbols are not set, however, if you have issued a DCL SET SYMBOL/SCOPE=(NOLOCAL, NOGLOBAL) command. o RDM$AIJ_SEQNO Contains the sequence number of the last .aij backup file written to tape. This symbol has a value identical to RDM$AIJ_ BACKUP_SEQNO. RDM$AIJ_SEQNO was created prior to Oracle Rdb Version 6.0 and is maintained for compatibility with earlier versions of Oracle Rdb. o RDM$AIJ_CURRENT_SEQNO Contains the sequence number of the currently active .aij file. A value of -1 indicates that after-image journaling is disabled. o RDM$AIJ_NEXT_SEQNO Contains the sequence number of the next .aij file that needs to be backed up. This symbol always contains a positive integer value (which can be 0). o RDM$AIJ_LAST_SEQNO Contains the sequence number of the last .aij file ready for a backup operation, which is different from the current sequence number if fixed-size journaling is being used. A value of -1 indicates that no journal has ever been backed up. If the value of the RDM$AIJ_NEXT_SEQNO symbol is greater than the value of the RDM$AIJ_LAST_SEQNO symbol, no more .aij files are currently available for the backup operation. o RDM$AIJ_BACKUP_SEQNO Contains the sequence number of the last .aij file backed up by the backup operation. This symbol is set at the completion of an .aij backup operation. A value of -1 indicates that this process has not yet backed up an .aij file. The RMU Backup After_Journal command provides an informational message that describes the exact sequence number for each .aij backup file operation. o RDM$AIJ_COUNT Contains the number of available .aij files. o RDM$AIJ_ENDOFFILE Contains the end of file block number for the current AIJ journal. o RDM$AIJ_FULLNESS Contains the percent fullness of the current AIJ journal. Note that these are string symbols, not integer symbols, even though their equivalence values are numbers. Therefore performing arithmetic operations with them produces unexpected results. If you need to perform arithmetic operations with these symbols, first convert the string symbol values to numeric symbol values using the OpenVMS F$INTEGER lexical function. For example: $ SEQNO_RANGE = F$INTEGER(RDB$AIJ_LAST_SEQNO) - F$INTEGER(RDB$AIJ_NEXT_SEQNO)