Erratum zu Andrea Held Oracle Database 11g Neue Features für DBAs und Software-Entwickler ISBN 978-3-446-41198-2 Leider sind im Buch die Nummern von einigen Bildverweisen und Bildunterschriften falsch. Auf den folgenden Seiten finden Sie die richtigen Nummern (gelb hinterlegt).
5 Neues in der Datenbankverwaltung gibt es neben einer graphischen Zuweisungshistorie die Möglichkeit, mit einigen wenigen Mausklicks neue Einstellungen vorzunehmen (siehe Abbildung 5.2). Abbildung 5.2 Der Memory Advisor im Enterprise Manager zeigt die Historie. Eine Übersicht der aktuellen Speicherverteilung der einzelnen Pools ist im unteren Bereich des Memory Advisor zu finden (siehe Abbildung 5.3). Abbildung 5.3 Anzeige der Speicheraufteilung 118
7.10 ORACLE SQL Developer 7.10.3 Debugging Um Debugging einsetzen zu können, benötigt der ausführende Benutzer das Systemprivileg debug connect session. Sofern Remote Debugging für eine Drittanwendung ausgeführt wird, ist zusätzlich das Privileg debug any procedure erforderlich oder falls die Rechtevergabe restriktiver gehandhabt werden soll die Vergabe des Debug-Privilegs für betreffende Prozeduren, Funktionen, Packages und Trigger. Im Explorer-Fenster des SQL Developers muss nun nur noch das betreffende PL/SQL- Programm zur Bearbeitung geöffnet werden. Dazu wird im Explorer-Baum mit der rechten Maustaste auf das betreffende Objekt geklickt. Im darauf aufpoppenden Kontextmenü wird nun die Option EDIT ausgewählt. Rechts erscheint nun ein Bearbeitungsfenster mit dem PL/SQL-Code. Breakpoints können hier einfach mit einem Mausklick an den linken Rand der betreffenden Codezeile gesetzt werden. Oben in der Bearbeitungsleiste lässt sich mit Compile for Debug der Debugging Mode aktivieren. Übliche Debug-Funktionen wie die Ausführung im Schrittmodus sind hier verfügbar. Abbildung 7.8 Debugging im Schritt-Modus 7.10.4 Eigene Kontextmenüs implementieren Um ein eigenes, benutzerdefiniertes Kontextmenü in SQL Developer zu implementieren, ist eine Kombination aus SQL und XML erforderlich. Mit SQL kann der Befehl eingebunden werden, der ausgeführt werden soll. XML bietet das dazu passende Framework. Ein Beispiel: Angenommen, eine graphische Methode zum Löschen einer Tabelle soll eingebunden werden. Ein drop table einer Tabelle soll mit einem Klick auf die rechte Maus- 273
7.11 Weitere Neuerungen 7.10.6 Migration von MS Access, SQL Server und MySQL Der Oracle SQL Developer bietet eine Migration Workbench. Sie unterstützt die schnelle und einfache Migration von MS Access, SQL Server und MySQL. Folgende Schritte sind für eine Migration vorzunehmen: Aufsetzen des Repository Konfiguration der Verbindungen mit JDBC Auslesen des Quellsystems Konvertierung und Generierung eines Skripts Daten übertragen Verbindungen zu den oben genannten Datenbanktypen lassen sich mit wenigen Mausklicks erstellen. Die Handhabung ist generell sehr einfach. Abbildung 7.9 Datenbankverbindungen im ORACLE SQL Developer 7.11 Weitere Neuerungen Einige Neuerungen sind in SQL Developer 1.2 noch nicht implementiert, werden aber für die Nachfolge-Releases angeboten. PL/SQL SQL Developer soll Bookmarks unterstützen. Eine benutzerdefinierte Formatierung von PL/SQL-Code soll zudem die Anpassung an eigene Bedürfnisse ermöglichen. Code-Kom- 275
7.12 Application Express (APEX) PL/SQL-Prozedur erfolgreich abgeschlossen. PL/SQL-Prozedur erfolgreich abgeschlossen. Session wurde geändert....changing password for ADMIN PL/SQL-Prozedur erfolgreich abgeschlossen. Transaktion mit COMMIT abgeschlossen. Das Schema APEX ist Bestandteil jeder Datenbank-Implementation. Wurde APEX erfolgreich konfiguriert, so kann der Zugriff über das Web erfolgen: http://localhost:8080/apex/apex_admin APEX bietet zahlreiche Erweiterungen. Folgende Funktionen wurden hinzugefügt: Drag & Drop Layout-Seiten Erzeugung von PDFs Rendering von verschiedenen Flash Charts inklusive Konvertierung skalierbarer Vektorgraphiken in Flash Migration von Access-Anwendungen in Application Express mit Application Migration Workshop Neue Item-Typen wie Popup-Listen, Datumsauswahl, HTML-Editoren und vieles mehr Kalendererstellung mit Wizards für Tages-, Wochen- und Monatsansichten Vergleich von Datenbankobjekten in zwei verschiedenen Schemata Anzeige von Unterschieden zwischen zwei verschiedenen Applikationen Vereinfachung von Bookmark Pages Unterstützung neuer Caching-Mechanismen Items für CSS und Bilder Regeln für Passwörter wie z.b. Gültigkeitsdauer und Passwortänderung nach dem ersten Login Verwaltung von Workspaces Abbildung 7.10 Startbildschirm von APEX 277
7 Anwendungsentwicklung 7.14.6 Java JIT Der neue Java JIT (just-in-time) Native Compiler verspricht enorme Performance- Gewinne. Verglichen mit der bisherigen nativen Kompilierung (NCOMP) soll er für einen Geschwindigkeitsgewinn zwischen 30 und 100 Prozent sorgen. Mit Oracle Database 11g ist es möglich, JIT-Kompilierung on the fly als Hintergrund-Aktivität und völlig transparent für den Benutzer auszuführen. Die Verwendung eines C-Kompilers ist obsolet. Java Code kann persistent gespeichert werden und erweitert die Funktionalität um Benachrichtigungen bei Datenänderungen, Prefetches im ersten Roundtrip, Advanced Queuing Security für Thin-Client-JDBC und vieles mehr. Oracle Database 11g ist JDBC 4.0- und Java SE 5.0-konform. 7.15.NET Im.NET-Umfeld gibt es einen neuen Oracle Data Provider. Er unterstützt noch feiner granulare Änderungsmitteilungen über ein Row-Level-Tracking. Insgesamt wurde der Datenzugriff sehr viel performanter. Zusätzlich zu den bisher unterstützten Plattformen für ActiveX Data Objects (ADO) gibt es nun auch Support für 64-Bit bzw. Itanium. Zudem wird die Windows Backup-Infrastruktur mit dem Volume Shadow Copy Service (VSS) unterstützt. 7.16 Integration in Visual Studio Die Oracle Developer Tools für Visual Studio.NET sind voll integrierbar in Visual Studio 2005 und aufwärts. Diese Integration beginnt im Explorer, der es erlaubt, Datenbankobjekte im Strukturbaum anzuzeigen und zu öffnen. Spezifische Kontextmenüs unterstützen bei der Entwicklung. Die Anzeige der Eigenschaft gibt Metadaten eines jeden Schema-Objektes aus. Abbildung 7.11 Anzeige eines Kontextmenüs 282
10 Database Replay Realitätsnahe Lasttests SQL> exec dbms_workload_replay.delete_replay_info(4); Alle Metadaten des Replay-Vorganges werden damit aus dem Data Dictionary entfernt. 10.8 Database Replay mit dem Enterprise Manager Auch mit dem Enterprise Manager kann der Workload einer Datenbank erfasst und auf einem Testsystem wiederholt werden und das mit graphischer Unterstützung (siehe Abbildung 10.3). Unter der Registerkarte Software und Support muss die Option Datenbankwiedergabe ausgewählt werden. In einem ersten Schritt wird auch hier der Workload erfasst. Abbildung 10.3 Der Enterprise Manager unterstützt bei der Aufnahme und Weiterverarbeitung Die Bedienung ist einfach und intuitiv erfassbar. In wenigen Schritten wird man hier durch den gesamten Prozess geführt. Workloads wie die des EM Agent werden hier über Filter automatisch ausgeschlossen. Die Erstellung eines Verzeichnisses für das Sammeln der Daten und auch der optionale Datenbank-Neustart lassen sich hier mit wenigen Mausklicks vorbereiten. Abbildung 10.4 bis Abbildung 10.6 zeigen die Handhabung mit graphischer Unterstützung. 392
10.8 Database Replay mit dem Enterprise Manager Abbildung 10.4 Start eines Jobs für Database Replay im Enterprise Manager Abbildung 10.5 Auch der Start des Replay wird durch den EM graphisch unterstützt. 393
10 Database Replay Realitätsnahe Lasttests Abbildung 10.6 Der Start des Replay wird durch den EM graphisch unterstützt. 10.9 Verwenden von Flashback Database für den Test Soll der Test wiederholbar sein, ohne jedes Mal die Datenbank neu aufbauen zu müssen, so kann mit Flashback Database ein mächtiges Werkzeug für das schnelle und einfache Zurücksetzen der Datenbank verwendet werden. Flashback Database wurde bereits mit Oracle 10.x eingeführt. Es nutzt neben den Archived Redo Logs zusätzlich eigene Flashback Logs. Das Schreiben dieser Logs hat einen wenn auch nur geringfügigen Einfluss auf die Performance. Mit Flashback Database können so genannte Restore Points gesetzt werden. Mit einem einfachen Befehl kann der Datenbestand dann jederzeit zu einem Restore Point zurückgesetzt werden. Das Ergebnis entspricht dem eines Point in Time- Recovery. Die Ausführung erfolgt jedoch wesentlich schneller. 10.9.1 Einrichten der Flash Recovery Area Die Flashback Logs werden in die Flash Recovery Area geschrieben. Dessen Verzeichnis wird mit dem Parameter db_recovery_file_dest konfiguriert. Der Parameter db_recovery_file_dest_size gibt die maximal zu belegende Größe für alle in diesem Verzeichnis befindlichen Dateien an. Dazu zählen neben den Flashback Logs auch RMAN- Backups, Image Copies der Datenbank, archivierte Redo Logs und andere mit der Wiederherstellung einer Datenbank in Verbindung stehende Dateien. Beides sollte überprüft und gegebenenfalls angepasst werden. 394