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