Você tem que trocar a instrução TRUNCATE por instruções DELETE, mais lentas e registradas, mas essa é a maneira de fazer isso quando as restrições estão em vigor.
DELETE mytablename;
Ou isso ou você pode encontrar as chaves estrangeiras que estão referenciando a tabela em questão e desativá-las temporariamente.
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';
Onde
pk-of-table
é o nome da chave primária da tabela que está sendo truncada Execute a saída da consulta acima. Feito isso, lembre-se de habilitá-los novamente, basta alterar
DISABLE CONSTRAINT
em ENABLE CONSTRAINT