Intentionnellement Causer des ORA-00600 exception dans Oracle
Pour des fins de test, j'ai besoin d'un couple de scripts SQL qui va provoquer une ORA-00600
erreur dans Oracle, version 11.1.0.7.
La base de données n'est pas vide, il est rempli avec les données d'une nouvelle installation de Vision de Démonstration de l'E-Business Suite.
Ce système est un terrain d'entraînement pour les élèves qui étudient l'Oracle. Il sera utilisé pour développer leurs compétences de résolution des problèmes.
Pourquoi SQL? En raison de ces scripts reproduction doit être automatisé. Nous allons rendre aléatoire la question de l'occurrence de créer un modèle d'une véritable écoute du système pour la maîtrise de l'activité de dépannage.
Quoi exactement, j'ai besoin de 4 ou 5 différentes façons à cause ORA-00600
erreur.
Remarque: Cette question n'est pas d'expliquer ce qu'est un ORA-600 erreur, ou la façon de les résoudre. Cette question est à propos intentionnellement provoquant un ORA-600 erreur.
ORA-00600
signifie probablement que vous avez trébuché sur Oracle bug.Exactement, et je veux trouver des moyens faciles de le reproduire à volonté.
Selon cette page au orafaq.com voici les causes possibles pour une ORA-00600: 1. des délais d'attente, 2. la corruption de fichiers, 3. échec des vérifications des données dans la mémoire, du matériel, de la mémoire, ou les messages I/O, 4. restauré correctement les fichiers, 5. une sélection à PARTIR de la DOUBLE déclaration en PL/SQL dans Oracle Forms (vous devez SÉLECTIONNER à PARTIR de SYS.DOUBLE à la place!). Donc, il y a une liste de choses à essayer. Peut fortune faveur de vos efforts!
La plupart de ces erreurs dépend de béton les conditions très spéciales telles qu'un système d'exploitation, les correctifs installés, DB mise à jour du moteur de l'histoire, de la taille des données, base de données de configuration de service et ainsi de suite. Par conséquent, il n'est pas un bon point pour apprendre quelque chose de générique et vraiment utile de mon point de vue. De toute façon, dans la plupart des cas, l'éducation de base de données doit répondre à des conditions pour tous les bugs trouvés pour reproduire ces erreurs.
D'un autre point de vue plus intéressant de la tâche pour les élèves est de savoir comment introduire ORA-600 en modifiant les fichiers DB. E. g. modifier le fichier de stockage à cause ORA-600 en interrogeant un enregistrement spécifique ... 🙂
OriginalL'auteur LXandR | 2014-02-03
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas provoquer une ORA-00600 "naturellement", c'est un générique d'exception qui couvre interne Oracle exceptions. Donc, sauf si vous savez de un Oracle bug qui provoque ce ou voulez délibérément corrompre votre base de données vous avez pas de chance.
Ce que vous peut n'est soulever une erreur d'application vous-même, qui peut imiter cette exception:
Si vous avez à faire à partir de SQL, vous pouvez convertir le ci-dessus dans une fonction:
Puis il suffit de l'appeler:
Je sais que c'est pas exactement ce que vous avez besoin @user3265017; vous mentionnez SQL et je vous dis comment le faire en SQL... corrompre votre base de données, ou de trouver un Oracle bug qui provoque cette (ou de la transformer en une fonction pour le faire).
De toute façon, je vous remercie pour votre aide. je suis actuellement à la recherche d'un bug qui convient à mes besoins.
OriginalL'auteur Ben
Comme par ici:
Afin de générer ces erreurs, vous avez probablement besoin de causer de graves dommages à votre base de données, pas quelque chose que je vous conseille. Le dernier point ci-dessus peut être un moyen de le faire donc je ferais le test en premier.
OriginalL'auteur paxdiablo
Peut-être tous les toghether on peut trouver de bons exemples pour vous ...
Viens de commencer une collection:
№1 (trouvé ici)
№2 N'a pas renvoyé de ORA-600 pour le client, juste des gouttes de connexion. Mais cette erreur peut être trouvé dans les logs du serveur. Ce cas doit être vérifié car je n'ai pas accès à l'environnement de test à l'instant. S'il vous plaît, ajoutez un commentaire pour indiquer si de tels cas sont intéressants.
OriginalL'auteur ThinkJet