Heim Datenbank Oracle So debuggen Sie gespeicherte Prozeduren in Oracle

So debuggen Sie gespeicherte Prozeduren in Oracle

Apr 25, 2023 pm 04:12 PM

Oracle-Datenbank ist ein relationales Datenbankverwaltungssystem, das von großen Unternehmen häufig verwendet wird. Seine leistungsstarken Funktionen und Stabilität werden von Menschen geschätzt. Im eigentlichen Entwicklungsprozess müssen Entwickler häufig gespeicherte Prozeduren schreiben, um verschiedene Geschäftslogiken zu implementieren, und können beim Debuggen gespeicherter Prozeduren auf einige Probleme stoßen.

In diesem Artikel erfahren Sie, wie Sie gespeicherte Prozeduren in einer Oracle-Datenbank debuggen.

1. Verwenden Sie SQL Developer zum Debuggen gespeicherter Prozeduren.

SQL Developer ist ein kostenloses Datenbankentwicklungstool, das offiziell von Oracle bereitgestellt wird. Es bietet einen leistungsstarken Debugger, der zum Debuggen gespeicherter PL/SQL-Prozeduren, Funktionen, Trigger usw. verwendet werden kann. Im Folgenden verwenden wir eine einfache gespeicherte Prozedur als Beispiel, um zu demonstrieren, wie Sie mit SQL Developer gespeicherte Prozeduren debuggen.

1. Erstellen Sie eine gespeicherte Prozedur

Zuerst müssen wir eine einfache gespeicherte Prozedur erstellen:

CREATE OR REPLACE PROCEDURE my_proc (p_input IN NUMBER, p_output OUT NUMBER) AS
BEGIN
p_output := p_input * 2;
END ;

Diese gespeicherte Prozedur empfängt einen Eingabeparameter p_input, multipliziert ihn mit 2 und weist ihn dem Ausgabeparameter p_output zu. In realen Szenarien werden gespeicherte Prozeduren komplexer sein, aber die in diesem Artikel gezeigten Debugging-Methoden sind auch auf komplexe gespeicherte Prozeduren anwendbar.

2. Haltepunkte setzen

Als nächstes müssen wir Haltepunkte in der gespeicherten Prozedur setzen, um den Programmfluss anzuhalten und Variablenwerte während der Ausführung zu überprüfen. Das Festlegen eines Haltepunkts in SQL Developer ist sehr einfach. Sie müssen lediglich die Zeile auswählen, in der Sie einen Haltepunkt im Code der gespeicherten Prozedur festlegen möchten, und dann auf den leeren Bereich neben der Zeilennummer klicken. Wie im Bild unten gezeigt, habe ich in Zeile 3 einen Haltepunkt gesetzt.

3. Führen Sie die gespeicherte Prozedur aus

Jetzt können wir die gespeicherte Prozedur in SQL Developer ausführen und den Programmablauf während der Ausführung anhalten, um den Variablenwert zu überprüfen. Wir können den folgenden Code verwenden, um die gespeicherte Prozedur auszuführen und einen Parameterwert zu übergeben:

DECLARE
v_input NUMBER := 10;
v_output NUMBER;
BEGIN
my_proc(v_input, v_output);
END;

Nach der Ausführung dieses Codes , öffnet SQL Developer automatisch den Debugger und hält das Programm in Zeile 3 an, wie in der Abbildung unten gezeigt. Wir können sehen, dass der Wert von v_input 10 ist und während der schrittweisen Ausführung auch der Wert von p_output 20 zugewiesen wird.

4. Überprüfen Sie die Variablenwerte

Während das Programm angehalten ist, können wir den Wert jeder Variablen überprüfen. Sie können den Wert einer Variablen anzeigen, indem Sie im Code auf ihren Namen klicken oder das Monitorfenster verwenden. In SQL Developer können Sie die Werte mehrerer Variablen gleichzeitig anzeigen, indem Sie im Monitorfenster das Menü Debuggen > Debugging Windows >

Wie im Bild unten gezeigt, habe ich v_input, v_output und p_output zum Monitorfenster hinzugefügt, und Sie können sehen, dass ihre Werte 10, 0 bzw. 0 sind.

