Oracle 11g を使用しています。
インデックスの再構築を使用して、テーブルへの同時読み込みのシナリオを実現しようとしています。このシナリオを実現しようとしているフローはほとんどありません。1. ソースからデータをロードする、2. データを変換する、3. DWH テーブルのインデックスをオフにする、4. データを DWH にロードする、5. DWH テーブルのインデックスを再構築する。パフォーマンスを向上させるために、インデックスをオフにして再構築します。一方のフローがインデックスを再構築しているときに、もう一方がオフにしようとする状況があります。私がする必要があるのは、ポイント 2 とポイント 3 の間にロックを配置することです。これはポイント 5 の後に解放されます。
ロックはトランザクションの終わりまでに解放されるため、 Oracle 組み込みLOCK TABLE
メカニズムは十分ではありません。したがって、すべてのALTER
ステートメントがロックを解放します。
問題は、問題をどのように解決するかです。