05.12.2012 Aufrufe

TOAD fuer Entwickler - Quest Software

TOAD fuer Entwickler - Quest Software

TOAD fuer Entwickler - Quest Software

MEHR ANZEIGEN
WENIGER ANZEIGEN

Verwandeln Sie Ihre PDFs in ePaper und steigern Sie Ihre Umsätze!

Nutzen Sie SEO-optimierte ePaper, starke Backlinks und multimediale Inhalte, um Ihre Produkte professionell zu präsentieren und Ihre Reichweite signifikant zu maximieren.

<strong>TOAD</strong><br />

für <strong>Entwickler</strong><br />

You Can Expect More.<br />

Patrick Schwanke<br />

patrick.schwanke@de.quest.com


genda<br />

• <strong>TOAD</strong> 8.5 Konfigurationen<br />

• Smart Code Writing<br />

• Der Procedure-Editor<br />

• PL/SQL-Formatierung<br />

• Debugging<br />

• PL/SQL Profiling<br />

• Team Coding<br />

• Projektmanager<br />

You Can Expect More.


OAD 8.5 Konfigurationen<br />

• Toad for Oracle<br />

– Basic Toad + Formatter Plus<br />

• Toad for Oracle Professional<br />

You Can Expect More.<br />

– Toad for Oracle + Debugging, CodeXpert, Script Debugger &<br />

Knowledge XPert for PL/SQL Developers<br />

• Toad for Oracle Xpert<br />

– Toad for Oracle Professional + SQL Tuning + SQL Optimizer<br />

• Toad for Oracle Suite<br />

– Toad for Oracle Xpert + QDesigner PhysicalArchitect* +<br />

Benchmark Factory for Oracle* + DBA Module* + Knowledge<br />

Xperts* + DataFactory* for Developers


pplication Lifecycle<br />

Design<br />

•QDesigner<br />

Verteilung<br />

•QDesigner<br />

Produktivität<br />

Zusammenarbeit<br />

Fachkompetenz<br />

Qualität<br />

You Can Expect More.<br />

Entwicklung<br />

• <strong>TOAD</strong> for Oracle ®<br />

Test<br />

• DataFactory<br />

• Benchmark Factory ®


ypische Entwicklung mit Toad<br />

Writing &<br />

Editing PL/SQL<br />

Code<br />

Schema Browser<br />

SQL/Proc Editor<br />

Tune SQL<br />

XPert Tuning<br />

SQL Optimizer<br />

Identify<br />

Performance<br />

Bottlenecks<br />

PL/SQL Profiling<br />

Handling Code<br />

Compile Errors<br />

Code Standards<br />

Formatter Plus<br />

Code Xpert<br />

You Can Expect More.<br />

Test Execution<br />

of Code &<br />

Handling<br />

Runtime Errors<br />

Proc Editor with<br />

Debugging


ode Templates<br />

You Can Expect More.<br />

Template-Text<br />

(frei editierbar)


uto Replacement<br />

Bei Eingabe eines<br />

dieser Zeichen: Das davor<br />

stehende Wort wird substituiert !<br />

You Can Expect More.


QL im Hintergrund<br />

You Can Expect More.


ormatter Plus<br />

Projektumgebung<br />

Ergebnisse<br />

You Can Expect More.<br />

Editor


efinition von Formatierungsregeln<br />

Options �<br />

Formatting Options<br />

You Can Expect More.


efinition von Formatierungsregeln<br />

You Can Expect More.<br />

• Wahl eines Satzes von Formatierungsregeln<br />

– Options � Set Options File<br />

• Formatierung des gesamten Projekts oder eines<br />

Projektteils


ocedure Editor<br />

You Can Expect More.<br />

• Templates für die Erstellung von Stored Procedures<br />

• Laden von Programmen aus der Datenbank oder aus<br />

Dateien<br />

• Navigation durch einzelne Programmblöcke<br />

• Kompilieren und Ausführen von Stored Procedures<br />

• Debugging<br />

– Breakpoints<br />

– Anzeigen von Watches<br />

– Ändern von Werten zur Laufzeit


