Cleberz,
Segundo o manual da ORACLE, que pode ser consultado em
http://docs.oracle.com/cd/B10501_01/ser ... .htm#27573, ao se fazer truncate da partição, deve-se tomar alguns cuidados:
Selecionar tudo
Truncating Partitions
Use the ALTER TABLE ... TRUNCATE PARTITION statement to remove all rows from a table partition. Truncating a
partition is similar to dropping a partition, except that the partition is emptied of its data, but not physically dropped.
You cannot truncate an index partition. However, if there are local indexes defined for the table, the
ALTER TABLE TRUNCATE PARTITION statement truncates the matching partition in each local index.
Unless you specify UPDATE GLOBAL INDEXES (cannot be specified for index-organized tables), any
global indexes, or all partitions of partitioned global indexes, are marked UNUSABLE and must be rebuilt.
Resumindo, você pode executar o comando de
ALTER TABLE .. TRUNCATE
com a opção
UPDATE GLOBAL INDEXES
. Isso evitará que você precise fazer o comando de REUILD posterior. Entretanto, imagino que o comando de TRUNCATE demore para ser processado, pois ele estará em tempo real sincronizando os eventuais indices globais que existam.
Abraços,
Sergio Coutinho