ORA-12805:requête parallèle serveur est décédé de façon inattendue

J'ai un PL/SQL script comme celui-ci...

DECLARE
      CURSOR curs_delete
      IS      
         SELECT cus_num
          FROM dob.cust_table GROUP BY cust_num HAVING COUNT(*)>1;                
      TYPE row_cust_num IS TABLE OF dob.cust_table.cust_num%TYPE;      
      col_cust_num row_cust_num;
   BEGIN
      OPEN curs_delete;
      LOOP
         FETCH curs_delete
         BULK COLLECT INTO col_cust_num LIMIT 10000;
         EXIT WHEN col_cust_num.EXISTS (1) = FALSE;
         FORALL i IN 1 .. col_cust_num.LAST
            DELETE FROM cust_table 
             WHERE cust_num = col_cust_num (i);
             COMMIT;
      END LOOP;
      CLOSE curs_delete;
END;

Cette requête renvoie ORA-12805:parallel query server died unexpectedly erreur. Je ne suis pas sûr pourquoi elle est là. La requête select dans curseur retourné autour de 415 dossiers quand j'ai eu cette erreur.

Quiconque de comprendre pourquoi cette erreur arrive?

  • Trop vague et sujette à mettre comme une réponse, mais de toute façon: s'engager au sein d'un curseur de la boucle peuvent invalider le curseur. Essayez de prendre le COMMIT de l'intérieur de la boucle et voir si cela améliore le résultat.
InformationsquelleAutor Vivek | 2012-09-05