ロード・プラン・ファイルは、List_Plan修飾子を指定してRMU Loadコマンドを実行すると、作成されます。プラン・ファイルの作成、プラン・ファイルの形式およびParallel Load処理で返される情報メッセージの詳細は、第1.28節を参照してください。
plan-file-spec
ロード・プラン・ファイルのファイル指定。デフォルトのファイル拡張子は.planです。
Execute
Noexecute
Execute修飾子では、プラン・ファイルを実行するよう指定します。Noexecute修飾子では、プラン・ファイルは実行しませんが、プラン・ファイルの内容について妥当性チェックが行われます。妥当性チェックでは、指定した表が指定したデータベースにあるか、.rrdファイル(指定した場合)が表と一致するかなどを確認します。妥当性チェックでは、プロセスとグローバル・ページ割当て制限が十分かなどは確認されません。
デフォルトでは、RMU Load Planコマンドが発行されると、データがロードされます。
List_Plan=output-file
Oracle RMUで新規プラン・ファイルを生成し、指定した出力ファイルに書き込むよう指定します。この新規プラン・ファイルは、コマンドラインで指定したプラン・ファイル(元のプラン・ファイル)と同一ですが、次の例外があります。
- 元のプラン・ファイルにあるコメントは、新規プラン・ファイルに出力されません。
- 元のプラン・ファイルで指定されているエグゼキュータの数が、ロードされる表に含まれる記憶領域の数より多い場合、新規プラン・ファイルでは、記憶領域の数に合うようエグゼキュータの数が減らされます。
- データベースに対してRMU Load Planコマンドを使用するには、データベースのルート・ファイル・アクセス制御リスト(ACL)にRMU$LOAD権限を持っているか、OpenVMSのSYSPRVまたはBYPASS権限を持っている必要があります。使用するデータベース表にアクセスする権限も必要です。
- OpenVMSのDETACH権限を持っている場合、ロード・プランの実行時、エグゼキュータがデタッチ・プロセスとして作成されます。OpenVMSのDETACH権限を持っていない場合、エグゼキュータはプロセスのサブプロセスとして作成されます。
例1次の例では、次の点を示します。
- 最初のOracle RMUコマンドでパラレル・ロード・プラン・ファイルを作成します。コマンドを発行する目的はプラン・ファイルの作成で、データのロードではないため、RMU Loadコマンドは実行されません。コマンドラインで4を指定したにもかかわらず、作成したロード・プランに含まれるエグゼキュータが3個であることに注意してください。これは、EMPLOYEESにある記憶領域が3つのみのためです。
- 最初のOracle RMUコマンドで生成したロード・プラン・ファイルが表示されます。
- ロード・プラン・ファイルを編集していくつかのパラメータを変更し、エグゼキュータの名前を各エグゼキュータでロードに使用する記憶領域を表す名前に変更します。
- 編集されたロード・プラン・ファイルが実行されます。
$ 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
次は、前述の例で示すプラン・ファイルを編集したものです。ファイルは次のように編集されています。
- ファイルが編集されたことを示すコメントが追加されています。
- Row_Count値が50から60に変更されています。
- 各エグゼキュータの名前が、エグゼキュータでロードに使用する記憶領域を反映するよう変更されています。
これによって、ロード時にエラーが起きた場合、レコードが拒否された記憶領域を判断しやすくなります。また、レコードが拒否されたときにロードを行っていたエグゼキュータと、特定のエグゼキュータに対応するRdbエラーを判断しやすくなります。- 各例外ファイルのディレクトリ名とファイル名が変更され、"Exception_File"の前にあったコメント文字が削除されています。
- .rujファイルのディレクトリが追加され、"RUJ Directory"の前にあったコメント文字が削除されています。
! 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.