Я не знаю ни одной утилиты или функции оракула для этого.Вы можете найти информацию, необходимую для написания собственной программы, для этого в представлениях DBA_TAB_PARTITIONS или ALL_TAB_PARTITIONS, аналогично следующему:
SELECT TABLE_OWNER, TABLE_NAME, PARTITION_NAME, HIGH_VALUE
FROM SYS.DBA_TAB_PARTITIONS
WHERE TABLE_OWNER = strSchema AND
TABLE_NAME = strTable
, где strSchema и strTable - это интересующая вас схема и таблица. HIGH_VALUE - это поле LONG, которое содержит код для вызова функции TO_DATE (при условии, что ваша таблица разбита на поле даты);вам нужно присвоить HIGH_VALUE для поля LONG, затем назначить LONG для VARCHAR2, чтобы получить значение, которым можно манипулировать, таким образом, как:
lHigh_value LONG;
strDate_clause VARCHAR2(100);
lHigh_value := aRow.HIGH_VALUE;
strDate_clause := lHigh_value;
Тогда вам просто нужноизвлечь соответствующие поля из предложения DATE, чтобы определить, какие разделы вам нужно удалить.
Делитесь и наслаждайтесь.