Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Ähnliche Dokumente
3. Architektur eines DBS (Oracle)

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

MIN oder MAX Bildung per B*Tree Index Hint

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Prozessarchitektur einer Oracle-Instanz

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1 topologisches Sortieren

Viele Bilder auf der FA-Homepage

Kopfzeile. Inhaltsverzeichnis

3. Stored Procedures und PL/SQL

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Webalizer HOWTO. Stand:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Dokumentation IBIS Monitor

Benutzerhandbuch - Elterliche Kontrolle

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

Hilfedatei der Oden$-Börse Stand Juni 2014

Software- und Druckerzuweisung Selbstlernmaterialien

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Statuten in leichter Sprache

Fachhochschule Deggendorf Platzziffer:...

Informatik 12 Datenbanken SQL-Einführung

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Aktualisierung zum Buch Windows und PostgreSQL

Was meinen die Leute eigentlich mit: Grexit?

Beweisbar sichere Verschlüsselung

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Aufklappelemente anlegen

Primzahlen und RSA-Verschlüsselung

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense Copyright QlikTech International AB. Alle Rechte vorbehalten.

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Professionelle Seminare im Bereich MS-Office

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

4 Aufzählungen und Listen erstellen

WLAN Konfiguration. Michael Bukreus Seite 1

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Zeichen bei Zahlen entschlüsseln

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

SEMINAR Modifikation für die Nutzung des Community Builders

Innovator 11 excellence. Import eines DB-Schemas mit Direktzugriff auf ein RDBMS via JDBC. HowTo. Udo Ende.

Professionelle Seminare im Bereich MS-Office

MARCANT - File Delivery System

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Der neue persönliche Bereich/die CommSy-Leiste

Probeklausur Grundlagen der Datenbanksysteme II

1 Vom Problem zum Programm

Info-Veranstaltung zur Erstellung von Zertifikaten

Bruchrechnung Wir teilen gerecht auf

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

ecaros2 - Accountmanager

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Holiday plans: ein Gespräch über Urlaubspläne

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Konzepte der Informatik

Der Vollstreckungsbescheid. 12 Fragen und Antworten

iphone- und ipad-praxis: Kalender optimal synchronisieren

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Grundbegriffe der Informatik

Bei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!!

Lizenzierung von SharePoint Server 2013

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Ablauf bei der Synchronisation und Sortierung von Dateien aus mehreren Kameras

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Media Teil III. Begriffe, Definitionen, Übungen

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Wie können Sie eine Client Lizenz wieder freigeben?

Universität Stuttgart Abteilung Anwendersoftware Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL Intensivpraktikum SS 2008

Stand: Adressnummern ändern Modulbeschreibung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Geld Verdienen im Internet leicht gemacht

Menü auf zwei Module verteilt (Joomla 3.4.0)

ASA Schnittstelle zu Endian Firewall Hotspot aktivieren. Konfiguration ASA jhotel

Anleitung über den Umgang mit Schildern

Lizenzierung von SharePoint Server 2013

Objektorientierte Programmierung

Informationsblatt Induktionsbeweis

Website freiburg-bahai.de

8 Access-Abfragen migrieren

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Transkript:

Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup) ist überarbeitenswert (prinzipiell) Alte Variante Aufruf von svrmgrl durch Benutzer oracle u.a. (Authentifizierung durch OS): connect internal exit Neue Variante: Aufruf von sqlplus/nolog Connect username/password as sysdba bzw. Sysoper exit (Verwaltung der Benutzer via Password File) Ende Abschnitt 2.1 2.2 (DB-Privilegien, eigentlich Rollen, beispielhaft) connect Verbindungsaufbau zur DB möglich Protokoll 2: Mit der View Definition kann man m.e. nicht sehr viel anfangen, deshalb wäre m.e. ein Verweis auf Protokoll 1 unbedingt sinnvoller Bei den Roles sollte die Frage des Zugriffs (S.3) wie folgt beantwortet werden: Ja, aber nur, wenn er rolle1 und damit rolle0 ausübt. (Damit wird die Hierarchie der Zugriffsrechte sichtbar!) Bei der Skizze zur Instanzarchitektur fehlen die DB Writer, die die modifizierten Blöcke vom Buffer Pool in die DB schreiben, außerdem ist der Checkpoint Prozess nicht aufgeführt, der Verwaltungsinformationen zum Checkpoint in die Data Files und das Controfile schreibt. Der Vollständigkeit halber sollte man vielleicht auch PMON und SMON, die beiden Monitor Prozesse, in das Bild aufnehmen. Protokoll 3: Bei der Diskussion des Redo Log Switchs 4 -> 1 sollte das Redo Log nur aus den 4 Logs bestehen. Checkpoint-Konfiguration: Recovery Betrieb => Crash Recovery

