Converts any of the following versions (or any of the mandatory updates to these versions) of Oracle Rdb databases to an Oracle Rdb release 7.2 database: o Version 7.0 o Version 7.1 See the Oracle Rdb Installation and Configuration Guide for the proper backup procedure prior to installing a new release of Oracle Rdb and converting databases. NOTE The following are important issues to consider when you convert a database: o A database must be backed up immediately following an Oracle RMU convert operation. A database converted using the RMU Convert command may not be recoverable if a full database backup is not made immediately after the convert operation completes. If you attempt to restore a database using a backup file created prior to the conversion, the database may be left in an unrecoverable state. o If after-image journaling is enabled when you issue the Convert command, Oracle RMU disables after-image journaling during the convert operation and then does one of the following, depending on the type of .aij file or files being employed when the Convert command was issued: - If an extensible .aij file was being used, Oracle RMU creates a new journal for the converted database and enables after-image journaling. - If fixed-size .aij files were being used, Oracle RMU activates the next available fixed-size journal and enables after-image journaling. If another fixed- size journal is not available, journaling remains disabled. Use only the .aij file (or files) created or activated during or after the convert operation together with the backup file you created immediately after the convert operation to restore and recover your database. Any .aij files created prior to the Convert operation cannot be used to recover the converted database. If you issue an RMU Convert command with the Rollback qualifier, Oracle RMU disables after-image journaling and returns the message: RMU-I-CANTENAAIJ. Oracle Corporation recommends that you back up the database and enable after-image journaling when the convert operation completes. o Growth of the RDB$SYSTEM storage area is normal during a convert operation. You must be sure that there is sufficient disk space for the new metadata and the converted metadata. During a convert operation Oracle RMU makes an upgraded copy of the metadata. If the convert operation fails, the old metadata is available for rolling back. If you specify the Nocommit qualifier, both copies of the metadata exist at the same time (to allow a manual rollback operation). If you specify the Commit qualifier, the old metadata is deleted once the convert operation completes successfully. Read the Description help entry under this command carefully for important information on converting single-file and multifile databases.
1 – Description
The RMU Convert command operates by creating a converted copy of the system tables and indexes. This implies that the RDB$SYSTEM storage area might grow during the conversion, but it is unlikely that the system tables will be fragmented by the conversion process. Because a copy of the system tables is made, the time taken by the conversion is proportional to the amount of storage allocated to the system tables, or the number of rows in system tables, or both. This is typically a few minutes per database. However, if the database has very large system tables, the conversion can be costly. If the database has a large number of versions of some tables, it might be more efficient for you to use the SQL EXPORT and IMPORT statements to convert the database. After the conversion, both copies of the system tables are stored in the database. The Commit qualifier selects the converted copy and deletes the original copy. The Rollback qualifier selects the original copy and deletes the converted copy. You can specify either the Commit or the Rollback qualifier at a later time if you selected the Nocommit qualifier when the database was converted. Be aware that as long as Commit or Rollback are not selected after a Nocommit conversion, extra space will be taken up in the database to store both versions of the metadata. It is important to issue the Convert/Commit command after you have verified that the conversion was successful. (RMU will not let you convert to a newer version if the previous Convert was never committed, even if it was years ago.) While both copies of the system tables exist, the database is usable under Oracle Rdb release 7.2, but not under the earlier version. Also, DDL (data definition language) operations to the database are prohibited to ensure that both copies of the system tables remain consistent. After you specify either the Commit or the Rollback qualifier, you can again perform DDL operations on the database. If you convert a multifile database created prior to Oracle Rdb Version 6.1 by using the RMU Convert command with the Nocommit qualifier and then use the RMU Convert command with the Rollback qualifier to revert to the prior database structure level, subsequent verify operations might return an RMU-W-PAGTADINV warning message. See the Usage_Notes help entry under this command for details.
2 – Format
(B)0[mRMU/Convert database-list [4mCommand[m [4mQualifiers[m x [4mDefaults[m x /[No]Commit x /Commit /[No]Confirm x See description /Path x None /Prefix_Collection=option x See description /Reserve = (Area=n, Aij=n) x See description /[No]Rollback x /Norollback
3 – Parameters
3.1 – database-list
The database-list parameter is a list of databases to be converted. A list item can be either the file specification of a database root file or a data dictionary path name. You can use wildcards in the file specification of a database root file. You cannot use wildcards in a data dictionary path name.
4 – Command Qualifiers
4.1 – Commit
Commit Nocommit Makes the database conversion permanent. When you specify the Commit qualifier, the database is converted to an Oracle Rdb release 7.2 database and cannot be returned to the previous version. The default is Commit. When you specify the Nocommit qualifier, you can convert the database to Oracle Rdb release 7.2 and roll it back to the previous version at a later time. Using the Nocommit qualifier is helpful when you want to test your applications against a new version of Oracle Rdb. In the event that you find problems, you can roll back to the previous version. Once you feel confident that your applications work well with the new version, you should commit the converted database, otherwise unnecessary space is taken up in the database to store the obsolete alternate version of the metadata.
4.2 – Confirm
Confirm Noconfirm Requests user input during the conversion procedure. When you specify the Confirm qualifier, Oracle RMU asks if you are satisfied with your database and aij backup files. If the database being converted has after-image journaling enabled, Oracle RMU asks if you want to continue and states that after- image journaling will be temporarily disabled.
4.3 – Path
Path Identifies that the database is being specified by its data dictionary path name instead of its file specification. The Path qualifier is a positional qualifier.
4.4 – Prefix Collection
Prefix_Collection=option When you convert a database to release 7.2 from a release of Oracle Rdb prior to release 7.0, you can use the Prefix_ Collection qualifier to specify that sorted index prefix cardinality collection be Enabled, Enabled Full, or Disabled for all sysem and user sorted indexes. The following options are available for use with the Prefix_ Collection qualifier: o Disabled Specifies that index prefix cardinality collection is to be disabled. o Enabled Specifies that default collection is performed. The Oracle Rdb optimizer collects approximate cardinality values for the index columns to help in future query optimization. Enabled Estimate Specifies that prefix cardinality values for all indexes are to be estimated. o Enabled Collect Specifies that prefix cardinality values for all indexes are to be collected by calling the RMU Collect command. o Full Requests that extra I/O be performed, if required, to ensure that the cardinality values reflect the key value changes of adjacent index nodes. o Full=Estimate Specifies that prefix cardinality values for all indexes are to be estimated. o Full=Collect Specifies that prefix cardinality values for all indexes are to be collected by calling the RMU Collect command.
4.5 – Reserve
Reserve=(Area=n,Aij=n) Reserves space in the database root file for storage areas or .aij files, or both. Replace the character n with the number of storage areas or .aij files for which you want to reserve space. Note that you cannot reserve areas for a single-file database. You can reserve .aij files for a single-file database, but once the database is converted, you cannot alter that reservation unless you backup and restore the database. This qualifier is useful if, when you are converting your database, you anticipate the need for additional storage areas or .aij files. Because the addition of new storage areas or .aij files requires that users not be attached to the database, adding them while the database is being converted minimizes the time that the database is inaccessible to users. By default, one .aij file and no storage area files are reserved.
4.6 – Rollback
Rollback Norollback Returns a database that has been converted to an Oracle Rdb release 7.2 database (but not committed) to the previous version. You might decide to return to the previous version of the database for technical, performance, or business reasons. The Norollback qualifier prevents you from returning your converted database to the previous version. The default is the Norollback qualifier. If you specify both the Nocommit qualifier and the Rollback qualifier in the same RMU Convert command, your database is converted to Oracle Rdb release 7.2 and immediately rolled back to the previous version when the RMU Convert command is executed. This qualifier is valid only if you are converting from one of the following releases: 7.0 or 7.1.
5 – Usage Notes
o To use the RMU Convert command for a database, you must have the RMU$CONVERT or RMU$RESTORE privilege in the root file access control list (ACL) for the database or the OpenVMS SYSPRV or BYPASS privilege. o The RMU Convert command requires read/write access to the database root file, the RDB$SYSTEM area, and the directory in which the .ruj file will be entered. o Oracle Corporation recommends that you update multisegment index cardinalities as part of, or soon after, the convert operation completes. Stored cardinality values can differ from the actual cardinality values if the RDB$SYSTEM storage area has been set to read-only access. If you use the Confirm and Commit qualifiers when you issue the RMU Convert command, Oracle RMU asks if you want to update multisegment index cardinalities with actual index values and provides an estimate on the time it will take to perform the update. If you choose not to update these cardinalities with actual values as part of the convert operation, or if you do not use the Confirm qualifier, Oracle RMU updates the multisegment index cardinalities with estimated values. In such a case, you should update the cardinalities with actual values as soon as possible by issuing an RMU Collect Optimizer_Statistics command. See Collect_Optimizer_Statistics for details. o If the database conversion does not complete (for example, because of a system failure or an Oracle Rdb monitor shutdown), you can execute the RMU Convert command again later. The ability to complete the conversion process later keeps you from having a half-converted database that is corrupted. o If the RDB$SYSTEM storage area attribute is set to read- only access, the RMU Convert command proceeds to reset the attribute to read/write, convert the database and then reset the attribute to read-only when the conversion is complete. If the RDB$SYSTEM storage area is located on a device that cannot be written to, the database conversion fails and returns an error message. o You are prompted to specify the Prefix_Collection parameters if the following conditions are true: o The Prefix_Collection qualifier is not specified. o The RMU Convert process is not running as a batch job. o The Noconfirm qualifier is not specified. As a response to the prompt, you can enter "E(NABLE)" for the equivalent of Prefix_Collection=Enabled, "F(ULL)" for the equivalent of Prefix_Collection=Full, "D(ISABLE)" for the equivalent of Prefix_Collection=Disabled, or the default of "I(GNORE)" if you do not want to change any prefix cardinality settings.
6 – Examples
Example 1 The first command in the following example converts an Oracle Rdb release 7.0 database with an extensible .aij file to an Oracle Rdb release 7.2 database. Because the Nocommit qualifier is specified in the first command, you can roll back the converted database (the Oracle Rdb release 7.2 database) to the original Oracle Rdb release 7.0 database. After-image journaling is disabled while the database is being converted. After the database is converted, a new extensible .aij file is created and after-image journaling is enabled again. Note that .aij files are version-specific. You should perform a full backup operation after a conversion because the old version and the new version of the .aij file are incompatible. In the second command, the converted database is rolled back to the original database. $RMU/CONVERT/CONFIRM/NOCOMMIT MF_PERSONNEL.RDB %RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00 Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of any associated .aij files [N]? Y %RMU-I-AIJ_DISABLED, after-image journaling is being disabled temporarily for the Convert operation %RMU-I-LOGCONVRT, database root converted to current structure level %RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully converted from version V7.0 to V7.2 %RMU-I-LOGCREAIJ, created after-image journal file DISK1:[TESTS]BACKUP_AFTER1.AIJ;2 %RMU-I-LOGMODSTR, activated after-image journal "AFTER1" %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery $RMU/CONVERT/ROLLBACK MF_PERSONNEL.RDB %RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00 Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of any associated .aij files [N]? Y %RMU-I-AIJ_DISABLED, after-image journaling is being disabled temporarily for the Convert operation %RMU-I-LOGCONVRT, database root converted to current structure level %RMU-I-CVTROLSUC, CONVERT rolled-back for DISK1:[TESTS]MF_PERSONNEL.RDB;1 to version V7.0 %RMU-I-CANTENAAIJ, The JOURNAL is now DISABLED. RMU CONVERT can not enable the JOURNAL for previous versions. You must do this manually. %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery Example 2 This example is the same as Example 1, except fixed-size .aij journals are being employed at the time of the conversion. The first command in this example converts an Oracle Rdb release 7.1 database with fixed-size .aij files to an Oracle Rdb release 7.2 database. Because the Nocommit qualifier is specified in the first command, you can roll back the converted database (the Oracle Rdb release 7.2 database) to the original Oracle Rdb V7.1 database. After-image journaling is disabled while the database is being converted. After the database is converted, Oracle RMU activates the next fixed-size .aij file and enables after-image journaling. Note that .aij files are version specific. You should perform a full backup operation after a conversion because the old .aij files are incompatible with the newly converted database. In the second command, the converted database is rolled back to the original database. $RMU/CONVERT/CONFIRM/NOCOMMIT MF_PERSONNEL.RDB %RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00 Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of any associated .aij files [N]? Y %RMU-I-AIJ_DISABLED, after-image journaling is being disabled temporarily for the Convert operation %RMU-I-LOGCONVRT, database root converted to current structure level %RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully converted from version V7.1 to V7.2 %RMU-I-LOGMODSTR, activated after-image journal "AFTER2" %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery $RMU/CONVERT/ROLLBACK MF_PERSONNEL.RDB %RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00 Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of any associated .aij files [N]? Y %RMU-I-AIJ_DISABLED, after-image journaling is being disabled temporarily for the Convert operation %RMU-I-LOGCONVRT, database root converted to current structure level %RMU-I-CVTROLSUC, CONVERT rolled-back for DISK1:[TESTS]MF_PERSONNEL.RDB;1 to version V7.1 %RMU-I-CANTENAAIJ, The JOURNAL is now DISABLED. RMU CONVERT can not enable the JOURNAL for previous versions. You must do this manually. %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery Example 3 The following command converts all the databases in DISK1:[RICK] and its subdirectories and also the SPECIAL_DB database that is identified by its data dictionary path name. The Noconfirm qualifier is specified, so Oracle RMU does not request user input. The Nocommit qualifier is not specified, so the default qualifier, Commit, is used by default and the converted databases cannot be rolled back. $ RMU/CONVERT/NOCONFIRM DISK1:[RICK...]*.RDB,CDD$TOP.RICK.SPECIAL_DB - _$ /PATH Example 4 The following command converts an Oracle Rdb release 7.0 database to release 7.2. In addition, it reserves space in the database root file of the converted database for four .aij files. After- image journaling is not enabled at the time the Convert command is issued. $RMU/CONVERT/CONFIRM/RESERVE=(AIJ=4)/COMMIT MF_PERSONNEL %RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00 Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of any associated .aij files [N]? Y %RMU-I-LOGCONVRT, database root converted to current structure level %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery %RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully converted from version V7.0 to V7.2 Example 5 The following example shows how the contents of a batch file might look if you were to issue the RMU Convert command with the Confirm qualifier from a batch job. $ RMU/CONVERT/COMMIT/CONFIRM USER1:[COLLECT.V71DB]MF_PERSONNEL Y Y