Lors de l'exécution d'une requête hiérarchique sur une vue qui utilise la clause CONNECT BY... START WITH, l'erreur suivante se produit :
Dans SQL*Plus :
ORA-03113: end-of-file on communication channel
Dans l'Alert log :
ORA-07445: exception encountered: core dump [qknLazOpn()+4] [SIGSEGV] [Address not mapped to object] [0x000000000] [] []
Cette erreur est un Bug documenté chez Oracle (bug #5234379)
Voici un cas test pour reproduire le problème:
CREATE TABLE FOO (ID NUMBER, PARENT_ID NUMBER);
CREATE VIEW BAR (ID, PARENT_ID) AS
SELECT ID, PARENT_ID
FROM FOO
WHERE EXISTS (
SELECT 'x' FROM DUAL
UNION ALL
SELECT 'x' FROM DUAL);
SELECT ID, PARENT_ID
FROM BAR
CONNECT BY PARENT_ID = PRIOR ID
START WITH PARENT_ID = 0;
Ce bug n'est pas corrigé avec le Patchset 10.2.0.3.0. Par contre, il existe une alternative (workaround) :
Alter system set "_optimizer_connect_by_cost_based" = false scope=both;
Aucun commentaire:
Publier un commentaire