SMON (System Monitor) Hat zwei Aufgaben - Instanz Überwachung inklusive Aufräumarbeiten - Steuerung von (Startup und) Crash Recovery Einrückung Shared Pool Library Cache Dictionary Cache Protokoll 4: Okay Protokoll 5: Bei der relationalen und physischen Algebra: Equi Join binäre Zuordnung, Non Equi Join wird nicht betrachtet (nur der Vollständigkeit halber) Protokoll 6: Überschrift Nested Loop, Sort/Merge weg! Beispiel Schritt 3: Sortieren, um Duplikate zu entfernen Vor order by ename Überschrift: Diskussion der order by Klausel Vorschlag 1: Letzte beiden Zeilen vor Vorschlag 2 ersetzen durch: Index liefert falsche Reihenfolge, also muß für order by sortiert werden. Kapitel Joins: Erstes Select kann gestrichen werden! 2. Select: Überschrift: Zunächst reduzierte Betrachtung(1 Restriktion) Betrachtung 1: Reduktion auf Restriktion e.sal >... Annahme: kleine Treffermenge, z.b. 10 Äußere Schleife: Bestimme emp Zeilen mit e.sal >... (10) via Indexzugriff Innere Schleife: Für alle 10 Treffer, bestimme zugehörige Abteilung via Index auf Primary Key (deptno).

Betrachtung 2: Reduktion auf Restriktion d.loc =... Annahme: 10 Treffer Äußere Schleife: Bestimme dept Zeilen mit d.loc =... (10) via Indexzugriff Innere Schleife: Für alle 10 Treffer, bestimme zugehörige Mitarbeiterdaten via Foreign Key d.deptno (auf FK sollte Index angelegt werden) In beiden Fällen ist die beschriebene Technik (Nested Loop Join) vorteilhaft: Indexzugriff für äußere und innere Schleife Kleine Treffermenge in äußerer Schleife => Innere Schleife besteht aus wenigen Indexzugriffen Frage: Was ist besser, wenn beide Restriktionen präsent sind? In unserem Beispiel Start mit Restriktion e.sal >... (10 Treffer), dann Nested Loop Join (jeweils 1 Treffer), Restriktion d.loc =... on the fly Variante zu Nested Loop: bestimme alle zugehörigen Abteilungsdaten via PK auf deptno (1Mio Indexzugriffe) ineffizient, auch wenn Caching berücksichtigt wird Besserer Zugriffspfad auf dept: -> Hash... Für den sequentiellen Zugriff sind CPU- und I/O-Ressourcen erforderlich => Hash Joins sind ressourcenintensiv Unterschied:... => Diese Zeile streichen! 3. Join Technik: Sort/Merge Join statt Eine Variante... Beurteilung... Nested Loop:... vermeiden durch Indexzugriff, der sowohl Restriktion als auch sortierten Zugriff unterstützt OLTP (Online Transaction Processing) Antwortzeitoptimierung (durch Indexzugriff für Restriktion und sortierten Zugriff, Nested Loop Joins) Unterstützung von (Master Detail) Left outer joins und mengentheoretische Differenz (z.b. Berücksichtigung von Abteilungen ohne Mitarbeiter) Beispiele am Ende (eher von generellem Interesse) Abfrage: Select deptno from dept where deptno not in...