You Can Expect More.


ebugging: Was ist möglich ?<br />

You Can Expect More.<br />

• Welche Objekte kommen für Debugging in Frage:<br />

– Funktionen/Prozeduren, stand-alone oder im Package<br />

– Trigger<br />

• Nicht debug-fähig sind:<br />

– Objekt-Methoden<br />

– Anonyme PL/SQL-Blöcke (ab <strong>TOAD</strong> 8.5 möglich)<br />

–Java<br />

• „Aufsatteln“ auf eine laufende Session („Just-in-Time<br />

Debugging“)


ebugging Toolbar<br />

Debugging starten:<br />

Läuft bis Prozedurende<br />

oder<br />

nächstem Breakpoint<br />

IN/INOUT-Parameter<br />

(Proz./Funkt.) bzw.<br />

OLD/NEW-Werte<br />

(Trigger) setzen<br />

Einzelne Zeile ausführen, in<br />

aufgerufene Proz./Funkt.<br />

verzweigen („Trace into“)<br />

Debugging<br />

beenden („Halt“)<br />

You Can Expect More.<br />

Einzelne Zeile ausführen („Step over“)<br />

Bis Rücksprung aus aktueller<br />

Proz./Funkt. ausführen („Trace out“)<br />

Bis Cursor<br />

laufen<br />

Just-in-Time Debugging<br />

Compile top-down<br />

mit Debug-Information<br />

Variable unter dem Cursor<br />

überwachen („Add Watch“)


as Menü „Debug“<br />

Nur aktiv im<br />

Procedure-Editor<br />

You Can Expect More.<br />

Breakpoint an Cursorposition<br />

setzen<br />

Aktuellen Variablenwert<br />

anzeigen/ändern


eakpoints<br />

Läuft bis zum nächsten Breakpoint (Run)<br />

Linke Maustaste:<br />

Setzen/Löschen eines<br />

Breakpoints<br />

You Can Expect More.


as Breakpoints-Fenster<br />

Menü: Debug � Breakpoints<br />

Neuer Breakpoint Breakpoint löschen<br />

Breakpoint<br />

editieren<br />

Breakpoint enablen<br />

You Can Expect More.<br />

Zu Abschnitt<br />

in Quellcode<br />

springen<br />

Breakpoint disablen


igenschaften von Breakpoints<br />

Beliebige Bedingung der Form:<br />

<br />

[ < | > | = | = | ]<br />

<br />

Zum Beispiel: hr > 10000<br />

Anzahl Durchläufe<br />

You Can Expect More.<br />

• Bedeutung: Der Programmlauf wird nur dann<br />

unterbrochen, wenn zum n-ten Male (n=Anzahl<br />

Durchläufe) die Bedingung erfüllt ist.<br />

� „Conditional Breakpoints“


atches<br />

• Überwachen aktueller Variableninhalte<br />

• Neuen Watch setzen<br />

– Variable im Quelltext markieren und<br />

– Kontextmenü � Debug � Add Watch at Cursor<br />

You Can Expect More.


igenschaften von Watches<br />

Variable in aktuellem<br />

Scope oder in<br />

Package-Scope ?<br />

Überwachung von Arrays<br />

oder PL/SQL Tables<br />

Unterbrechung bei<br />

Änderung<br />

des Variablenwertes<br />

You Can Expect More.<br />

Number-Formate: Default, Hex, FP, Scientific<br />

String-Formate:<br />

• Default<br />

• String\Dec: Non-printable characters<br />

in Dezimalform (z.B. \013\010 für CR LF)<br />

• String\Hex: Non-printable characters<br />

in Hex-Form (z.B. \$D\$A für CR LF)


ebugging-Optionen<br />

• „Break on exceptions“<br />

You Can Expect More.<br />

– Anzeigen einer Meldung, falls beim Debugging eine<br />

Exception auftritt<br />

– Benutzer kann wählen zwischen Anhalten und Fortsetzen<br />

des Debuggings<br />

• „Default to ‚Compile with debug‘“<br />

– Standardmäßig mit Debug-Informationen kompilieren<br />

