Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH
|
|
- Elisabeth Vogel
- vor 6 Jahren
- Abrufe
Transkript
1 Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH
2 Oracle JDBC Treiber Versionen Datenbank-Release J D B C Zertifiziert Nicht mehr unterstützt Wurde nie unterstützt In den JDBC Treibern der Version 10g wurden zahlreiche Performance-Verbesserungen vorgenommen. Daher sollte, wo möglich JDBC 10g eingesetzt werden.
3 Oracle JDBC-Treiber Typen OCI Thin Server side internal Server side thin [Typ II] [Typ IV] [Typ II] [Typ IV] Ein Typ I Treiber ist die JDBC-ODBC Brücke, mit der man (theoretisch) auch arbeiten kann. Einen Typ III-Treiber gibt von Oracle nicht.
4 Oracle JDBC-Treiber Thin vs. OCI Client Server JDBC JDBC thin OCI OCI SQL*Plus
5 Oracle JDBC-Treiber Thin vs. OCI Performance-Aspekte OCI Treiber ist zwar native Code... Dafür häufige "Context-switches" (JNI) JIT-Compiler bei thin-treiber Treiberauswahl hauptsächlich nach... Funktionalität Portierbarkeit Generelle Performance-Aussagen sind nicht möglich
6 Welchen Treiber nehmen... Thin-Treiber 100% Java Wenige fehlende Features Aus der Erfahrung schneller bei "einfachen Datenbankoperationen" OCI-Treiber Native Code (JNI) Oracle-Client-Installation (Instant Client!) Vollständige Funktionalität Spezialfall LOB in Oracle8i und Oracle9i Thin-Treiber verlagert Last auf den Middle-Tier
7 Performance-Aspekte Allgemeine Regeln Commit-Verhalten beachten Auto-Commit standardmäßig eingeschaltet Datenbank-Ressourcen Keine Freigabe durch Objekt-Destruktor Freigabe durch close() Close()-Methoden stets verwenden sonst... ORA-01001: Maximum open cursors exceeded
8 Performance-Aspekte SQL Parsing in der Datenbank Client Middle-Tier Netzwerk Roundtrips Server
9 SQL-Anweisungen String-Konkatenationen Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery ("select ename, job "+ "from emp " + "where empno=7839"); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery ("select ename, job "+ "from emp " + "where empno=4711");
10 SQL-Anweisungen SQL-Cache in der Datenbank SQL> select sql_text, executions 2 from v$sqlarea 3 where sql_text like '%scott.emp%'; SQL_TEXT EXECUTIONS select ename, job 1 from scott.emp where empno=7839 select ename, job 1 from scott.emp where empno=4711
11 SQL-Anweisungen Ausführung in der Datenbank Parse Bind Syntaktische Richtigkeit? Alle Tabellen und Spaltennamen in Ordnung? Erstellung Ausführungsplan Ersetzung der Bind-Variablen Execute Ausführung des Statements
12 SQL-Statements Bind-Variablen PreparedStatement stmt; stmt = con.preparestatement( ("select ename, job "+ "from emp " + "where empno =?"); ); stmt.setint(1,7839); ResultSet rs = stmt.executequery();
13 SQL-Anweisungen SQL-Cache in der Datenbank SQL> select sql_text, executions 2 from v$sqlarea 3 where sql_text like '%scott.emp%'; SQL_TEXT EXECUTIONS select ename, job 2 from scott.emp where empno=:1
14 SQL-Anweisungen... in 3rd-Party-Anwendungen INIT-Parameter CURSOR_SHARING EXACT (Standard-Einstellung) FORCE SIMILAR SQL Profiles Oracle10g EM Diagnostic / Tuning Pack
15 Generierte Schlüssel Rückgabe an Java... PreparedStatement pstmt; stmt = con.preparestatement( "insert into emp (empno, ename) "+ "values " + "(seq_emp.nextval,?)"); ); stmt.setstring(1, Meier ); stmt.execute(); JDBC 3.0 Standard Standard-Unterstützung nächstes Release
16 Generierte Schlüssel Rückgabe an Java (Oracle-Spezifisch) CallableStatement cstmt = con.preparecall ( "begin + "insert into emp (empno, ename) "+ "values (seq_emp. nextval,?) " + "returning empno into?; " + "end;" ); cstmt.setstring(1, "Meier"); cstmt.registeroutparameter(2, Types.NUMERIC); cstmt.execute(); int value = stmt.getint(2);
17 Performance-Aspekte Zugriffspfad Client Middle-Tier Netzwerk Roundtrips Server
18 Oracle ROWID Schnellster möglicher Zugriff JDBC Datentyp für Oracle ROWID oracle.sql.rowid Mapping als String ebenfalls möglich Verwendung als "Blackbox" Physikalische Informationen NUR intern und transient verwenden NIEMALS speichern
19 Oracle ROWID Ansprache mit JDBC I SQL SELECT select ename, rowid from emp where empno=4711 for update Übernahme oracle.sql.rowid v_rowid = rs.getrowid(2);
20 Oracle ROWID Ansprache mit JDBC II SQL UPDATE update emp set ename =? where rowid =? Bind Variable belegen und ausführen pstmt.setstring(1,'nobody'); pstmt.setrowid(2, v_rowid); pstmt.execute();
21 Performance-Aspekte Verwaltung der Statement-Objekte Client Middle-Tier Netzwerk Roundtrips Server
22 JDBC Statement Caching Prinzip JVM Client / Mittelschicht JDBC Statement Cache JDBC Anwendung Statement Statement Statement Statement Server
23 JDBC Statement Caching Varianten Implizites Statement Caching Weitgehend transparent zur Anwendung Wenige Oracle-spezifische Methodenaufrufe setimplicitcachingenabled() setstatementcachesize() Explizites Statement Caching Jeder Methodenaufruf Oracle-spezifisch Hoher Implementierungsaufwand Noch größerer Performancevorteil
24 Implizites Statement Caching Caching der Objekt-Metadaten Keine Neu-Konstruktion der Objekte Statement ist wie neu angelegt PreparedStatements / CallableStatements Statement-Identifizierung anhand SQL-String (Case sensitiv) Statement-Typ Scrollable -Eigenschaften ResultSet
25 JDBC Statement Caching Standards / Portabilität Kein JDBC Standard Portabler Code... InitialContext is = new InitialContext(); DataSource ds = ctx.lookup("jdbc/oracleds"); Connection con = ds.getconnection(); if (con instanceof oracle.jdbc.oracleconnection) { ((OracleConnection) con). setimplicitcachingenabled(true); }
26 Tuning-Maßnahmen Deklarativ... <data-source class="oracle.jdbc.pool.oracledatasource" connection-driver="oracle.jdbc.oracledriver" username="scott" password="tiger" inactivity-timeout="30" > <property name="maxstatements" value="10"/> <property name="implicitcachingenabled" value="true"/> </data-source>
27 Performance-Aspekte Netzwerk-Roundtrips Client Middle-Tier Netzwerk Roundtrips Server
28 JDBC Performance Connection Pooling Aufbau einer DB-Verbindung ist sehr teuer J2EE Server Oracle JDBC Driver Cache Manager Cache# 1... Cache# n Session Session 1.m Session n.1... Session n.m
29 Row Prefetching Zeilenabruf pro Netzwerk-Roundtrip Default: 10 Default bei LONG / LONG RAW: 1 Empfehlungen Normalerweise 10 Maximal 50 Konfiguration Statement.setRowPrefetch() Connection.setDefaultRowPrefetch()
30 JDBC Update Batching Stapelverarbeitung von DML-Anweisungen INSERT UPDATE DELETE Varianten Standardkonformes Update Batching Oracle-spezifisches Update Batching
31 JDBC Update Batching JDBC Standard Stapel wird explizit ausgeführt. PreparedStatement.executeBatch() Explizite Ablage der Anweisung auf dem Stapel PreparedStatement.addBatch()
32 JDBC Update Batching Oracle-Spezifisch Festlegung der Stapelgröße Default auf Connection-Ebene Auf Statement-Ebene OraclePreparedStatement.setExecuteBatch() OracleConnection.setDefaultExecuteBatch() Automatische, transparente Ausführung PreparedStatement.execute() Transparente Nutzung des Stapels OraclePreparedStatement.sendBatch()
33 JDBC Update Batching Oracle-Spezifisch Automatische Ausführung des Stapels Commit con.commit() Schließen der Datenbankverbindung con.close() Schließen des Statements stmt.close() Stapel wird bei JDBC Standard Update Batching niemals automatisch ausgeführt
34 JDBC Update Batching Nutzen... Automatische Ausführung bei Commit... Nutzen ist abhängig von Transaktionsgrenzen Beispiele: Pro Transaktion Mehrere Anweisungen Stapel-Ausführung beim Commit Ein statt mehrere Netzwerk-Roundtrips Nutzen... Eine Anweisung Stapel-Ausführung beim Commit Kein Nutzen...
35 JDBC Performance-Aspekte Vorgehensweise nach Aufwand Treiber-Auswahl 2. Deklarative Einstellungen (DataSource) 3. Code-Maßnahmen mit geringem Aufwand Connection-Aufbau mit "Properties"-Objekt Statement Caching / Update Batching Sehr zu empfehlen Code-Maßnahmen mit viel Aufwand Explizites Update-Batching Define Column Types (nicht mit JDBC 10g) Nur in Ausnahmefällen zu empfehlen...
36 JDBC Performance-Aspekte "Standard-Vorgehensweise" 1. 10g-JDBC-Treiber installieren 2. Implizites Statement Caching einschalten DataSources.xml OracleConnection (2 Methodenaufrufe) 3. Oracle-spezifisches Update Batching OracleConnection (2 Methodenaufrufe) Transaktionsgrenzen beachten Der Code wird nur an einer Stelle Oracle-spezifisch: Wenig Aufwand leichte Wartbarkeit
37 Q U E S T I O N S A N S W E R S
Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrConnection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.
Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
Mehr1a) SQL Stored Procedure via IDs
1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
MehrOptimaler Zugriff in jeder Anwendung SQL-Zugriff im Oracle-Server
Mittwoch, 9. November 2005 11h00, Variohalle 3 Optimaler Zugriff in jeder Anwendung SQL-Zugriff im Oracle-Server Bernhard Düchting, Detlef Kassow ORACLE Deutschland GmbH, Berlin/Hamburg Schlüsselworte:
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig
MehrDB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren
DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur
MehrJava, XML und Oracle10g What's new?
Java, XML und Oracle10g What's new? Carsten Czarski Business Unit Database Oracle Deutschland GmbH Agenda JDBC Web Rowset Oracle Connection Cache Fast Connection Failover Server Side JVM Database Web Services
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
MehrJava-Persistenz-Architekturen. Freiberuflicher Entwickler und Autor. DOAG Konferenz 1.12.
Java-Persistenz-Architekturen Rudolf Jansen Freiberuflicher Entwickler und Autor http://www.rudolf-jansen.de info@rudolf-jansen.de DOAG Konferenz 1.12.2008 Inhalt JDBC JPA (Java Persistence API) Spring
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?
Mehrvs. Fehler zur Übersetzungszeit
Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der
MehrZugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik
Zugriff auf die Datenbank Ulf Leser Wissensmanagement in der Bioinformatik Wie komme ich an die Datenbank? Alternativen Alles in Java machen JDBC Treiber von Oracle herunterladen Java programmieren Java-basierte
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrSQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement
SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden
MehrJava und Datenbanksysteme Datenbankanbindung mit JDBC
Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von
MehrJava: MySQL-Anbindung mit JDBC.
Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrPerformance Tuning mit @enterprise
@enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
Mehrseit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
MehrDatenbanksysteme I Übung: JDBC. Jana Bauckmann
Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
MehrKapitel 11: Anwendungsentwicklung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2015/2016 Kapitel 11: Anwendungsentwicklung Vorlesung:
MehrKapitel 11: Anwendungsentwicklung
Skript zur Vorlesung Wintersemester 2005/2006 Kapitel 11: Anwendungsentwicklung Vorlesung: Dr. Matthias Schubert Übungen: Elke Achtert, Arthur Zimek Skript 2004 Christian Böhm http://www.dbs.informatik.uni-muenchen.de/lehre/dbs
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.
MehrNeuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching
Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche
MehrDatenbanksysteme I. Aufgabe 1: Erstellen einer Multimedia-Datenbank. Grundlage sind wiederum bereits implementierte Methoden aus Übungsblatt 6:
Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 17. Dez. 2010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 7 Aufgabe 1: Erstellen einer Multimedia-Datenbank
MehrDatenbank Anbindung. Arthur Zaczek
Datenbank Anbindung Arthur Zaczek Nov 2014 1/39 Datenbank Anbindung Datenbank Anbindung 2/39 Übersicht Datenbankanbindung mit JDBC und ADO.NET. Datenbank Anbindung 3/39 .NET ADO.NET Kein Treiberkonzept.
MehrEinführung in JDBC. IFIS Universität zu Lübeck 18.04.2007
Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle
MehrUniversität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8
Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 18. Dez. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 8 Aufgabe 1: JDBC 2.0 und Scrollable Result Sets Datenbanksysteme
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
MehrKapitel 11: Anwendungsentwicklung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für ysteme Skript zur Vorlesung Wintersemester 2010/2011 Kapitel 11: Anwendungs Vorlesung: DP Dr. Matthias Schubert
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrAufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur
Herbert Birkenbach 28.03.2000 CSS Open Database Architecture CSS Open Database Architecture Die Firma CSS GmbH erstellt und vertreibt kaufmännische Standard-Software. Die Entwicklung basierte datenbankseitig
MehrWarum wird mein Index nicht benutzt?
Warum wird mein Index nicht benutzt? Index Nutzung-1 Tätigkeitsbereiche: Oracle Support Hotline: Mo-Fr 8.00 18.00 Uhr Erweiterung um eine Rufbereitschaft auch am Wochenende möglich Oracle IT-Consulting
MehrDatenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen
Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff
MehrExercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC
Prof. Dr. Stefan Böttcher Exercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC 1. Preliminary configurations 1.1. Register ODBC database Chose Arbeitsplatz Systemsteuerung
MehrQuery Result Caching. Optimierung des Datenbankzugriffs
Query Result Caching Optimierung des Datenbankzugriffs Andreas Hubmer 19.11.2012 Inhalt Problemstellung Tabellen-Cache DBProxy Objekt-Cache 1 st -/2 nd -Level Cache Query Cache 2 Problemstellung Application-
MehrErzeugung und Veränderung von Tabellen
Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen
MehrOracle 11g Release 2: Änderungen unter der Haube. Dierk Lenz DOAG 2011 Konferenz und Ausstellung 16. November 2011
Oracle 11g Release 2: Änderungen unter der Haube Dierk Lenz DOAG 2011 Konferenz und Ausstellung 16. November 2011 Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt
MehrÜbersicht. Relationale Datenbanken SQL - Structured Query Language JDBC - Java Datenbank Schnittstelle Beispielanwendung. R. Kopetzky 7.
Informatik Verbund Stuttgart der Universität Stuttgart Tutorium Java Anbindung von Datenbanken mit JDBC (kopetzky@ike.uni-stuttgart.de) Übersicht Relationale Datenbanken SQL - Structured Query Language
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrOracle Virtual Private Database
Oracle Virtual Private Database Rolf Wesp Consultant Application Development Rolf.Wesp@trivadis.com Düsseldorf, September 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
Mehr<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.
Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.
MehrDatenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 21 Datenbanken SQL JDBC 2 / 21 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen:
MehrJDBC Datenzugriff aus Java ETIS SS04
JDBC Datenzugriff aus Java ETIS SS04 Gliederung Motivation Bestandteile Fehlerbehandlung Metadaten Zusammenfassung JDBC 2 Motivation(I) Standard für Zugriff auf Datenquellen aus Java- Anwendungen RDBs,
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrHo Ngoc Duc IFIS - Universität zu Lübeck
Ho Ngoc Duc IFIS - Universität zu Lübeck 16.04.2003 1 Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle (Java-API)
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrDonnerstag, 10. November h00, Musensaal Database. LogMiner im Einsatz. Marco Patzwahl MuniQSoft GmbH, Unterhaching b.
Donnerstag, 10. November 2005 15h00, Musensaal LogMiner im Einsatz Marco Patzwahl MuniQSoft GmbH, Unterhaching b. München Schlüsselworte: LogMiner, Analyse der Redologdateien, Redolog Audit, fehlerhafte
MehrDatenbank Anbindung. Arthur Zaczek. Nov 2014
Arthur Zaczek Nov 2014 1 Datenbank Anbindung 1.1 Übersicht Datenbankanbindung mit JDBC und ADO.NET. 1.2.NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur
Mehr12. Programmierung in der Datenbank
12. Programmierung in der Datenbank Motivation für Programme in der Datenbank Aufbau von serverseitigen Programmen Ausnahmebehandlung Erstellung von Triggern 305 Erweiterung relationaler Einbettung von
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 2 Oracle 10g Express Edition (XE) Installation auf Windows XP GridAgenda Timo Meyer Administration von Oracle-Datenbanken Seite 1 von 50 Timo Meyer Sommersemester 2006 Seite
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrArbeit mit zusammengesetzten Datentypen
Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights
MehrPerformance für Oracle Anwendungen nicht nur für Oracle 11g
nicht nur für Herrmann & Lenz Services GmbH 21. November 2007 Die Firma Herrmann & Lenz wurde 1995 gegründet und hat aktuell 10 Mitarbeiter. Firmensitz: Burscheid (bei Köln). Beratung, Schulung und Fernwartung
Mehr5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System
5.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrOracle Developer Monthly Datenbank-Update für Anwendungsentwickler
Oracle Developer Monthly Datenbank-Update für Anwendungsentwickler Einwahl in die Telefonkonferenz 0800 6648515 oder +49 69 222216106 Conference Code: 9969115 Meeting Passcode: 06062014 Carsten Czarski
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrPrakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
MehrÜbung: Data Warehousing und Data Mining
Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters
MehrDatenaustausch Hadoop & Oracle DB Carsten Herbe metafinanz Informationssysteme GmbH München
Datenaustausch Hadoop & Oracle DB Carsten Herbe metafinanz Informationssysteme GmbH München Schlüsselworte Hadoop, Sqoop, Sqoop 2, Hive, Oracle Big Data Konnektoren Einleitung Neben der klassischen Data
MehrEinbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung
Einbettung in SQL Zwei Prinzipien: (1) Statische Einbettung - Vorübersetzer-Prinzip (Pre-Compiler) - In Programmcode integrierte SQL-Anweisungen werden durch den Precompiler übersetzt, d.h. in Prozeduraufrufe
MehrÜbung: Data Warehousing und Data Mining
Übung: Data Warehousing und Data Mining Sebastian Wandelt 23. Oktober 2014 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Verbinden mit Oracle 1. Aufgabenblatt Gruppenfindung Die Übung Über
MehrSQL-Analyse und Tuning
Seite 1 SQL-Analyse und Tuning Einfach und schnell Thorsten Bruhns Solution Architekt OPITZ CONSULTING Deutschland GmbH Standort Bad Homburg Mannheim, 27.09.2012 Seite 2 Agenda 1. Einleitung 2. Herausforderungen
MehrUniversität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 05. Dez F. Wenzel, L. Rudenko Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 05. Dez. 2014 F. Wenzel, L. Rudenko Lösungsblatt 7 Aufgabe 1: JDBC 2.0 und Scrollable Result Sets Datenbanksysteme I Lösungen
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrProgrammieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
Mehr<Insert Picture Here> Hochverfügbarkeit in der Anwendungsentwicklung: TAF, FCF, FAN und mehr...
Hochverfügbarkeit in der Anwendungsentwicklung: TAF, FCF, FAN und mehr... Carsten Czarski ORACLE Deutschland GmbH Hochverfügbarkeit und die Anwendung Eine hochverfügbare Datenbank
MehrErzeugen von Constraints
Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key
Mehr4.2 Workshop EJB. Entwicklung von EJB-Anwendungen
4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrPraktikum Datenbanksysteme
Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller
MehrGML und Bibliothek oracle.sdoapi
GML und Bibliothek oracle.sdoapi Nachfolgend werden die Java-Klassen aus dem GML-Kapitel unter Verwendung der alten Klassenbibliothek oracle.sdoapi dargestellt. Erzeugung von GML 3.1 aus SDO_GEOMETRY-Objekten
MehrUniversität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen
MehrProgrammieren und DBMS. Dr. Karsten Tolle
Programmieren und DBMS Dr. Karsten Tolle Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere? Datenbank Administrator Fortgeschrittener
MehrDatenbanksysteme 2011
Datenbanksysteme 2011 noch Kapitel 10: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /
MehrORACLE. ORACLE-SQL für Profis. Tuning von ORACLE-SQL (Einführung-2) Januar,
ORACLE ORACLE-SQL für Profis Tuning von ORACLE-SQL (Einführung-2) 1 1. Die Oracle Optimizer Die SQL-Optimizer entscheiden grundsätzlich anhand der folgenden Kriterien: Angegebene Syntax für die Anweisung
Mehr