Oracle パーティション削除(バルク)の効率的な方法
Oracleで、テーブルパーティションを一括削除するためには、以下の手順を使用することができます。
- 表のパーティションをループして削除するストアドプロシージャを作成してください。以下はストアドプロシージャの例です。
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;
- ストアドプロシージャを呼び出して、一括削除操作を実行します。
BEGIN
delete_partitions;
END;
上記の操作を実行する前に、データのバックアップを取ることをお勧めします。また、実際の状況に応じてテーブル名やパーティション名を調整してください。