• Format für Watches vom Typ DATE<br />

• „Step through SYS/SYSTEM procs“<br />

– Bei Debugging mittels „Trace Into“ in Objekte von<br />

SYS/SYSTEM verzweigen


L/SQL Profiling<br />

You Can Expect More.<br />

• Warum dauert die Ausführung der Prozedur so lange?<br />

• Wieviel Zeit wird in einer bestimmten Quellcode-Zeile<br />

verbracht?<br />

– DML-Statements<br />

–Schleifen<br />

– Identifikation von Bottlenecks<br />

• Echte Laufzeit-Statistiken, keine Schätzungen<br />

• Performance Tuning für PL/SQL<br />

• Identifikation logischer Fehler


L/SQL Profiling<br />

• Profiling aktiv<br />

You Can Expect More.<br />

• Profiling nicht aktiv<br />

• Button ist nur benutzbar, wenn Profiler-Repository<br />

installiert ist<br />

• Wenn Profiling eingeschaltet ist<br />

– Jeder PL/SQL-Aufruf via Schema Browser oder PL/SQL Editor<br />

erzeugt einen „Run“<br />

– Vorher Abfrage für Kommentar (z.B. übergebene Parameter)


L/SQL Profiling Auswertung<br />

You Can Expect More.<br />

• Beim ersten Aufruf einer Routine sind die Zeiten gemessenen<br />

i.a. zu hoch (Grund: rekursives SQL)<br />

• Profiling erst vor zweitem Aufruf aktivieren


ntegration mit SCCS<br />

• Zum Beispiel:<br />

You Can Expect More.<br />

– Microsoft Visual SourceSafe<br />

– Merant PVCS<br />

– GNU CVS<br />

• Microsoft SCC API als Standard-Schnittstelle zwischen<br />

Entwicklungsumgebungen und SCCS<br />

– Check-out, Check-in, Add File etc.<br />

• „SCC Provider“ als Implementierung der SCC API für<br />

ein konkretes SCCS<br />

– Häufig als Plug-in mitgeliefert oder zum Download<br />

– Zum Beispiel für CVS: Jalindi Igloo


ntegration mit SCCS<br />

SCC Provider Installation<br />

Eintrag<br />

HKEY_LOCAL_MACHINE\<br />

SOFTWARE\<br />

SourceCodeControlProvider\<br />

InstalledSCCProviders<br />

Lookup Optionen<br />

(Team Coding)<br />

DLL<br />

You Can Expect More.


ntegration mit SCCS<br />

Aktuelle Version read-only<br />

aus Repository lesen<br />

Aktuelle Version<br />

auschecken<br />

Bearbeitete Version<br />

einchecken<br />

Neue Datei ins<br />

Repository einchecken<br />

Check-out<br />

rückgängig<br />

You Can Expect More.<br />

Providerspezifisch


ntegration mit SCCS<br />

You Can Expect More.<br />

• SCC-Operationen arbeiten immer auf Dateien, nicht auf<br />

Datenbankobjekten oder Editor-Inhalten !<br />

– SCC verhindert ungewolltes Überschreiben einer Datei<br />

– SCC verhindert nicht ungewolltes Kompilieren eines PL/SQL-<br />

Objekts<br />

– Ausweg: <strong>TOAD</strong> Team Coding


eam Coding<br />

You Can Expect More.<br />

• In <strong>TOAD</strong> eingebautes SCC-System (seit V7.5)<br />

• Arbeitet nicht auf Dateien, sondern direkt auf DB-<br />

Objekten<br />

• Oracle kennt keine Sperren und keine Versionierung<br />

für PL/SQL-Objekte<br />

• <strong>TOAD</strong> simuliert Sperren<br />

– Repository: Welche Objekte sind gerade durch wen gesperrt<br />

– Wird von <strong>TOAD</strong> (ab V7.5) ausgelesen und interpretiert<br />

– Andere Tools (z.B. SQL*Plus) sehen keine Sperren<br />

• Keine Versionierung<br />

� nach Kompilieren ist „alte Version“ weg<br />

• Integration mit herkömmlichem SCC möglich


