Executes a load plan file previously created with the RMU Load
command (or created manually by the user).
1 – Description
A load plan file is created when you execute an RMU Load
command with the List_Plan qualifier. See Load Database for
details on creating a plan file, the format of a plan file, and
understanding the informational messages returned by a Parallel
Load operation.
2 – Format
(B)0[mRMU/Load/Plan plan-file
[4mCommand[m [4mQualifiers[m x [4mDefaults[m
x
/[No]Execute x Execute
/List_Plan=output-file x None
x
3 – Parameters
3.1 – plan-file-spec
The file specification for the load plan file. The default file
extension is .plan.
4 – Command Qualifiers
4.1 – Execute
Execute
Noexecute
The Execute qualifier specifies that the plan file is to be
executed. The Noexecute qualifier specifies that the plan file
should not be executed, but rather that a validity check be
performed on the contents of the plan file.
The validity check determines such things as whether the
specified table is in the specified database, the .rrd file (if
specified) matches the table, and so on. The validity check does
not determine such things as whether your process and global page
quotas are sufficient.
By default, data is loaded when the RMU Load Plan command is
issued.
4.2 – List Plan
List_Plan=output-file
Specifies that Oracle RMU should generate a new plan file and
write it to the specified output file. This new plan file is
identical to the plan file you specified on the command line (the
"original" plan file) with the following exceptions:
o Any comments that appear in the original plan file will not
appear in the new plan file.
o If the number of executors specified in the original plan
file exceeds the number of storage areas that the table being
loaded contains, the new plan file will reduce the number of
executors to match the number of storage areas.
5 – Usage Notes
o To use the RMU Load Plan 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. Privileges for accessing the database tables
involved are also required.
o When the load plan is executed, executors are created as
detached processes if you have the OpenVMS DETACH privilege.
If you do not have the OpenVMS DETACH privilege, executors are
created as subprocesses of your process.
6 – Examples
Example 1
The following example demonstrates the following:
1. The first Oracle RMU command creates a parallel load plan
file. The RMU Load command is not executed because the point
of issuing the command is to create the plan file, not to
load data. Notice that the created load plan has only three
executors, even though four were specified on the command
line. This is because EMPLOYEES has only three storage areas.
2. The load plan file generated by the first Oracle RMU command
is displayed.
3. The load plan file is edited to change some parameters and to
rename the executors with names that describe the storage area
each executor is responsible for loading.
4. The edited version of the load plan file is executed.
$ RMU/LOAD/PARALLEL=(EXECUTOR_COUNT=4, BUFFER_COUNT=4)/NOEXECUTE -
_$ /RECORD_DEFINITION=(FILE=EMPLOYEES.RRD, FORMAT=DELIMITED) -
_$ /LIST_PLAN=EMPLOYEES.PLAN MF_PERSONNEL.RDB EMPLOYEES EMPLOYEES.UNL
%RMU-W-TOOMANYEXECS, 4 executors were requested, but only 3 executors
will be used.
$ !
$ TYPE EMPLOYEES.PLAN
! Plan created on 20-JUL-1995 by RMU/LOAD.
Plan Name = LOAD_PLAN
Plan Type = LOAD
Plan Parameters:
Database Root File = MF_PERSONNEL.RDB
Table Name = EMPLOYEES
Input File = EMPLOYEES.UNL
! Fields = <all>
Transaction_Type = PROTECTED
! Buffers = <default>
Row_Count = 50
! Skip = <none>
NoLog_Commits
NoCorresponding
NoDefer_Index_Updates
Constraints
Parallel
NoPlace
! Statistics = <none>
NoTrigger_Relations
Record_Definition_File = EMPLOYEES.RRD
Format = Delimited_Text
Prefix = """"
Suffix = """"
NoNull
Separator = ","
End Of Line Terminator
End Plan Parameters
Executor Parameters:
Executor Name = EXECUTOR_1
! Place_Only = <none>
! Exception_File = <none>
! RUJ Directory = <default>
Communication Buffers = 4
End Executor Parameters
Executor Parameters:
Executor Name = EXECUTOR_2
! Place_Only = <none>
! Exception_File = <none>
! RUJ Directory = <default>
Communication Buffers = 4
End Executor Parameters
Executor Parameters:
Executor Name = EXECUTOR_3
! Place_Only = <none>
! Exception_File = <none>
! RUJ Directory = <default>
Communication Buffers = 4
End Executor Parameters
The following is an edited version of the plan file presented in
the previous example. The file has been edited as follows:
o Comments have been added to indicate that the file has been
edited.
o The Row_Count value has been changed from 50 to 60.
o Each executor name has been changed to reflect the storage
area the executor is responsible for loading.
This makes it easier to determine the storage area from which
a record was rejected if an error occurs during loading. In
addition, it makes it easier to determine, when records are
rejected, which executor was attempting to load it and which
Rdb error corresponds to a particular executor.
o The directory and file name for each exception file has been
changed and the comment character preceding "Exception_File"
has been removed.
o Directories for the .ruj files have been added and the comment
character preceding "RUJ Directory" has been removed.
! Plan created on 20-JUL-1995 by RMU/LOAD.
! Edited on 21-JUL-1995 by John Stuart
Plan Name = LOAD_PLAN
Plan Type = LOAD
Plan Parameters:
Database Root File = MF_PERSONNEL.RDB
Table Name = EMPLOYEES
Input File = EMPLOYEES.UNL
! Fields = <all>
Transaction_Type = PROTECTED
! Buffers = <default>
Row_Count = 20
! Skip = <none>
NoLog_Commits
NoCorresponding
NoDefer_Index_Updates
Constraints
Parallel
NoPlace
! Statistics = <none>
NoTrigger_Relations
Record_Definition_File = EMPLOYEES.RRD
Format = Delimited_Text
Prefix = """"
Suffix = """"
NoNull
Separator = ","
End Of Line Terminator
End Plan Parameters
Executor Parameters:
Executor Name = EMPIDS_LOW_EXEC
! Place_Only = <none>
Exception_File = DISK1:[EXCEPTIONS]EMPIDS_LOW.EXC
RUJ Directory = DISK1:[RUJ]EMPIDS_LOW.RUJ
Communication Buffers = 4
End Executor Parameters
Executor Parameters:
Executor Name = EMPIDS_MID_EXEC
! Place_Only = <none>
Exception_File = DISK2:[EXCEPTIONS]EMPIDS_MID.EXC
RUJ Directory = DISK2:[RUJ]EMPIDS_MID.RUJ
Communication Buffers = 4
End Executor Parameters
Executor Parameters:
Executor Name = EMPIDS_OVER_EXEC
! Place_Only = <none>
Exception_File = DISK3:[EXCEPTIONS]EMPIDS_LOW.EXC
RUJ Directory = DISK3:[RUJ]EMPIDS_LOW.RUJ
Communication Buffers = 4
End Executor Parameters
$ !
$ ! Execute the plan file.
$ ! Each executor is assigned the storage area or areas and
$ ! the pid (process ID) for each executor is displayed.
$ ! Notice that Oracle RMU notifies you if an error occurs when
$ ! an executor attempts to load a row, and then lists the Rdb error
$ ! message. Sometimes you receive two or more Oracle RMU
$ ! messages in a row and then the associated Oracle Rdb message. You
$ ! can match the Oracle RMU message to the Oracle Rdb message by
$ ! matching the executor name prefixes to the messages.
$ !
$ RMU/LOAD/PLAN EMPLOYEES.PLAN
%RMU-I-EXECUTORMAP, Executor EMPIDS_LOW_EXEC (pid: 3140A4CC) will
load storage area EMPIDS_LOW.
%RMU-I-EXECUTORMAP, Executor EMPIDS_MID_EXEC (pid: 314086CD) will
load storage area EMPIDS_MID.
%RMU-I-EXECUTORMAP, Executor EMPIDS_OVER_EXEC (pid: 314098CE) will
load storage area EMPIDS_OVER.
EMPIDS_MID_EXEC: %RMU-I-LOADERR, Error loading row 4.
EMPIDS_LOW_EXEC: %RMU-I-LOADERR, Error loading row 1.
EMPIDS_MID_EXEC: %RDB-E-NO_DUP, index field value already exists;
duplicates not allowed for EMPLOYEES_HASH
EMPIDS_LOW_EXEC: %RDB-E-NO_DUP, index field value already exists;
duplicates not allowed for EMPLOYEES_HASH
%RMU-I-EXECSTAT0, Statistics for EMPIDS_LOW_EXEC:
%RMU-I-EXECSTAT1, Elapsed time: 00:00:51.69 CPU time: 4.51
%RMU-I-EXECSTAT2, Storing time: 00:00:32.33 Rows stored: 161
%RMU-I-EXECSTAT3, Commit time: 00:00:00.66 Direct I/O: 932
%RMU-I-EXECSTAT4, Idle time: 00:01:44.99 Early commits: 1
%RMU-I-EXECSTAT0, Statistics for EMPIDS_MID_EXEC:
%RMU-I-EXECSTAT1, Elapsed time: 00:01:06.47 CPU time: 4.32
%RMU-I-EXECSTAT2, Storing time: 00:00:38.80 Rows stored: 142
%RMU-I-EXECSTAT3, Commit time: 00:00:01.04 Direct I/O: 953
%RMU-I-EXECSTAT4, Idle time: 00:00:18.18 Early commits: 2
%RMU-I-EXECSTAT0, Statistics for EMPIDS_OVER_EXEC:
%RMU-I-EXECSTAT1, Elapsed time: 00:01:04.98 CPU time: 3.22
%RMU-I-EXECSTAT2, Storing time: 00:00:30.89 Rows stored: 100
%RMU-I-EXECSTAT3, Commit time: 00:00:00.90 Direct I/O: 510
%RMU-I-EXECSTAT4, Idle time: 00:00:26.65 Early commits: 1
%RMU-I-EXECSTAT5, Main process idle time: 00:00:58.11
%RMU-I-DATRECREAD, 495 data records read from input file.
%RMU-I-DATRECSTO, 403 data records stored.
%RMU-I-DATRECREJ, 92 data records rejected.