Oracle パーティション削除(バルク)の効率的な方法

Oracleで、テーブルパーティションを一括削除するためには、以下の手順を使用することができます。

  1. 表のパーティションをループして削除するストアドプロシージャを作成してください。以下はストアドプロシージャの例です。
CREATE OR REPLACE PROCEDURE delete_partitions 
IS
BEGIN
  FOR part IN (SELECT partition_name FROM user_tab_partitions WHERE table_name = 'YOUR_TABLE_NAME') 
  LOOP
    EXECUTE IMMEDIATE 'ALTER TABLE YOUR_TABLE_NAME DROP PARTITION ' || part.partition_name;
  END LOOP;
END;
  1. ストアドプロシージャを呼び出して、一括削除操作を実行します。
BEGIN
  delete_partitions;
END;

上記の操作を実行する前に、データのバックアップを取ることをお勧めします。また、実際の状況に応じてテーブル名やパーティション名を調整してください。

bannerAds