Welche Abfrage ist besser? - i.a. die binäre Zuordnung - Query Rewrite Komponente sollte in der Lage sein, die (für den jeweiligen Optimizer) schlechtere Formulierung in die bessere umzuwandeln. - Wenn nicht, sollte der Entwickler die bessere Formulierung (kennen und) verwenden! Die abschließende Betrachtung der Algorithmen zur Gruppierung von Daten ist eher von prinzipiellem Interesse, also entweder weglassen oder korrekt formulieren! Abfrage: Anzahl Mitarbeiter pro Abteilung Algorithmen - Aufbau einer Hash Table zu Abteilungsnummern während sequentiellen Zugriffs auf emp: Falls Abteilung noch nicht vorhanden, Einfügen und mit Anzahl 1 initialisieren Sonst Anzahl erhöhen - Sequentieller Zugriff auf emp, Projektion auf Spalte deptno, Sortieren des Resultats, danach Bestimmung der Anzahl Mitarbeiter pro Abteilung - Falls Index auf deptno in emp existiert, kann der zweite Algorithmus via Index Only Zugriff umgesetzt werden (zu jedem Eintrag muß nur die Anzahl der Row Ids bestimmt werden) Protokoll 7 Teil 1: Mein Vorschlag: Die Problematik der NULLs in Oracle weglassen und nur die beiden Abfragen (Anzahl Mitarbeiter, Durchschnittsgehalt) mit dem jeweiligen Hinweis auf den Index Only Zugriff bringen. Problem bei Oracle: NULL wird im Index nicht berücksichtigt, dadurch wäre der Indexzugriff nicht korrekt. Dto. Für die nächste Abfrage gilt das gleiche. Lösungsansatz: Default Wert anstelle von NULL, functional Index, Umformulierung der Abfrage in Select deptno, count (*) From emp Where deptno >0 Group by deptno Union all Select deptno, count (*) From emp Where deptno not null Order by: Es ist die Entscheidung zu treffen: - Daten expliziert zu sortieren oder - Sortierung durch sortierten Zugriff via Index zu vermeiden?

OLTP. Hier ist eine kurze Antwortzeit gefordert, demnach sollte eine Sortierung vermieden werden. Projektion / Vereinigung Triviale Operationen für den Optimizer (Duplikate entfernen wird ja gesondert betrachtet) Kartesisches Produkt Sollte i.a. nicht verwendet werden Strategien des Optimizers: - Wahl der geeigneten Join Reihenfolge und Join Algorithmen fehlt! (s. Folie) Weiter (nach Liste der Strategien): Der Optimizer muss wissen, ob auf Antwortzeit oder Durchsatz optimiert werden soll Bei Oracle gibt es hierfür sog. hints : Select /*+ first_row */ opt. Auf Antwortzeit Select /*+ all_rows */ opt. Auf Durchsatz Bei DB2 gibt es die hierfür folgende Klausel: Optimize for N rows Das Problem hierbei ist die mangelnde Portabilität. N=1 Antwortzeit, N groß Durchsatz Protokoll 7 Teil 2: Anmerkung: Welchen Vorteil hat es, sal mit in den Index zu nehmen? Kleinere Treffermenge Abfragen (siehe Skript) finde ich unglücklich, am besten die Abfragen werden in das Dokument hineinkopiert. Protokoll 8 Teil 1: Erstes Beispiel ist unglücklich, weil vorher nur von ODBC, JDBC gesprochen wird und dann ein Beispiel zu Embedded SQL kommt. Vorschlag: vorher (ODBC, JDBC, aber auch Embedded SQL, SQL/J) Embedded SQL bei statisches SQL weglassen und zusammen mit SQL/J aufführen: Embedded SQL für C/C++, Cobol,..., SQL/J (Embedded SQL für Java) Das SQL kann... JDBC Treiber: Typ 1 bzw. 2: Installationsaufwand auf (DBS) Client Rechner Typ 3 bzw. 4: Nur JDBC Treiber muß auf (DBS) Client Rechner verteilt werden

Protokoll 8 Teil 2: Zum Savepoint: JDBC3 bietet die Möglichkeit, Transaktionen durch Savepoints intern zu strukturieren.... rowcount // gibt Anzahl der von einem DML Statement betroffenen Zeilen zurück: execute ist auch für den Aufruf von Stored Procedures einzusetzen! Optimierung: - Optimierung beim Prepare - Optimierung (direkt) vor der ersten Ausführung Effizienz der Wiederverwendung von Plänen: Hängt vom DBS ab..., ist aber generell gegeben (falls der Plan nicht parameterabhängig ist) Voraussetzung... Identifikation des Plans, z.b. anhand des Statement Texts Weitere Protokolle liegen zur Zeit nicht vor!!!