Herrmann & Lenz Services GmbH 8. August 2007
Inhalt 1
Inhalt 1 2
Inhalt 1 2 3
Inhalt 1 2 3 4
Inhalt 1 2 3 4 5
Ist die Datenbank für überhaupt noch interessant? Die Anzahl der Produkte im Hause steigt drastisch insbesondere durch Zukäufe. Im Jahr 2006 war der weltweite Datenbank-Markt laut Gartner 15,2 Mrd. $ groß. Davon blieben 7,2 Mrd. $ oder 47,1 % bei. Im Geschäftsjahr 2007 machte einen Umsatz von 18 Mrd. $. Die Database Software ist nach wie vor größter Umsatzblock für.
Plattformen Entwicklungsplattform für die Datenbanksoftware ist Linux (32 Bit).
Plattformen Entwicklungsplattform für die Datenbanksoftware ist Linux (32 Bit). Die Installation der Beta-Software für diese Plattform konnte lediglich unter und Red Hat Enterprise Linux durchgeführt werden.
Plattformen Entwicklungsplattform für die Datenbanksoftware ist Linux (32 Bit). Die Installation der Beta-Software für diese Plattform konnte lediglich unter und Red Hat Enterprise Linux durchgeführt werden. Es standen auch Versionen für Windows und Solaris zur Verfügung (mit Verspätung)
Testumgebungen Einfache Testinstallationen als virtuelle Maschine: VMWare Server Enterprise Linux bzw. Windows 2003 Server
Testumgebungen Einfache Testinstallationen als virtuelle Maschine: VMWare Server Enterprise Linux bzw. Windows 2003 Server Cluster-Installation in folgender Konfiguration: 2 Doppelprozessor XEON-Maschinen mit je 2 GB RAM und zwei Netzwerkschnittstellen eigener Switch SAN-Storage Enterprise Linux
Standard-Installation Wenig Neues Viel Bekanntes.
Standard-Installation Wenig Neues Viel Bekanntes. Die Installationssourcen sind deutlich in der Größe gewachsen eventuell noch Debug-Code.
Standard-Installation Wenig Neues Viel Bekanntes. Die Installationssourcen sind deutlich in der Größe gewachsen eventuell noch Debug-Code. Konzept der modularen Installation (Database, Companion, Clusterware, Client) ist geblieben.
Standard-Installation Wenig Neues Viel Bekanntes. Die Installationssourcen sind deutlich in der Größe gewachsen eventuell noch Debug-Code. Konzept der modularen Installation (Database, Companion, Clusterware, Client) ist geblieben. Unter Windows wird das grafische SQL*Plus (sqlplusw.exe) nicht mehr ausgeliefert.
Standard-Installation Wenig Neues Viel Bekanntes. Die Installationssourcen sind deutlich in der Größe gewachsen eventuell noch Debug-Code. Konzept der modularen Installation (Database, Companion, Clusterware, Client) ist geblieben. Unter Windows wird das grafische SQL*Plus (sqlplusw.exe) nicht mehr ausgeliefert. Dafür ist überall der SQL*Developer mit dabei und natürlich nach wie vor das Kommandozeilen-Werkzeug SQL*Plus.
Standard-Installation Wenig Neues Viel Bekanntes. Die Installationssourcen sind deutlich in der Größe gewachsen eventuell noch Debug-Code. Konzept der modularen Installation (Database, Companion, Clusterware, Client) ist geblieben. Unter Windows wird das grafische SQL*Plus (sqlplusw.exe) nicht mehr ausgeliefert. Dafür ist überall der SQL*Developer mit dabei und natürlich nach wie vor das Kommandozeilen-Werkzeug SQL*Plus. 11.1.0.5 unter Linux hat einige eigenartige Phänomene (unerklärliche lange Laufzeiten...) deshalb wurde diese Version für Laufzeittests nicht herangezogen.
RAC-Installation Auch hier ist vieles so wie (bei 10.2) bekannt.
RAC-Installation Auch hier ist vieles so wie (bei 10.2) bekannt. Die Komponenten Clusterware, ASM und Database können nun unter verschiedenen Betriebssystembenutzern installiert werden.
ORACLE BASE Die Variable ORACLE_BASE muss gesetzt sein.
ORACLE BASE Die Variable ORACLE_BASE muss gesetzt sein. Von ihr wird der Pfad für die Diagnose-Umgebung abgeleitet: $ORACLE_BASE/diag/rdbms/<dbname>/<SID>
ORACLE BASE Die Variable ORACLE_BASE muss gesetzt sein. Von ihr wird der Pfad für die Diagnose-Umgebung abgeleitet: $ORACLE_BASE/diag/rdbms/<dbname>/<SID> Die Initialisierungsparameter xxx_dump_dest sind obsolet.
ORACLE BASE Die Variable ORACLE_BASE muss gesetzt sein. Von ihr wird der Pfad für die Diagnose-Umgebung abgeleitet: $ORACLE_BASE/diag/rdbms/<dbname>/<SID> Die Initialisierungsparameter xxx_dump_dest sind obsolet. Sie werden durch den Parameter diagnostic_dest ersetzt.
Online Dokumentation Format für HTML-Doku wurde angepaßt.
Online Dokumentation Format für HTML-Doku wurde angepaßt. Navigation ist einfacher.
Online Dokumentation Format für HTML-Doku wurde angepaßt. Navigation ist einfacher. Die Struktur (Titel, Inhalt) wurde leicht verändert.
Online Dokumentation Format für HTML-Doku wurde angepaßt. Navigation ist einfacher. Die Struktur (Titel, Inhalt) wurde leicht verändert. Es gibt noch einige alte Fehler:...every database has at least one tablespace...
Vorbemerkung Im folgenden werden auch Laufzeitangaben gemacht. Diese dienen zur Orientierung.
Vorbemerkung Im folgenden werden auch Laufzeitangaben gemacht. Diese dienen zur Orientierung. Bitte nicht als verbindlich ansehen oder als Benchmark einstufen!
Vorbemerkung Im folgenden werden auch Laufzeitangaben gemacht. Diese dienen zur Orientierung. Bitte nicht als verbindlich ansehen oder als Benchmark einstufen! Tests mit frühen Versionen, meist unter VMWare, sind nicht wirklich reproduzierbar.
Sequenzen in PL/SQL Früher war ein umständliches Stück Code zur Nutzung von PL/SQL notwendig: SELECT <seq>.nextval INTO <var> FROM DUAL;
Sequenzen in PL/SQL Früher war ein umständliches Stück Code zur Nutzung von PL/SQL notwendig: SELECT <seq>.nextval INTO <var> FROM DUAL; Mit 11g funkioniert es wie erwartet: <var> := <seq>.nextval;
Sequenzen in PL/SQL Früher war ein umständliches Stück Code zur Nutzung von PL/SQL notwendig: SELECT <seq>.nextval INTO <var> FROM DUAL; Mit 11g funkioniert es wie erwartet: <var> := <seq>.nextval; Testergebnisse Version Plattform Laufzeit SELECT Laufzeit Zuweisung 10.2.0.3 Windows 5,26 n/a 11.1.0.4 Windows 5,62 5,53
Fine-Grained Dependency Tracking Die Abhängigkeiten von kompilierten Objekten (Views, PL/SQL-Code usw.) werden detaillierter betrachtet.
Fine-Grained Dependency Tracking Die Abhängigkeiten von kompilierten Objekten (Views, PL/SQL-Code usw.) werden detaillierter betrachtet. Das Hinzufügen einer Spalte zu einer Tabelle führt nicht mehr zum invalidieren einer View, die diese Tabelle selektiert, wenn die neue Spalte nicht betroffen ist (kein SELECT *).
Fine-Grained Dependency Tracking Die Abhängigkeiten von kompilierten Objekten (Views, PL/SQL-Code usw.) werden detaillierter betrachtet. Das Hinzufügen einer Spalte zu einer Tabelle führt nicht mehr zum invalidieren einer View, die diese Tabelle selektiert, wenn die neue Spalte nicht betroffen ist (kein SELECT *). Testergebnis: ok!
LOB Compression Ein neuer Typ von LOBs (SecureFiles) erlaubt interessante Parameter: COMPRESS, ENCRYPT, DEDUPLICATE,...
LOB Compression Ein neuer Typ von LOBs (SecureFiles) erlaubt interessante Parameter: COMPRESS, ENCRYPT, DEDUPLICATE,... COMPRESS mit Option HIGH wurde mit einem BLOB (gut komprimierbare Daten) ausprobiert.
LOB Compression Ein neuer Typ von LOBs (SecureFiles) erlaubt interessante Parameter: COMPRESS, ENCRYPT, DEDUPLICATE,... COMPRESS mit Option HIGH wurde mit einem BLOB (gut komprimierbare Daten) ausprobiert. Testergebnis: gute Komprimierung (ca. 40 %); höhere CPU-Last beim INSERT.
PL/SQL Native Compilation Richtig: Das gab es doch schon mal!
PL/SQL Native Compilation Richtig: Das gab es doch schon mal! Aber: bisher nur mit installiertem Compiler und einigen zusätzlichen Parametern.
PL/SQL Native Compilation Richtig: Das gab es doch schon mal! Aber: bisher nur mit installiertem Compiler und einigen zusätzlichen Parametern. Neu: plsql_code_type = interpreted native
PL/SQL Native Compilation Richtig: Das gab es doch schon mal! Aber: bisher nur mit installiertem Compiler und einigen zusätzlichen Parametern. Neu: plsql_code_type = interpreted native Weiteres Feature: neuer Datentyp SIMPLE_INTEGER: Integer der Maschine, keine NULLs, kein Overflow-Handling
Testergebnisse PL/SQL Native Compilation Testprogramm: Rekursives Programm zur Berechnung der Summe von 1 bis N.
Testergebnisse PL/SQL Native Compilation Testprogramm: Rekursives Programm zur Berechnung der Summe von 1 bis N. Version Plattform Datentyp Interpreted Native 10.2.0.3 Windows NUMBER 0,37 n/a 11.1.0.4 Windows NUMBER 0,25 Absturz! 11.1.0.4 Windows SIMPLE_INTEGER 0,07 Absturz! 11.1.0.5 Linux NUMBER 5,01 2,59 11.1.0.5 Linux SIMPLE_INTEGER 1,73 0,59
SQL Result Cache Neuer Hint: RESULT_CACHE
SQL Result Cache Neuer Hint: RESULT_CACHE Ergebnis der Abfrage wird im Buffer Cache gehalten!
SQL Result Cache Neuer Hint: RESULT_CACHE Ergebnis der Abfrage wird im Buffer Cache gehalten! Bei DML auf abghängigen Tabellen wird der Result Cache invalidiert.
SQL Result Cache Neuer Hint: RESULT_CACHE Ergebnis der Abfrage wird im Buffer Cache gehalten! Bei DML auf abghängigen Tabellen wird der Result Cache invalidiert. Testergebnis: ok!
SQL Result Cache Neuer Hint: RESULT_CACHE Ergebnis der Abfrage wird im Buffer Cache gehalten! Bei DML auf abghängigen Tabellen wird der Result Cache invalidiert. Testergebnis: ok! Result Cache für PL/SQL-Funktionen wurde nicht getestet.
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g.
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g. NETWORK_SERVICE_BANNER enthält zwar eine Versionsnummer...
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g. NETWORK_SERVICE_BANNER enthält zwar eine Versionsnummer... aber offensichtlich die Net Version des Servers.
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g. NETWORK_SERVICE_BANNER enthält zwar eine Versionsnummer... aber offensichtlich die Net Version des Servers. Die typische Frage Wieviele Clients mit Version x.y haben wir eigentlich noch im Netz? kann also nicht leicht beantwortet werden.
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g. NETWORK_SERVICE_BANNER enthält zwar eine Versionsnummer... aber offensichtlich die Net Version des Servers. Die typische Frage Wieviele Clients mit Version x.y haben wir eigentlich noch im Netz? kann also nicht leicht beantwortet werden. Neue Informationen (u.a.): CLIENT_CHARSET CLIENT_VERSION
Net Client Informationen View V$SESSION_CONNECT_INFO... existiert auch schon in 10g. NETWORK_SERVICE_BANNER enthält zwar eine Versionsnummer... aber offensichtlich die Net Version des Servers. Die typische Frage Wieviele Clients mit Version x.y haben wir eigentlich noch im Netz? kann also nicht leicht beantwortet werden. Neue Informationen (u.a.): CLIENT_CHARSET CLIENT_VERSION Aber: Nur der 11g-Client füllt diese Informationen korrekt!
Wait Events Die Anzahl der Wait Events zur Analyse von Performanceproblemen hat sich für die letzten Versionen jeweils drastisch erhöht.
Wait Events Die Anzahl der Wait Events zur Analyse von Performanceproblemen hat sich für die letzten Versionen jeweils drastisch erhöht. Anzahl der Einträge in V$EVENT_NAME:
Wait Events Die Anzahl der Wait Events zur Analyse von Performanceproblemen hat sich für die letzten Versionen jeweils drastisch erhöht. Anzahl der Einträge in V$EVENT_NAME: Version Plattform Anzahl 10.2.0.3 Windows 876 11.1.0.4 Windows 939 11.1.0.5 Linux 954
SPFILE erzeugen Das CREATE SPFILE-Kommando hat bisher ein SPFILE aus einer init.ora-datei erzeugt.
SPFILE erzeugen Das CREATE SPFILE-Kommando hat bisher ein SPFILE aus einer init.ora-datei erzeugt. Online Änderungen bei Start mit init.ora waren verloren.
SPFILE erzeugen Das CREATE SPFILE-Kommando hat bisher ein SPFILE aus einer init.ora-datei erzeugt. Online Änderungen bei Start mit init.ora waren verloren. Beispiel: Beim CREATE DATABASE aus einer mit init.ora gestarteten Instanz und -managed Files geht der Parameter control_files verloren.
SPFILE erzeugen Das CREATE SPFILE-Kommando hat bisher ein SPFILE aus einer init.ora-datei erzeugt. Online Änderungen bei Start mit init.ora waren verloren. Beispiel: Beim CREATE DATABASE aus einer mit init.ora gestarteten Instanz und -managed Files geht der Parameter control_files verloren. Das kann nun erledigt werden mit CREATE SPFILE... FROM MEMORY;
RMAN Duplicate Das DUPLICATE-Kommando war schon immer eine gute Methode, Datenbanken zu kopieren, um z.b. Test-DBs aufzusetzen.
RMAN Duplicate Das DUPLICATE-Kommando war schon immer eine gute Methode, Datenbanken zu kopieren, um z.b. Test-DBs aufzusetzen. Bisher Voraussetzung: Eine Sicherung ist vorhanden.
RMAN Duplicate Das DUPLICATE-Kommando war schon immer eine gute Methode, Datenbanken zu kopieren, um z.b. Test-DBs aufzusetzen. Bisher Voraussetzung: Eine Sicherung ist vorhanden. Nun gibt es die Variante DUPLICATE TARGET DATABASE... FROM ACTIVE DATABASE;
Resümee Wenig große neue.
Resümee Wenig große neue. Viele effektive Details.
Resümee Wenig große neue. Viele effektive Details....gespanntes Warten auf die für Ende des Monats angekündigte Produktionsversion.
To Do... Einige sind noch nicht untersucht, aber wichtig!
To Do... Einige sind noch nicht untersucht, aber wichtig! Z.B. Autotask Infrastruktur zusätzlich zum neuen Scheduler für administrative Tasks wie Generierung von Statistiken usw.
To Do... Einige sind noch nicht untersucht, aber wichtig! Z.B. Autotask Infrastruktur zusätzlich zum neuen Scheduler für administrative Tasks wie Generierung von Statistiken usw. Enterprise Manager Database Control weigert sich noch beim Aufsetzen per Skript...
To Do... Einige sind noch nicht untersucht, aber wichtig! Z.B. Autotask Infrastruktur zusätzlich zum neuen Scheduler für administrative Tasks wie Generierung von Statistiken usw. Enterprise Manager Database Control weigert sich noch beim Aufsetzen per Skript... Die diagnostic_dest-umgebung muss noch weiter analysiert werden.