HTWK Leipzig Fachbereich Informatik, Mathematik und Naturwissenschaften Lehrstuhl Datenbanken, Betriebssysteme (Prof. Kudraß) Dozent: T. Stöhr SS 2003 Projektaufgabe zu„Datenbanken 2 für Informatiker" im SS ’03 Im Rahmen von Studien, teilweise mit eigenen Beispielen oder Demos, ist zu untersuchen, inwieweit das Datenbanksystem Oracle 9i (8i) die in der Vorlesung vorgestellten DatenbankKonzepte unterstützt. Anzufertigen ist eine Kurzpräsentation (ca. 15 Min.) mit Hilfe einer geeigneten Software (z.B. Powerpoint, pdf etc.). Dabei sollen, je nach Thema, eigene Beispiele oder eine Demo präsentiert werden: Demo: Es soll als Bestandteil der Kurzpräsentation eine Live-Demo gegeben werden (auf einem eigenen oder einem für den Vortrag bereitgestellten Notebook mit Oracle 8i,9i). Beispiele: Es sind selbstgewählte Beispiele in den Vortrag einzubeziehen. Diese können ggf. auch auf dem Notebook praktisch vorgeführt werden. Die Quellen zur Präsentation sind auf einer Folie mit anzugeben. Unter http://www.informatik.uni-leipzig.de/~stoehr/htwk/projekt/projekt_dbsII.html finden Sie, bei Bedarf, ein Skript beispieldb.sql, mit dem Sie für Beispiele/Demos eine Datenbank mit ca. 1500 Sätzen (Student/Prüfungs-Miniwelt) unter Oracle anlegen können. Oracle selbst verfügt auch über eine Beispiel-DB. Beachten Sie die unterschiedlichen Abgabetermine der Aufgaben (s. Termine). 1. Speicherverwaltung: Platten und Dateien a) Arten von Dateien in Oracle (Inhalt und Bedeutung der Dateien) b) Welche Dateisysteme können genutzt werden? Wie kann Oracle eine eigene Dateiverwaltungdurchführen? c) Puffer im Datenbanksystem (SGA) DB-Block Buffer Pool, Shared Pool d) Wie erfolgt die Pufferverwaltung (welche Prozesse, welche Abläufe)? e) Konzept der Tablespaces in Oracle, Operationen mit Tablespaces f) Datenbankobjekte Segmente, Extents, Datenbank-Blöcke und Datensätze g) Oracle Data Dictionary (Demo: Beispiel-Datenbank und interessante Anwendungsfälle für den Gebrauch des Data Dictionary) h) Speicherplatzausnutzung für Daten und Indexe (Größenfestlegungen anhand von Beispielen) i) Behandlung von Large Objects (Demo) Arten von Large Objects (z.B. CLOB, BLOB), Speicherung von Large Objects, Speichern und Abfragen von Large Objects: SQL und Programmierschnittstellen 2. Dateiorganisation und Zugriffsstrukturen a) Organisationsformen für Tabellen: Heap, Index-Organisiert, Cluster b) Partitionierung von Tabellen 3. Indexverfahren a) B+ Bäume in Oracle: Aufbau, Anlegen, Operationen und Index-Kenngrößen (Beispiel) 4. Anfrageverarbeitung a) Ablauf bei der SQL-Ausführung (Beeinflussende Faktoren) b) Zugriffsmethoden: Indexzugriff vs. Tabellenzugriff c) Join-Methoden (Beispiele) 5. Query-Optimierung und Tuning von Anfragen a) Nutzung von SQL-Kommandos zur Darstellung von Ausführungsplänen (Oracle Enterprise Manager) b) SQL Analyze: Monitoring der Datenbank (Beispiele) c) Monitoring mit Schwerpunkt Hit-Ratio (Beispiele) d) Regelbasierte Optimierung e) Beeinflussung des Optimierers: Optimierungsmodi, Hints (Beispiele) f) Kostenbasierte Optimierung: Anlegen von Statistiken, Selektivität und Histogramme (Beispiele) g) Entwicklung von Test-Szenarien zur Demonstration der Wirkung unterschiedlicher Indexeauf die Ausführung (Beispiele) / Kombination mit Monitoring - 2 Vorträge h) Tuning von SQL-Anweisungen in Oracle und Demonstration anhand Ausführung (Eigene Beispiele) - 2 Vorträge i) Tuning der Datenbank (z.B. Platten I/Os, Puffer), wichtige Konfigurationsparameter j) Auto-Tuning (Virtual Index Wizard, Summary Advisor) (Demo) 6. Transaktionen a) Transaktionsbefehle b) Ablauf einer Transaktion 7. Mehrbenutzerbetrieb a) Sperren, Sperrtypen, Hierarchische Sperren, Isolationsebenen b) Benutzerdefinierte Sperren / Sperren in SQL-Befehlen 8. Recovery a) Redo Logs b) Ablauf des Recovery c) Checkpoints 9. Data Warehousing a) Population eines Warehouse (ETT: Extraction, Transformation, Transfer) b) OLAP-Features (2 Vorträge: ROLAP+MOLAP, Tools) c) Optimierung + Performance Tuning (2 Vorträge) - Schema, Indexe - Parallelität d) Data Mining 10. Software-Architektur von Oracle a) Prozesse einer Oracle-Instanz und deren Zusammenwirken 11. Werkzeuge zum Monitoring und Tuning von Oracle a) Oracle Enterprise Manager mit Tuning Pack (Demo) b) Karma - http://www.iheavy.com/karma/ (Demo) c) Oracletool - http://www.oracletool.com (Demo) 12. Eigene Vorschläge a) ? b) ? c) ? d) ? Bewertung Eine erfolgreiche Präsentation ist Teil der Zulassung zur Diplomklausur zu „Datenbanken 2“. Je nach Qualität der Präsentation werden 0-5 zusätzliche Bonuspunkte vergeben, die bei bestandener Projektaufgabe auf die schriftliche Abschlußprüfung angerechnet werden. Vortragsvergabe + Abgabemodalitäten s. Web-Seiten unter www.informatik.uni-leipzig.de/~stoehr/htwk/dbsII.html Literaturempfehlungen • H. Thorpe: Oracle 8i Tuning und Administration, Verlag Addison Wesley, 2001. • G. Stürner: Oracle 8i. Der objekt-relationale Datenbank-Server, Verlag dbms publishing, 2000. • U. Herrmann, D. Lenz, G. Unbescheid: Oracle 8 für den DBA, Verlag Addison Wesley, 1999. • Christiansen, Höding, Rautenstrauch, Saake: Oracle 8 - effizient einsetzen. Verlag Addison-Wesley,1998, http://wwwiti.cs.uni-magdeburg.de/~orab. • Online Oracle-Online Dokumentation / Oracle Technology Network: - http://technet.oracle.com/documentation/content.html (erfordert Registrierung) - http://goliath.imn.htwk-leipzig.de/oracle (im Moment ist dort nur Oracle 8i verfügbart; unter dieser Adresse werden in Kürze relevante Manuale von Oracle 9i (pdf) bereitgestellt werden)