Pessoal,
Estou montando esse select dinamico para remover registros de várias tabelas, seguindo uma determina regra, em alguns casos serão removidos milhões de registros.
Para não estourar o segmento de undo eu tinha adotado a solução do DBMS_SQL, onde eu pegava o rowid e deleteva um a um, com commit a cada 500, mas estava demorando um pouco, então eu alterei para usar o “execute immediate”, fazendo um loop com delete “where rownum < 20000" e commit a cada delete, e sai do loop quando não deletar nada. A principio funciona bem, mas depois de algum tempo esta estourando a quantidade de cursores abertos (ORA-01000: maximum open cursors exceeded), já aumentei a qquantidade de cursores p/ 500, oq considero um valor alto, mas continua estourando, acho que se ficar aumentando não é a solução, alguém sabe como faço para 'fechar' estes cursores?
Obrigado,
Everson