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.