Als nächstes können wir die Ausführung des Programms bis zum nächsten Haltepunkt oder dem Ende des Programms fortsetzen, indem wir oben im Debugger-Fenster auf die Schaltfläche „Ausführung fortsetzen“ klicken.

2. Verwenden Sie das DBMS_DEBUG-Paket zum Debuggen gespeicherter Prozeduren.

Wenn Sie nicht über das SQL Developer-Tool verfügen, können Sie auch das von Oracle bereitgestellte DBMS_DEBUG-Paket zum Debuggen gespeicherter Prozeduren verwenden. Im Folgenden stellen wir die Verwendung des DBMS_DEBUG-Pakets vor.

Das DBMS_DEBUG-Paket ist ein von Oracle Database bereitgestelltes Toolpaket, mit dem Sie Haltepunkte in gespeicherten Prozeduren festlegen, den Programmausführungsprozess anhalten und die Werte von Programmvariablen überprüfen können. Das Debuggen gespeicherter Prozeduren mit dem DBMS_DEBUG-Paket erfordert die folgenden Schritte:

1 Kompilierungsoptionen festlegen

Zuerst müssen wir die Kompilierungsoptionen in der gespeicherten Prozedur festlegen, damit das DBMS_DEBUG-Paket verwendet werden kann. Fügen Sie die folgende Anweisung vor dem Code der gespeicherten Prozedur hinzu:

ALTER SESSION SET PLSQL_DEBUG=TRUE;

2 Starten Sie den Debugger

Als nächstes müssen wir den Debugger in der gespeicherten Prozedur starten. Fügen Sie der gespeicherten Prozedur den folgenden Code hinzu:

DBMS_DEBUG_DBMS_DEBUG.CONNECT_SESSION;

Dieser Code startet den Debugger und wartet darauf, dass der Client eine Verbindung herstellt.

3. Verbinden Sie den Client

Jetzt müssen wir eine Verbindung zur Datenbank im Client herstellen und eine Verbindung zu dem Debugger herstellen, den wir gerade gestartet haben. In SQL Plus können Sie den folgenden Befehl verwenden, um eine Verbindung herzustellen:

EXEC DBMS_DEBUG_JDWP.CONNECT_TCP(‘localhost’,4000);

Wenn die Verbindung erfolgreich ist, wird „connected“ angezeigt.

4. Haltepunkte festlegen

Nachdem die Clientverbindung erfolgreich war, können wir Haltepunkte in der gespeicherten Prozedur festlegen. Verwenden Sie den folgenden Code, um einen Haltepunkt in der gespeicherten Prozedur festzulegen:

DBMS_DEBUG_JDWP.BREAKPOINT(‘my_proc’,4);

Dieser Befehl setzt einen Haltepunkt in Zeile 4 der gespeicherten Prozedur. my_proc ist der Name der gespeicherten Prozedur.

5. Führen Sie die gespeicherte Prozedur aus

Jetzt können wir die gespeicherte Prozedur ausführen und das Programm während der Ausführung anhalten, damit wir den Wert der Variablen überprüfen können.

Führen Sie den folgenden Code in SQL Plus aus:

DECLARE
v_input NUMBER := 10;
v_output NUMBER;
BEGIN
my_proc(v_input, v_output);
END;

Wenn der Debugger richtig eingerichtet ist, wird das Programm dies tun landen Sie bei Schritt 4. Die Leitung ist pausiert. Im pausierten Zustand können Sie die folgenden Befehle verwenden, um den Wert der Variablen zu überprüfen:

DBMS_DEBUG_JDWP.PRINT_VARIABLE('v_input');
DBMS_DEBUG_JDWP.PRINT_VARIABLE('v_output');

Diese beiden Befehle können die Werte anzeigen ​der Variablen v_input und v_output .

6. Ausführung fortsetzen

Wenn Sie nach der Überprüfung des Variablenwerts noch mit der Ausführung des Programms fortfahren müssen, können Sie den folgenden Befehl verwenden:

