Pode haver muitas razões:
- Carregamento do servidor (improvável porque o
SELECT
é rápido) - Triggers (veja aqui como listá-los para uma tabela ).
- Chaves estrangeiras (Lista de chaves estrangeiras e as tabelas que elas referenciam )
- Muitos dados em cada linha (
LOB
s, muitas colunas). - Alguém está bloqueando linhas na tabela que você deseja excluir (ou a tabela inteira). Veja isto postagem no blog como listar bloqueios . Esta discussão também pode ajudar.
Se as chaves estrangeiras forem o problema, a solução usual é adicionar índices na coluna estrangeira:para cada exclusão, o Oracle precisa verificar se isso violaria uma relação de chave estrangeira.