Maison > base de données > Oracle > Quelques conseils et méthodes pour déboguer les procédures stockées dans Oracle

Quelques conseils et méthodes pour déboguer les procédures stockées dans Oracle

PHPz
Libérer: 2023-04-25 17:12:20
original
2034 Les gens l'ont consulté

Les procédures stockées Oracle sont des objets de base de données précompilés qui peuvent être exécutés à plusieurs reprises. Afin d'optimiser les performances de la base de données et de gagner du temps, de nombreux développeurs utilisent des procédures stockées. Mais lorsqu’une erreur survient dans une procédure stockée, le débogage peut devenir délicat. Cet article présentera quelques conseils et méthodes pour déboguer les procédures stockées dans Oracle.

1. Définissez l'indicateur de débogage de la procédure stockée

Pour commencer le débogage de la procédure stockée, vous devez d'abord définir l'indicateur de débogage dans le code. Oracle fournit un package appelé DBMS_DEBUG dans lequel les indicateurs de débogage sont définis. La méthode spécifique est :

  1. Connectez-vous à la base de données Oracle :

sqlplus / as sysdba

  1. Créez le package DBMS_DEBUG :

SQL> Besoin d'un débogageToutes les procédures stockéesPar :

  1. SQL> CONNECT myuser;

Démarrer le mode de débogage :

  1. SQL> EXECUTE DBMS_DEBUG_JDWP.CONNECT_TCP('localhost', '4000'); est le port de débogage Java .

Définissez l'indicateur de débogage et démarrez le débogage :

SQL> EXECUTE DBMS_DEBUG_JDWP.SET_BREAKPOINT('schema.package.procedure', 'procedure',1);
  1. où schéma est le schéma où se trouve la procédure stockée, et package est la procédure stockée. Dans le package où elle se trouve, procédure est le nom de la procédure stockée et 1 est le numéro de ligne où le débogage doit être défini.
2. Débogage à distance des procédures stockées

Avant de déboguer les procédures stockées à distance, vous devez d'abord configurer un débogueur Java localement (tel qu'Eclipse ou IntelliJ IDEA). Suivez ensuite les étapes ci-dessous pour définir l'indicateur de débogage à distance dans Oracle :

Démarrez la procédure stockée dans Oracle

Démarrez le mode débogage dans le débogueur Java local

    Connectez-vous au débogueur Java local dans le package DBMS_DEBUG dans Oracle :
  1. SQL> EXECUTE DBMS_DEBUG_JDWP.CONNECT_TCP('localhost','4000′);
  2. Définissez un point d'arrêt dans le processus SET_BREAKPOINT du package DBMS_DEBUG :

SQL> INT('sch ema.package.procedure ', 'procédure',1);
  1. Démarrer le mode de débogage dans le débogueur Java local

Terminer le mode de débogage à distance dans le package DBMS_DEBUG qui informe Oracle :

  1. SQL> EXECUTE DBMS_DEBUG_JDWP.DISCONNECT;
  2. 3. débogueur
En plus de définir manuellement les indicateurs de débogage, vous pouvez également utiliser le débogueur dans Oracle. Le débogueur simplifie le processus de débogage et le rend plus intuitif.

Ouvrir PL/SQL Developer

Ouvrez le code source de la procédure stockée qui doit être déboguée

    Cliquez avec le bouton droit sur la ligne qui doit être déboguée et sélectionnez "Toggle Breakpoint" pour définir un point d'arrêt
  1. Cliquez sur " Outils" -> "Débogage" -> "Compiler en tant que débogage"
  2. Cliquez sur "Déboguer" -> "Démarrer le débogage"
  3. Exécutez les opérations qui doivent être déboguées avant que la procédure stockée ne soit appelée
  4. Lorsque la procédure stockée atteint un point d'arrêt, le débogueur interrompra automatiquement l'exécution de la procédure stockée
  5. Vous pouvez utiliser les contrôles du débogueur pour parcourir le débogage, afficher les variables, etc.
  6. Une fois le débogage terminé, cliquez sur "Déboguer" -> Débogage" pour terminer le débogage
  7. 4. Utilisez les options de journalisation ou de débogage
  8. Utilisez les options de journalisation ou de débogage dans la procédure stockée pour suivre facilement le flux d'exécution et les données de la procédure stockée. Vous pouvez utiliser le package DBMS_OUTPUT pour générer des messages dans une procédure stockée ou utiliser les options de débogage.
DBMS_OUTPUT :

L'utilisation du package DBMS_OUTPUT dans une procédure stockée permet d'afficher des messages lors de l'exécution de la procédure stockée. L'exemple de code est le suivant :

CREATE OR REPLACE PROCEDURE my_procedure IS

BEGIN

DBMS_OUTPUT.PUT_LINE('Hello World!');

END;

Options de débogage :

Les options de débogage sont définies à l'aide de l'instruction PRAGMA dans le fichier stocké. procédure. L'exemple de code est le suivant :

CREATE OR REPLACE PROCEDURE my_procedure IS

v_debug BOOLEAN := TRUE;

v_message VARCHAR2(100);

BEGIN

IF v_debug THEN

v_message := 'Starting my_procedure';
DBMS_OUTPUT.PUT_LINE(v_message);
Copier après la connexion

END IF;
...
END;
Ce qui précède se trouve dans Quelques conseils et méthodes pour déboguer les procédures stockées dans Oracle. Grâce à ces méthodes, vous pouvez déboguer les procédures stockées plus efficacement et les accélérer. Si vous devez gérer des procédures stockées dans Oracle pendant une longue période, il est fortement recommandé de maîtriser ces techniques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal