o To use the RMU Load command for a database, you must have the
RMU$LOAD privilege in the root file access control list (ACL)
for the database or the OpenVMS SYSPRV or BYPASS privilege.
The appropriate Oracle Rdb privileges for accessing the
database tables involved are also required.
o To use the RMU Load command with the Audit qualifier, you must
have both of the following:
- The RMU$SECURITY privilege in the root file ACL for the
database whose security audit records are being loaded
- The RMU$LOAD privilege in the root file ACL for the
database into which these security audit records are being
loaded
If you do not have both of the privileges described in the
preceding list, you must have the OpenVMS SYSPRV or BYPASS
privilege.
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 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 following list provides information on parallel load
operations:
- Specify no more executors (with the Executor_Count option
to the Parallel qualifier) than storage areas defined for
the table you are loading.
- You cannot use a parallel load operation to load list data
(segmented string) records or security audit records. If
you specify a parallel load operation and attempt to load
list data or security audit records, Oracle RMU returns a
warning and performs a single-executor load operation.
- Oracle Corporation recommends that you specify a shared
mode transaction type or specify the Noconstraints
qualifier and drop triggers during a parallel load
operation; otherwise, constraints and triggers defined
on the table you are loading can cause lock conflicts among
the parallel load executors.
- If you are using parallel load and hashed indexes, do not
sort the data prior to loading it. Instead, use the Place
qualifier to the RMU Load command to sort the data as it is
loaded. (The Place qualifier is useful for hashed indexes,
not sorted.)
o The following list provides information on loading security
audit journals:
- Loading security audit journals into a database other than
that which is being audited
When you load the security audit journals recorded for one
database into another database, you specify the database
that is being audited as a parameter to the Audit=Database_
File qualifier, and you specify the database into which
these security audit records should be loaded with the
root-file-spec parameter to the Oracle RMU command.
For instance, the following example loads the security
audit journal records for the mf_personnel database into
the MFP_AUDIT table of the audit_db database. Note that
SECURITY_AUDIT is a logical name that points to the actual
security audit journal file.
$ RMU/LOAD/AUDIT=DATABASE_FILE=MF_PERSONNEL AUDIT_DB -
_$ MFP_AUDIT SECURITY_AUDIT
When you issue the preceding RMU Load command, the audit_
db database must exist. However, the RMU Load command
creates the MFP_AUDIT table in the audit_db database
and appropriately defines the columns for the MFP_AUDIT
database.
In other words, the following SQL statement satisfies the
minimum requirements for the audit_db database to be used
correctly by the preceding RMU Load command:
SQL> CREATE DATABASE FILENAME audit_db.rdb;
Note that there is no field in the audit record loaded by
Oracle RMU to indicate the source database for the records.
Therefore, it is not wise to mix auditing records from
different databases in the same table. Instead, auditing
information for different databases should be loaded into
separate tables.
- Security audit journal file name
The name of the security audit journal file depends on the
version of the operating system software you are running
and on the hardware platform, as follows:
* SYS$MANAGER:SECURITY.AUDIT$JOURNAL for OpenVMS Alpha
V6.1 and later and OpenVMS VAX V6.0 and later
* SYS$MANAGER:SECURITY_AUDIT.AUDIT$JOURNAL for OpenVMS
Alpha prior to V6.1 and OpenVMS VAX V5.5 and earlier.
- Loading security audit journals into the database being
audited
The Oracle Rdb table into which you load the security
audit journal records should be defined with the columns
shown in Columns in a Database Table for Storing Security
Audit Journal Records under the column marked Oracle Rdb
Column Name so that the audit journal records can be loaded
successfully into the table. If the table does not exist,
the RMU Load Audit command creates it with the columns
shown in Columns in a Database Table for Storing Security
Audit Journal Records under the column marked Oracle Rdb
Column Name. You can give the table any valid name.
- Columns in a Database Table for Storing Security Audit
Journal Records lists the column names created by the RMU
Load command with the Audit qualifier.
Table 12 Columns in a Database Table for Storing Security Audit
Journal Records
Oracle Rdb Column
Name SQL Data Type and Length
AUDIT$EVENT CHAR 16
AUDIT$SYSTEM_NAME CHAR 15
AUDIT$SYSTEM_ID CHAR 12
AUDIT$TIME_STAMP CHAR 48
AUDIT$PROCESS_ID CHAR 12
AUDIT$USER_NAME CHAR 12
AUDIT$TSN CHAR 25
AUDIT$OBJECT_NAME CHAR 255
AUDIT$OBJECT_TYPE CHAR 12
AUDIT$OPERATION CHAR 32
AUDIT$DESIRED_ CHAR 16
ACCESS
AUDIT$SUB_STATUS CHAR 32
AUDIT$FINAL_ CHAR 32
STATUS
AUDIT$RDB_PRIV CHAR 16
AUDIT$VMS_PRIV CHAR 16
AUDIT$GRANT_IDENT CHAR 192
AUDIT$NEW_ACE CHAR 192
AUDIT$OLD_ACE CHAR 192
AUDIT$RMU_COMMAND CHAR 512
o Dates stored in ASCII text format can be converted to the VMS
DATE data type format by the RMU Load command. See Example
7 in the Examples help entry under this command, which
demonstrates this conversion.
o To preserve the NULL indicator in a load or unload operation,
specify the Null option when you use the Record_Definition
qualifier. Using the Record_Definition qualifier without the
Null option causes the RMU Load command to replace all NULL
values with zeros. This can cause unexpected results with
computed-by columns.
o When the RMU Load command is issued for a closed database, the
command executes without other users being able to attach to
the database.
o The RMU Load command recognizes character set information.
When you load a table, the RMU Load command recognizes that
the correct size of a column is based on its character set.
For example, the RMU Load command recognizes that a column
defined as CHAR (10) CHARACTER SET KANJI occupies 20 octets.
o By default, the RMU Load command changes any table or column
names that you specify to uppercase. To preserve lowercase
characters, use delimited identifiers; that is, enclose the
names in quotation marks ("").
o If your database uses a character set other than the DEC
Multinational character set (MCS) for table and domain names,
or if you edit a record definition file to use names from such
a character set, the RMU Load command could fail and return
the error shown in the following example:
$ RMU/UNLOAD/RECORD_DEFINITION=FILE=STRINGS MIA -
"TAB_°¡°¢abcd°§ABCD°©°ª" -
STRINGS.UNL
%RMU-I-DATRECUNL, 4 data records unloaded
$ RMU LOAD/RECORD_DEFINITION=FILE=STRINGS MIA -
"TAB_°¡°¢abcd°§ABCD°©°ª" -
STRINGS.UNL
DEFINE FIELD DEC_MCS_CHAR DATATYPE IS TEXT SIZE IS 20.
DEFINE FIELD KANJI_CHAR DATATYPE IS TEXT SIZE IS 10 CHARACTERS -
CHARACTER SET IS KANJI.
DEFINE FIELD HANZI_CHAR DATATYPE IS TEXT SIZE IS 10 CHARACTERS -
CHARACTER SET IS HANZI.
DEFINE FIELD HANYU_CHAR DATATYPE IS TEXT SIZE IS 10 CHARACTERS -
CHARACTER SET IS HANYU.
.
.
.
DEFINE RECORD TAB_°¡°¢abcd°§ABCD°©°ª.
%RMU-F-RECDEFSYN, Syntax error in record definition file
DEFINE RECORD TAB_''°¡°¢ABCD°§ABCD°©°ª.
When this problem occurs, edit the record definition file and
modify the names so that they can be represented with the MCS
character set.
o Oracle RMU does not support the multischema naming convention
and returns an error if you specify one. For example:
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME) -
_$ /RECORD_DEFINITION=(FILE=TEXT_NAMES,EXCEPTION_FILE=FILE.UNL) -
_$ corporate_data ADMINISTRATION.PERSONNEL.EMPLOYEES EMP.UNL
%RDB-E-BAD_DPB_CONTENT, invalid database parameters in the database
parameter block (DPB)
%RMU-I-DATRECSTO, 0 data records stored
%RMU-I-DATRECREJ, 0 data records rejected.
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.
SQL> SHOW TABLE ADMINISTRATION.PERSONNEL.EMPLOYEES
Information for table ADMINISTRATION.PERSONNEL.EMPLOYEES
Stored name is EMPLOYEES
.
.
.
Then, to load the table, issue the following RMU Load command:
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME) -
_$ /RECORD_DEFINITION=(FILE=TEXT_NAMES,EXCEPTION_FILE=FILE.UNL) -
_$ CORPORATE_DATA EMPLOYEES MY_DATA.UNL
%RMU-I-DATRECSTO, 3 data records stored
%RMU-I-DATRECREJ, 0 data records rejected.
The Fields qualifier can be used with indirect file
references. When you use an indirect file reference in the
field list, the referenced file is written to SYS$OUTPUT if
the DCL SET VERIFY comand has been used. See the Indirect-
Command-Files help entry for more information.
o The Transaction_Type=Batch_Update qualifier cannot be used
with multiple executors (Executor_Count greater than 1).
o The RMU Load procedure supports the loading of tables that
reference system domains.
o If you use a synonym to represent a table or a view, the
RMU Load 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.