DBMS_DEBUG_JDWP.CONTINUE;

Dieser Befehl setzt die Ausführung des Programms bis zum nächsten Haltepunkt oder dem Ende fort Programm.

Zusammenfassung

In Oracle-Datenbanken ist das Debuggen gespeicherter Prozeduren eine relativ häufige Aufgabe. In diesem Artikel werden zwei Methoden zum Debuggen gespeicherter Prozeduren vorgestellt: die Verwendung von SQL Developer und das DBMS_DEBUG-Paket. Unabhängig von der verwendeten Methode können Sie problemlos Haltepunkte in gespeicherten Prozeduren festlegen, die Programmausführung anhalten und die Werte von Variablen überprüfen, um Entwicklern dabei zu helfen, Probleme schnell zu lokalisieren und Fehler zu beheben.

Das obige ist der detaillierte Inhalt vonSo debuggen Sie gespeicherte Prozeduren in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Oracle Database Operation Operation Tools? Was sind die Oracle Database Operation Operation Tools? Apr 11, 2025 pm 03:09 PM

Zusätzlich zu SQL*Plus gibt es Tools zum Betrieb von Oracle -Datenbanken: SQL Developer: Kostenlose Tools, Schnittstellenfreundlichkeit und Unterstützung grafischer Operationen und Debugging. Kröte: Business-Tools, Funktionsreich, ausgezeichnet in der Datenbankverwaltung und -abstimmung. PL/SQL -Entwickler: leistungsstarke Tools für PL/SQL -Entwicklung, Codebearbeitung und Debugging. DBeaver: Free Open Source Tool, unterstützt mehrere Datenbanken und verfügt über eine einfache Schnittstelle.

So überprüfen Sie die Tabellenraumgröße von Oracle So überprüfen Sie die Tabellenraumgröße von Oracle Apr 11, 2025 pm 08:15 PM

Um die Oracle -Tablespace -Größe abzufragen, führen Sie die folgenden Schritte aus: Bestimmen Sie den Namen Tablespace, indem Sie die Abfrage ausführen: Wählen Sie Tablespace_Name aus dba_tablespaces. Abfragen Sie die Tablespace -Größe durch Ausführen der Abfrage: Summe (Bytes) als Total_Size, sum (bytes_free) als verfügbare_space, sum

Oracle PL/SQL Deep Dive: Mastering -Verfahren, Funktionen und Pakete Oracle PL/SQL Deep Dive: Mastering -Verfahren, Funktionen und Pakete Apr 03, 2025 am 12:03 AM

Die Prozeduren, Funktionen und Pakete in OraclePl/SQL werden verwendet, um Operationen, Rückgabeteile bzw. den Code zu organisieren. 1. Der Prozess wird verwendet, um Operationen wie die Ausgabe von Grüßen auszuführen. 2. Die Funktion wird verwendet, um einen Wert zu berechnen und zurückzugeben, z. B. die Berechnung der Summe von zwei Zahlen. 3. Pakete werden verwendet, um relevante Elemente zu organisieren und die Modularität und Wartbarkeit des Codes zu verbessern, z. B. Pakete, die das Inventar verwalten.

So erstellen Sie die Oracle -Datenbank So erstellen Sie die Oracle -Datenbank So erstellen Sie die Oracle -Datenbank So erstellen Sie die Oracle -Datenbank Apr 11, 2025 pm 02:36 PM

Um eine Oracle -Datenbank zu erstellen, besteht die gemeinsame Methode darin, das dbca -grafische Tool zu verwenden. Die Schritte sind wie folgt: 1. Verwenden Sie das DBCA -Tool, um den DBNAME festzulegen, um den Datenbanknamen anzugeben. 2. Setzen Sie Syspassword und SystemPassword auf starke Passwörter. 3.. Setzen Sie Charaktere und NationalCharacterset auf AL32UTF8; 4. Setzen Sie MemorySize und tablespacesize, um sie entsprechend den tatsächlichen Bedürfnissen anzupassen. 5. Geben Sie den Logfile -Pfad an. Erweiterte Methoden werden manuell mit SQL -Befehlen erstellt, sind jedoch komplexer und anfällig für Fehler. Achten Sie auf die Kennwortstärke, die Auswahl der Zeichensatz, die Größe und den Speicher von Tabellenräumen

