o To use the RMU Unload command for a database, you must have
the RMU$UNLOAD privilege in the root file access control
list (ACL) for the database or the OpenVMS SYSPRV or BYPASS
privilege. You must also have the SQL SELECT privilege to the
table or view being unloaded.
o For tutorial information on the RMU Unload command, refer to
the Oracle Rdb Guide to Database Design and Definition.
o Detected asynchronous prefetch should be enabled to achieve
the best performance of this command. Beginning with Oracle
Rdb V7.0, by default, detected asynchronous prefetch is
enabled. You can determine the setting for your database by
issuing the RMU Dump command with the Header qualifier.
If detected asynchronous prefetch is disabled, and you do not
want to enable it for the database, you can enable it for your
Oracle RMU operations by defining the following logicals at
the process level:
$ DEFINE RDM$BIND_DAPF_ENABLED 1
$ DEFINE RDM$BIND_DAPF_DEPTH_BUF_CNT P1
P1 is a value between 10 and 20 percent of the user buffer
count.
o You can unload a table from a database structured under
one version of Oracle Rdb and load it into the same table
of a database structured under another version of Oracle
Rdb. For example, if you unload the EMPLOYEES table from
a mf_personnel database created under Oracle Rdb V6.0, you
can load the generated .unl file into an Oracle Rdb V7.0
database. Likewise, if you unload the EMPLOYEES table from
a mf_personnel database created under Oracle Rdb V7.0, you
can load the generated .unl file into an Oracle Rdb V6.1
database. This is true even for specially formatted binary
files (created with the RMU Unload command without the Record_
Definition qualifier). The earliest version into which you can
load a .unl file from another version is Oracle Rdb V6.0.
o The Fields qualifier can be used with indirect file
references. When you use the Fields qualifier with an indirect
file reference in the field list, the referenced file is
written to SYS$OUTPUT if you have used the DCL SET VERIFY
command. See the Indirect-Command-Files help entry for more
information.
o To view the contents of the specially structured .unl file
created by the RMU Unload command, use the RMU Dump Export
command.
o To preserve the null indicator in a load or unload operation,
use the Null option with the Record_Definition qualifier.
Using the Record_Definition qualifier without the Null option
replaces all null values with zeros; this can cause unexpected
results with computed-by columns.
o Oracle RMU does not allow you to unload a system table.
o The RMU Unload command recognizes character set information.
When you unload a table, RMU Unload transfers information
about the character set to the record definition file.
o When it creates the record definition file, the RMU Unload
command preserves any lowercase characters in table and column
names by allowing delimited identifiers. Delimited identifiers
are user-supplied names enclosed within quotation marks ("").
By default, RMU Unload changes any table or column (field)
names that you specify to uppercase. To preserve lowercase
characters, use delimited identifiers. That is, enclose the
names within quotation marks. In the following example, RMU
Unload preserves the uppercase and lowercase characters in
"Last_Name" and "Employees":
$ RMU/UNLOAD/FIELDS=("Last_name",FIRST_NAME) TEST "Employees" -
_$ TEST.UNL
NOTE
The data dictionary does not preserve the distinction
between uppercase and lowercase identifiers. If you use
delimited identifiers, you must be careful to ensure that
the record definition does not include objects with names
that are duplicates except for the case. For example,
the data dictionary considers the delimited identifiers
"Employee_ID" and "EMPLOYEE_ID" to be the same name.
o Oracle RMU does not support the multischema naming convention
and returns an error if you specify one. For example:
$ RMU/UNLOAD CORPORATE_DATA ADMINISTRATION.PERSONNEL.EMPLOYEES -
_$ OUTPUT.UNL
%RMU-E-OUTFILDEL, Fatal error, output file deleted
-RMU-F-RELNOTFND, Relation (ADMINISTRATION.PERSONNEL.EMPLOYEES) not found
When using a multischema database, you must specify the SQL
stored name for the database object.
For example, to find the stored name that corresponds to the
ADMINISTRATION.PERSONNEL.EMPLOYEES table in the corporate_data
database, issue an SQL SHOW TABLE command, as follows:
SQL> SHOW TABLE ADMINISTRATION.PERSONNEL.EMPLOYEES
Information for table ADMINISTRATION.PERSONNEL.EMPLOYEES
Stored name is EMPLOYEES
.
.
.
Then to unload the table, issue the following RMU Unload
command:
$ RMU/UNLOAD CORPORATE_DATA EMPLOYEES OUTPUT.UNL
o If the Transaction_Type qualifier is omitted, a Read_Only
transaction is started against the database. This behavior is
provided for backward compatibility with prior Rdb releases.
If the Transaction_Type qualifier is specified without a
transaction mode, the default value Automatic is used.
o If the database has snapshots disabled, Oracle Rdb defaults to
a READ WRITE ISOLATION LEVEL SERIALIZABLE transaction. Locking
may be reduced by specifying Transaction_Type=(Automatic), or
Transaction_Type=(Shared,Isolation_Level=Read_Committed).
o If you use a synonym to represent a table or a view, the RMU
Unload command translates the synonym to the base object
and processes the data as though the base table or view had
been named. This implies that the unload interchange files
(.UNL) or record definition files (.RRD) that contain the
table metadata will name the base table or view and not use
the synonym name. If the metadata is used against a different
database, you may need to use the Match_Name qualifier to
override this name during the RMU load process.