Example 1
This command loads the data from the RMS file, names.unl, into
the newly created RETIREES table of the mf_personnel database.
The record structure of RETIREES is in the file names.rrd. The
names.unl and names.rrd files were created by a previous RMU
Unload command. The unload operation unloaded data from a view
derived from a subset of columns in the EMPLOYEES table.
$ RMU/LOAD/RECORD_DEFINITION=FILE=NAMES.RRD -
_$ MF_PERSONNEL RETIREES NAMES.UNL
Example 2
This command restarts an aborted load operation that was loading
the newly created RETIREES table of the mf_personnel database
from the names.unl file. The columns being loaded are EMPLOYEE_
ID, LAST_NAME, and FIRST_NAME. The original load operation
had committed 25 records. Beginning with the 26th record, the
restarted load operation commits the transaction at every record
until it reaches the original point of failure.
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME) -
_$ /COMMIT_EVERY=1/SKIP=25 MF_PERSONNEL RETIREES NAMES.UNL
Example 3
This example loads a new table, PENSIONS, into the mf_personnel
database by using record definitions located in the data
dictionary.
This example assumes that you have first defined a temporary
view, TEMP_PENSIONS, combining appropriate columns of the
EMPLOYEES and SALARY_HISTORY tables. You must also create a
permanent table, PENSIONS, into which you will load the data.
Unload the TEMP_PENSIONS view by using the RMU Unload command
with the Record_Definition=File=name qualifier to create both
an .rrd file containing the column definitions and a data.unl
file containing the data from the TEMP_PENSIONS view. Load the
new record definitions from the pensions.rrd file into the data
dictionary by using the @ command at the CDO prompt. Then you
can load the data into the PENSIONS table of the mf_personnel
database by using the RMU Load command.
$ RMU/UNLOAD/RECORD_DEFINITION=FILE=PENSIONS.RRD MF_PERSONNEL -
_$ TEMP_PENSIONS DATA.UNL
$ DICTIONARY OPERATOR
Welcome to CDO V7.0
The CDD/Repository V7.0 User Interface
Type HELP for help
CDO> @PENSIONS.RRD
CDO> EXIT
$ RMU/LOAD/RECORD_DEFINITION=PATH=PENSIONS MF_PERSONNEL PENSIONS -
_$ DATA.UNL
Example 4
The following command loads the audit records for the mf_
personnel database from the security audit journal file into
the AUDIT_TABLE table in the mf_personnel database. Note that if
the AUDIT_TABLE table does not exist, the RMU Load command with
the Audit qualifier creates it with the columns shown in Columns
in a Database Table for Storing Security Audit Journal Records.
$ RMU/LOAD/AUDIT MF_PERSONNEL AUDIT_TABLE -
_$ SYS$MANAGER:SECURITY.AUDIT$JOURNAL
%RMU-I-DATRECREAD, 12858 data records read from input file.
%RMU-I-DATRECSTO, 27 data records stored.
Example 5
The following command loads the audit records for the mf_
personnel database from the security audit journal file into
the AUDIT_TABLE table into the audit_db database. Note that the
AUDIT_TABLE table is not created when the database is created.
In this case, the RMU Load command with the Audit=Database_
File qualifier creates it with the columns shown in Columns in
a Database Table for Storing Security Audit Journal Records.
$ RMU/LOAD/AUDIT=DATABASE_FILE=MF_PERSONNEL AUDIT_DB AUDIT_TABLE -
_$ SYS$MANAGER:SECURITY.AUDIT$JOURNAL
Example 6
This example loads a new table, COLLEGES, into the mf_personnel
database by using record definitions located in the data
dictionary. A commit operation occurs after every record is
stored. The Log_Commits qualifier prints a message after each
commit operation.
$ RMU/LOAD/RECORD_DEFINITION=FILE=COLLEGES.RRD /COMMIT_EVERY=1 -
_$ /LOG_COMMIT MF_PERSONNEL COLLEGES RMU.UNL
%RMU-I-DATRECSTO, 1 data records stored
%RMU-I-DATRECSTO, 2 data records stored
%RMU-I-DATRECSTO, 3 data records stored
%RMU-I-DATRECSTO, 4 data records stored
%RMU-I-DATRECSTO, 4 data records stored
$
Example 7
The following example shows how a date stored in the .unl file as
16-character collatable text can be converted to VMS DATE format
when loaded into the database by using the RMU Load command.
(The form of the .unl date is yyyymmddhhmmsscc, whereas the form
of the VMS DATE is dd-mmm-yyyy:hh:mm:ss.cc. In both cases, y is
the year, m is the month, d is the day, h is the hour, m is the
minute, s is the second, and c is hundredths of a second. However
in the .unl format, the month is expressed as an integer, whereas
in the VMS DATE format the month is expressed as a 3-character
string.)
The example assumes that the default SYS$LANGUAGE is ENGLISH.
SQL> --
SQL> -- Show the definition of the TEST table, in which the
SQL> -- COL1 column is the VMS DATE data type:
SQL> --
SQL> SHOW TABLE DATETEST;
Columns for table DATETEST:
Column Name Data Type Domain
----------- --------- ------
COL1 DATE VMS
.
.
.
$ !
$ ! Show the .unl file that will be loaded into the TEST table:
$ !
$ TYPE TEST.UNL
$ !
1991060712351212
$ !
$ ! Note that the .rrd file shows a data type of TEXT of 16
$ ! characters. These 16 characters are the number of characters
$ ! specified for the date in the test.unl file:
$ !
$ TYPE TEST.RRD
DEFINE FIELD COL1 DATATYPE IS text size is 16.
DEFINE RECORD TEST.
COL1 .
END TEST RECORD.
$ !
$ ! Load the data in test.unl into the DATETEST table:
$ !
$ RMU/LOAD/RMS=FILE=TEST.RRD TEST.RDB DATETEST TEST.UNL
%RMU-I-DATRECREAD, 1 data records read from input file.
%RMU-I-DATRECSTO, 1 data records stored.
$ !
$ SQL
SQL> ATTACH 'FILENAME TEST';
SQL> SELECT * FROM DATETEST;
COL1
7-JUN-1991 12:35:12.12
1 row selected
Example 8
The following example shows how a date stored in the .unl file
as 22-character collatable text can be converted to TIMESTAMP
format when loaded into the database by using the RMU Load
command. The correct format for the .unl TIMESTAMP value is yyyy-
mm-dd:hh:mm:ss.cc, where y,m,d,h,m,s,and c represent the same
elements of the date and time format as described in Example 7.
This example also shows the use of an exception file to trap data
that cannot be stored.
$ ! Create a column in the mf_personnel database with a
$ ! TIMESTAMP datatype:
$ SQL
SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
SQL> CREATE TABLE NEWTABLE (COL1 TIMESTAMP);
SQL> SHOW TABLE (COLUMN) NEWTABLE;
Information for table NEWTABLE
Columns for table NEWTABLE:
Column Name Data Type Domain
----------- --------- ------
COL1 TIMESTAMP(2)
SQL> COMMIT;
SQL> EXIT
$ !
$ ! Create a .unl file with the data you want to load. Note that
$ ! the second value is a valid TIMESTAMP specification, the first
$ ! value is not.
$ !
$ CREATE TEST.UNL
06-14-1991:12:14:14.14
1991-06-14:12:14:14.14
$ !
$ ! Create an .rrd file that defines the TIMESTAMP field
$ ! as a TEXT field:
$ !
$ CREATE TEST.RRD
DEFINE FIELD COL1 DATATYPE IS TEXT SIZE 22.
DEFINE RECORD NEWTABLE.
COL1.
END NEWTABLE RECORD.
$ !
$ ! Attempt to load the data in the .unl file. Oracle RMU returns an
$ ! error on the first data record because the date was incorrectly
$ ! specified. The first record is written to the exception file,
$ ! BAD.DAT.
$ !
$ RMU/LOAD/RMS=(FILE=TEST.RRD,EXCEPT=BAD.DAT) MF_PERSONNEL.RDB -
_$ NEWTABLE TEST.UNL
%RMU-I-LOADERR, Error loading row 1.
%RDB-E-CONVERT_ERROR, invalid or unsupported data conversion
-COSI-F-IVTIME, invalid date or time
%RMU-I-DATRECREAD, 2 data records read from input file.
%RMU-I-DATRECSTO, 1 data records stored.
%RMU-I-DATRECREJ, 1 data records rejected.
$ !
$ ! Type BAD.DAT to view the incorrect data record
$ !
$ TYPE BAD.DAT
06-14-1991:12:14:14.14
$ !
$ ! Fetch the data record that stored successfully.
$ !
$ SQL
SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
SQL> SELECT * FROM NEWTABLE;
COL1
1991-06-14:12:14:14.14
1 rows selected
Example 9
Using the RMU Load command, you can load a table in a database by
placing the fields in a different order in the database than they
were in the input file.
The jobs.unl file contains the following:
000001000000000190001Rdb Demonstrator DEMO
The jobs.rrd file contains the following:
DEFINE FIELD J_CODE DATATYPE IS TEXT SIZE IS 4.
DEFINE FIELD WAGE_CL DATATYPE IS TEXT SIZE IS 1.
DEFINE FIELD J_TITLE DATATYPE IS TEXT SIZE IS 20.
DEFINE FIELD MIN_SAL DATATYPE IS TEXT SIZE 10.
DEFINE FIELD MAX_SAL DATATYPE IS TEXT SIZE 10.
DEFINE RECORD JOBS.
MIN_SAL.
MAX_SAL.
WAGE_CL.
J_TITLE.
J_CODE.
END JOBS RECORD.
The JOBS table has the following structure:
Columns for table JOBS:
Column Name Data Type Domain
----------- --------- ------
JOB_CODE CHAR(4) JOB_CODE_DOM
WAGE_CLASS CHAR(1) WAGE_CLASS_DOM
JOB_TITLE CHAR(20) JOB_TITLE_DOM
MINIMUM_SALARY INTEGER(2) SALARY_DOM
MAXIMUM_SALARY INTEGER(2) SALARY_DOM
Notice that:
o The ordering of the columns is different for the JOBS table in
the database and in the input RMS file.
o The names in the .rrd file are also different from the names
in the database.
o The data types of the salary fields are different (Oracle Rdb
will do the conversion).
To load the RMS file correctly, you must use the following
command:
$ RMU/LOAD MF_PERSONNEL JOBS JOBS/RMS=FILE=JOBS -
_$ /FIELDS=(MINIMUM_SALARY,MAXIMUM_SALARY,WAGE_CLASS,JOB_TITLE, -
_$ JOB_CODE)
Notice that the Fields qualifier uses the names of the columns in
the JOBS table (not the field names in the .rrd file), but in the
order of the RMS file.
The names in the .rrd file are immaterial. The purpose of the
Fields qualifier is to load the first field in the RMS file into
the MINIMUM_SALARY column of the JOBS table, load the second
field in the RMS file into the MAXIMUM_SALARY column of the JOBS
table, and so forth.
The results:
SQL> SELECT * FROM JOBS WHERE JOB_CODE = 'DEMO';
JOB_CODE WAGE_CLASS JOB_TITLE MINIMUM_SALARY MAXIMUM_SALARY
DEMO 1 Rdb Demonstrator $10,000.00 $19,000.00
Example 10
The following example shows the sequence of steps used to sort
a file into placement order by using the Place qualifier and the
Place_Only option and then to load the file by using the Commit_
Every qualifier:
$ RMU/LOAD/PLACE -
_$ /RECORD_DEFINITION=(FILE=NAMES.RRD,PLACE_ONLY=PLACED_NAMES) -
_$ MF_PERSONNEL EMPLOYEES UNLOADED_NAMES.UNL
$ RMU/LOAD/RECORD_DEFINITION=(FILE=NAMES.RRD) -
_$ /COMMIT_EVERY=30 MF_PERSONNEL -
_$ EMPLOYEES PLACED_NAMES.UNL
%RMU-I-DATRECREAD, 100 data records read from input file.
%RMU-I-DATRECSTO, 100 data records stored.
Example 11
The following example requests that statistics be displayed
at a regular interval of every minute. It loads the data from
the RMS file, names.unl, into the EMPLOYEES table of the mf_
personnel database. The record structure of EMPLOYEES is in the
file names.rrd. The names.rrd file was created by a previous RMU
Unload command that unloaded data from a subset of columns in the
EMPLOYEES table.
$ RMU/LOAD/STATISTICS=(INTERVAL=60) -
_$ /RECORD_DEFINITION=(FILE=NAMES) -
_$ /FIELDS=(EMPLOYEE_ID, LAST_NAME) -
_$ MF_PERSONNEL EMPLOYEES NAMES.UNL
Example 12
The following example uses the Exception_File option to the
Record_Definition qualifier to tell Oracle RMU the name of
the file to hold the exception records. Oracle RMU returns
informational messages to alert you to any data records rejected.
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME) -
_$ /RECORD_DEFINITION=(FILE=TEXT_NAMES,EXCEPTION_FILE=FILE.UNL) -
_$ MF_PERSONNEL EMPLOYEES NAMES.UNL
%RMU-I-LOADERR, Error loading row 1.
%RDB-E-NO_DUP, index field value already exists; duplicates not
allowed for EMPLOYEES_HASH
%RMU-I-LOADERR, Error loading row 17.
%RDB-E-NO_DUP, index field value already exists; duplicates not
allowed for EMPLOYEES_HASH
%RMU-I-LOADERR, Error loading row 33.
%RDB-E-NO_DUP, index field value already exists; duplicates not
allowed for EMPLOYEES_HASH
%RMU-I-LOADERR, Error loading row 155.
%RDB-E-NO_DUP, index field value already exists; duplicates not
allowed for EMPLOYEES_HASH
%RMU-I-DATRECREAD, 200 data records read from input file.
%RMU-I-DATRECSTO, 196 data records stored.
%RMU-I-DATRECREJ, 4 data records rejected.
Example 13
The following is an example of the format in which you can
provide input data to the RMU Load command when you use the
Format=Delimited_Text option with the Record_Definition
qualifier. This is followed by the RMU Load command you use to
load this data.
"99997","ABUSHAKRA","CAROLINE","S","5 CIRCLE STREET","BOX 506",
"CHELMSFORD", "MA", "02184", "1960061400000000"#
"99996","BRADFORD","LEO","M","4 PLACE STREET","BOX 555",
"NASHUA","NH", "03060", "1949051800000000"#
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, -
_$ MIDDLE_INITIAL, ADDRESS_DATA_1, ADDRESS_DATA_2, -
_$ CITY, STATE, POSTAL_CODE, BIRTHDAY) -
_$ /RECORD_DEFINITION=(FILE= NAMES.RRD, -
_$ FORMAT=DELIMITED_TEXT, -
_$ TERMINATOR="#" ) -
_$ MF_PERSONNEL EMPLOYEES NAMES.UNL
%RMU-I-DATRECREAD, 2 data records read from input file.
%RMU-I-DATRECSTO, 2 data records stored.
Example 14
The following is an example of the format in which you must
provide input data to the RMU Load command when you specify the
Format=Text option with the Record_Definition qualifier. This is
followed by the RMU Load command you use to load this data.
09166Watts Leora F
09190Margolis David M
09187McDonald Lois F
$ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, SEX) -
_$ /RECORD_DEFINITION=(FILE=TEXT_NAMES.RRD, FORMAT=TEXT) -
_$ MF_PERSONNEL EMPLOYEES NAMES.UNL
%RMU-I-DATRECREAD, 3 data records read from input file.
%RMU-I-DATRECSTO, 3 data records stored.