So lernen Sie die Oracle -Datenbank So lernen Sie die Oracle -Datenbank Apr 11, 2025 pm 02:54 PM

Es gibt keine Abkürzungen zum Erlernen von Oracle -Datenbanken. Sie müssen Datenbankkonzepte verstehen, SQL -Fähigkeiten beherrschen und sich durch die Praxis kontinuierlich verbessern. Zunächst müssen wir den Speicher- und Verwaltungsmechanismus der Datenbank verstehen, die grundlegenden Konzepte wie Tabellen, Zeilen und Spalten sowie Einschränkungen wie Primärschlüssel und Fremdschlüssel beherrschen. Installieren Sie dann durch Übung die Oracle -Datenbank, üben Sie mit einfachen Auswahlanweisungen und beherrschen Sie verschiedene SQL -Anweisungen und Syntax schrittweise. Danach können Sie erweiterte Funktionen wie PL/SQL lernen, SQL -Anweisungen optimieren und eine effiziente Datenbankarchitektur zur Verbesserung der Datenbank -Effizienz und -sicherheit entwerfen.

Was tun, wenn das Orakel nicht geöffnet werden kann Was tun, wenn das Orakel nicht geöffnet werden kann Apr 11, 2025 pm 10:06 PM

Lösungen für Oracle können nicht geöffnet werden, einschließlich: 1. Starten Sie den Datenbankdienst; 2. Starten Sie den Zuhörer; 3.. Hafenkonflikte prüfen; 4. Umgebungsvariablen korrekt einstellen; 5. Stellen Sie sicher, dass die Firewall- oder Antivirus -Software die Verbindung nicht blockiert. 6. Überprüfen Sie, ob der Server geschlossen ist. 7. Verwenden Sie RMAN, um korrupte Dateien wiederherzustellen. 8. Überprüfen Sie, ob der TNS -Dienstname korrekt ist. 9. Netzwerkverbindung prüfen; 10. Oracle Software neu installieren.

Oracle Goldengate: Replikation und Integration in Echtzeitdaten Oracle Goldengate: Replikation und Integration in Echtzeitdaten Apr 04, 2025 am 12:12 AM

OracleGoldEngate ermöglicht die Replikation und Integration von Echtzeit, indem die Transaktionsprotokolle der Quelldatenbank erfasst und Änderungen in der Zieldatenbank angewendet werden. 1) Änderungen erfassen: Lesen Sie das Transaktionsprotokoll der Quelldatenbank und konvertieren Sie sie in eine Trail -Datei. 2) Übertragungsänderungen: Übertragung auf das Zielsystem über das Netzwerk und die Übertragung wird unter Verwendung eines Datenpumpenprozesses verwaltet. 3) Anwendungsänderungen: Im Zielsystem liest der Kopiervorgang die Trail -Datei und wendet Änderungen an, um die Datenkonsistenz sicherzustellen.

So verschlüsseln Sie die Oracle -Ansicht So verschlüsseln Sie die Oracle -Ansicht Apr 11, 2025 pm 08:30 PM

Mit der Verschlüsselung von Oracle View können Sie Daten in der Ansicht verschlüsseln und so die Sicherheit sensibler Informationen verbessern. Die Schritte umfassen: 1) Erstellen des Master -Verschlüsselungsschlüssels (MEK); 2) Erstellen einer verschlüsselten Ansicht, der Ansicht und der Verschlüsselung der Ansicht und der MEK angeben; 3) Benutzern Sie die Benutzer, auf die verschlüsselte Ansicht zuzugreifen. Wie verschlüsselte Ansichten funktionieren: Wenn ein Benutzer nach einer verschlüsselten Ansicht nachgefragt wird, verwendet Oracle MEK, um Daten zu entschlüsseln und sicherzustellen, dass nur autorisierte Benutzer auf lesbare Daten zugreifen können.

See all articles