Oracle ORA-00600
J'ai instruction SQL SELECT qui retourne:
Error: ORA-00600: internal error code, arguments: [qerpfAllocateR], [], [], [], [], [], [], []
Si je étroite de mes résultats en ajoutant une condition dans la clause where, tout est ok.
Quelqu'un sait ce qui se passe?
EDIT:
select * from ( select tbl1.col1, ..., tbl1.points
from table1 tbl1, table2 tbl2
where tbl1.tbl2FK = tbl2.PK and
tbl2.col1 = someNumber and
tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')
order by tbl1.points desc ) s where rownum <= 3
EDIT2:
Ma DB admin propose une solution qui fonctionne:
select * from (select rank() over (order by tbl1.points desc) rank,
tbl1.col1, ..., tbl1.points
from table1 tbl1, table2 tbl2
where tbl1.tbl2FK = tbl2.PK and
tbl2.col1 = someNumber and
tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')) s
where s.rank <= 3
- Veuillez spécifier la version de base de données, plate-forme et le niveau de patch.
- Eu le même problème ici, mais trouvé une solution de contournement pour accomplir ce dont j'avais besoin. stackoverflow.com/questions/8923091/...
Vous devez vous connecter pour publier un commentaire.
Bonne chance avec le soutien de l'Oracle...
Sérieusement, chaque fois que j'ai frappé ce problème, du réaménagement de la requête un peu normalement. Peut-être que de bidouiller avec l'index un peu.
L'ORA-0600 d'erreur indique une erreur interne dans Oracle lui-même. Vous êtes plus susceptible de frapper un Oracle bug.
Si vous allez à http://metalink.oracle.com, vous pouvez chercher le exacte bug, si elle est connue, en collant des "arguments" et plein de trace de pile dans l'ORA-0600 outil de recherche. Voir metalink note 153788.1.
Si il y a un bug connu avec cette description, il est probable qu'il y a déjà un patch disponible pour vous à télécharger et à installer. Si ce n'est pas un bug connu, contactez le support.
Qu'est-ce que la requête complète?
http://www.orafaq.com/wiki/ORA-00600 suggère que vous devriez signaler l'erreur à oracle.
ORA-00600 fondamentalement signifie que vous avez le plantage du serveur oracle (pas l'exemple, le serveur de gestion de votre demande).
Il existe presque toujours un fichier de trace dans votre bdump emplacement. Cela ne sera pas beaucoup vous aider, mais sera très utile pour la prise en charge oracle.
Cela est généralement causé par un oracle bug, et de l'expérience, il n'y a pas beaucoup que vous pouvez faire, sauf élever un SR via metalink (c'est la solution recommandée par Oracle). Ils vont essayer de reproduire le problème avec un peu de chance, si c'est un bug, il finira par trouver son chemin dans un patch.
Dans l'immédiat si (par exemple, les jours, mois), la principale solution réaliste est de travailler autour d'elle.
Tout en augmentant le RP n'a pas vraiment faire beaucoup pour vous aider et peut être une expérience frustrante, sa en vaut la peine, car il peut sauver quelqu'un d'autre une fois le bug est corrigé.
Ces bugs sont généralement liées à l'optimiseur. Je pense que même le plus petit changement dans la requête, comme le passage de l'ordre de table1 et table2 dans la clause from pourraient forcer l'optimiseur de choisir un plan qui ne sera pas rencontrer cette erreur.
J'ai vu des erreurs de ce genre quand il y a XMLTYPE colonnes dans le tableau, à l'aide de PL/SQL Developer. Il ne serait pas arrive si j'avais PL/SQL Developer créer la requête squelette pour moi parce que ce serait ajouter un peu de syntaxe à la XMLTYPE colonne de demande, je ne me souviens pas exactement ce que.
Ma solution:
(juste de donner en retour à la communauté) j'ai eu le problème aujourd'hui, et je n'étais pas en mesure de résoudre "à partir de mon exemple" en suivant les étapes ci-dessus, après des heures de recherche, j'ai été en mesure de le résoudre de la façon suivante.
Problème
CE N'EST PAS LE TRAVAIL A ÉTÉ PRISE EN ERREUR [0600]
VOICI MA SOLUTION AU PROBLÈME:
ENFIN IL A TRAVAILLÉ:
ORA-00600 signifie généralement qu'il y est quelque chose de très inattendu, et il pourrait être lié à la corruption de base de données. Les symptômes peuvent être que la requête fonctionne, ou non, selon la façon dont elle est formulée.
Vie exemple:
(Possible) de la Solution utilisée pour l'exemple ci-dessus
Bonne Chance!