状況があります!
10 個のモジュールは、外部ファイルからのデータのロードを含む処理にそれぞれ約 2 時間近くかかります。20 時間の実行は無理であり、コード化されているため、順次実行する必要があります。各モジュールには同じスクリプト セットがありますが、異なるデータ セットを扱います。
コンポーネント:
a) テーブル: TempTableA、FinalTableA、TempTableB、FinalTableB; これらの各テーブルは、モジュール キーによって一意に表されます。モジュール キーのデフォルトは「-99」です。 b) 外部ファイル (FileA、FileB) にはモジュール キーがなく、データのみがあります。c) スクリプトは、そのモジュールのモジュール キーを認識します。d) .ctr ファイル
各モジュール内のコードには、多かれ少なかれ次の手順があります。
テーブル TempTableA の切り捨て sqlldr $USER/$PASSWRD@$PRD_SID control=ctr/fileA.ctr log=log/fileA.log bad=log/fileA.bad skip=1 rows=10000 silent=FEEDBACK
update table TempTableA set moduleKey = $moduleKey where moduleKey = '-99' insert into FinalTableA as select * from TempTableA;
これらの一時テーブルが切り捨てられているため、これらのモジュールを並行して実行できません。
より良い解決策はありますか?
私は外部テーブルを認識していますが、これは外部テーブルの使用に関するものではなく、共有一時テーブルの使用の問題を回避する方法に関するものです。また、これは並列ロードの実行についてではないかもしれません。