eam Coding<br />

• Welche Objekte werden berücksichtigt ?<br />

You Can Expect More.<br />

– Prozeduren / Funktionen / Packages / Package Bodies<br />

– Types / Type Bodys<br />

– Trigger<br />

– Views (seit 7.6)<br />

• Entsprechende Dialogfenster sind „Team-Codingaware“<br />

– Bspw. Dialog für „ALTER TRIGGER“<br />

• Andere Tools können diesen Mechanismus beliebig<br />

unterlaufen


eam Coding Viewer<br />

Objekte ein-/<br />

auschecken<br />

Objektliste<br />

aktualisieren<br />

bzw.<br />

filtern<br />

Aktuellen Stand<br />

einfrieren<br />

(keine Checkouts<br />

mehr möglich)<br />

bzw. wiederauftauen<br />

Objekt öffnen<br />

You Can Expect More.<br />

Objekteigenschaften,<br />

insb. Projektzugehörigkeit<br />

Objekte, die keinem<br />

Projekt mehr<br />

zugeordnet sind,<br />

müssen manuell<br />

herausgenommen werden


oject Manager<br />

oder:<br />

Tools � Project Manager<br />

You Can Expect More.


oject Manager<br />

You Can Expect More.<br />

• Projekt, Teilprojekt<br />

• Lokales Verzeichnis und Datei<br />

• Datei in ZIP-Archiv<br />

• Remote-Verzeichnis (FTP,SSH) und Datei<br />

• DB-Schema (mit oder ohne Connection)<br />

• Tabelle, View etc.<br />

• URL<br />

• To-Do-Listen / Einträge . . .<br />

• Tasks (Windows Scheduler)<br />

• SQL-Kommandos


oject Manager Aktionen<br />

You Can Expect More.<br />

• Konfigurierbar über Project Manager-Optionen<br />

• Drag and drop zwischen Objekten<br />

– Für sinnvolle Kombination von Quell- und Zieltyp<br />

(vorgegeben):<br />

Drag&Drop-Aktion aus einer Liste vorgegebener Aktionen<br />

• Doppelklick auf Objekt<br />

– Eine Aktion pro Objekttyp<br />

• Rechtsklick auf Objekt � Kontextmenü<br />

– Knotenverwaltung: Add, Remove, Rename, Properties<br />

– Bei DB-Schema mit Connection:<br />

Alle Menüpunkte aus Schema Browser<br />

– Pro Objekttyp: Beliebige Auswahl aus einer Menge


ie Toad® Familie<br />

• Toad for SQL Server<br />

• Toad for MySQL<br />

• Toad for DB2<br />

• www.quest.com/de<br />

You Can Expect More.


eitere Informationen<br />

You Can Expect More.<br />

• Webcasts:<br />

– <strong>TOAD</strong> Grundlagen 26.09.200510:00 Uhr<br />

– <strong>TOAD</strong> für den <strong>Entwickler</strong> 27.09.200510:00 Uhr<br />

– <strong>TOAD</strong> für den DBA 31.08.200510:00 Uhr<br />

28.09.200510:00 Uhr<br />

– SQL Tuning mit <strong>TOAD</strong> 01.09.200510:00 Uhr<br />

29.09.200510:00 Uhr<br />

• Schulungspartner:<br />

– Herrmann & Lenz Services GmbH www.hl-services.de<br />

– Trivadis www.trivadis.com


OAD USER GROUP<br />

You Can Expect More.<br />

• 12.09.2005 München (Hilton München City)<br />

• 13.09.2005 Hamburg (Side Hotel)<br />

• 15.09.2005 Köln (Hilton Hotel)<br />

• 20.09.2005 Wien (Ares Tower)<br />

• 21.09.2005 Zürich (World Trade Center)


agen<br />

You Can Expect More.<br />

Bei Fragen wenden Sie sich bitte an:<br />

Silke.Peffekoven@de.quest.com<br />

Vielen Dank


Fragen<br />

You Can Expect More.<br />

Patrick Schwanke<br />

patrick.schwanke@de.quest.com

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!