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.