Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.

Werbung
Mythen und Wahrheit
Über PL/SQL Native Compile
DOAG- Konferenz 2009
1
Mythen und Wahrheit über PL/SQL Native Compile
Robert Marz
Technical Architect
its-people Hochtaunus GmbH
[email protected]
www.its-people.de
DOAG- Konferenz 2009
2
its-people – Experten für IT-Projekte
 its-people ist ein unternehmerisch organisierter und geführter
Verbund von selbständigen und erfahrenen IT-Beratern
 its-people ist versierter Anbieter von technologienahen
Dienstleistungen: Oracle, SAP, BI und IT-Management Services, …
 its-people bietet seine Dienstleistungen bundesweit und
flächendeckend an und orientiert sich dabei an den Bedürfnissen
der Kunden
 its-people ist in den Wirtschaftsräumen Rhein-Main, NordrheinWestfalen, München, Hamburg und Wolfsburg vertreten und
umfasst ca. 180 Berater
 www.its-people.de
DOAG- Konferenz 2009
3
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
4
Motivation
DOAG- Konferenz 2009
5
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
6
Mythos 1: Voraussetzungen
Ohne C-Compiler geht es nicht.
DOAG- Konferenz 2009
7
Mythos 1: Voraussetzungen
Ohne C-Compiler geht es nicht.
(wahr bis Oracle 11g)
DOAG- Konferenz 2009
8
Mythos 1: Voraussetzungen
Linux:
 gcc gehört bei den meisten Linux-Distributionen zum Lieferumfang
 Wenn er fehlt (cc auf der Komandozeile schlägt fehl), ist er über das
Paketmanagement nachzuinstallieren
 Für die RDBMS Releases 10g und 11g unter Linux hat Oracle die
Versionen 3.4 und 4.1 der gcc zertifiziert
DOAG- Konferenz 2009
9
Mythos 1: Voraussetzungen
Windows:
 Bei Microsoft gehört für gewöhnlich kein Compiler zum
Lieferumfang.
 Für 10gR2 hat Oracle die Versionen


„Microsoft Visual C++ .NET 2002 7.0“ und
„Microsoft Visual C++ .NET 2003 7.1“ zertifiziert.
 Für 11gR1 kommt noch die 2005er Version hinzu.
DOAG- Konferenz 2009
10
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
11
Mythos 2: Komplexität
Folgende Parameter beeinflussen die Übersetzung von PL/SQL:
 plsql_v2_compatibility
 plsql_compiler_flags
 plsql_native_library_dir
 plsql_native_library_subdir_count
 plsql_warnings
 plsql_code_type
 plsql_debug
 plsql_optimize_level
 plsql_ccflags
DOAG- Konferenz 2009
12
Mythos 2: Komplexität
Für native compile muss nur einer davon gesetzt sein:
 plsql_v2_compatibility
 plsql_compiler_flags
 plsql_native_library_dir
 plsql_native_library_subdir_count
 plsql_warnings
 plsql_code_type
 plsql_debug
 plsql_optimize_level
 plsql_ccflags
DOAG- Konferenz 2009
13
Mythos 2: Komplexität
Für native compile muss nur einer davon gesetzt sein:
DOAG- Konferenz 2009
14
Mythos 2: Komplexität
Für ab 11g entfällt auch das.
Lediglich der
plsql_optimize_level
muss mindestens den Wert 2 haben (das ist die Defaulteinstellung)
DOAG- Konferenz 2009
15
Mythos 2: Komplexität
Der Modus der Übersetzung lässt sich festlegen:
 Durch einen Session Parameter
 Durch einen Systemweiten Parameter festlegen
 Direkt beim kompilieren mit angeben
Letzteres ist am einfachsten:
DOAG- Konferenz 2009
16
Mythos 2: Komplexität
Live: natives Übersetzen von PL/SQL ist einfach
DOAG- Konferenz 2009
17
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
18
Mythos 3: Sicherheit
 die erzeugten shared libraries liegen in einem externen Verzeichnis
und könnten manipuliert werden.
 ein potentieller benötigt Angreifer dazu Zugriff auf das
Betriebssystem des Datenbankserver mit den gleichen
Berechtigungen, die ihm auch das Manipulieren der Oracle-Binaries
ermöglichen würde.
DOAG- Konferenz 2009
19
Mythos 3: Sicherheit
 Seit Oracle 10g werden die Libraries als BLOB in der Tabelle
sys.ncomp_dll$ gespeichert.
 Das ermöglicht ein Backup via RMAN und verteilen an StandbyDatenbanken
 Beim Startup der Datenbank werden evtl. fehlende dlls im
Betriebssystem mit den BLOBs aus dieser Tabelle einfach ersetzt.
DOAG- Konferenz 2009
20
Mythos 3: Sicherheit
 Die Libraries sind gescrambeld
– Zeichenketten lassen sich nicht extrahieren
DOAG- Konferenz 2009
21
Mythos 3: Sicherheit
Live: Sicherheit bei native compile
DOAG- Konferenz 2009
22
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
23
Mythos 4: Catalog kompilieren
 Das ist kein Mythos, sondern fällt in die Rubrik Wahrheit.
 Wenn plsql_code_type systemweit auf native gesetzt wird, wird
jedes Stück PL/SQL beim nächsten Übersetzen nativ übersetzt. Das
gilt auch für die Packages des Schema sys
 ABER:
Vermutlich gibt es einen Grund, worum Oracle dies nicht als
Voreinstellung wählt.
DOAG- Konferenz 2009
24
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
25
Mythos 5: Geschwindigkeit
 Durch das native Übersetzen von PL/SQL wird der
Datenbankteil jeder Anwendung signifikant beschleunigt.
DOAG- Konferenz 2009
26
Mythos 5: Geschwindigkeit
DOAG- Konferenz 2009
27
Mythos 5: Geschwindigkeit
 Tatsächlich kann reines PL/SQL um den Faktor zwei beschleunigt
werden
 SQL-Abfragen profitieren natürlich nicht von der nativen
Übersetzung
 Kontext-Wechsel zwischen SQL und PL/SQL können den
Geschwindigkeitsvorteil beinahe komplett aufzehren
DOAG- Konferenz 2009
28
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
30
Fazit
 Vor nativer Übersetzung von PL/SQL-Code braucht niemand Angst
zu haben.
 Es ist einfach – ab Oracle 11g braucht man nicht mal mehr einen CCompiler
 Anwendungen werden beschleunigt
 Der tatsächliche Geschwindigkeitsgewinn hängt von vielen Faktoren
ab.
DOAG- Konferenz 2009
31
Agenda
 Motivation





Mythos 1: Die Voraussetzungen sind schwer herzustellen
Mythos 2: Nativ zu übersetzen ist kompliziert
Mythos 3: Externe Libraries sind unsicher
Mythos 4: Ich kann den ganzen Catalog nativ übersetzen.
Mythos 5: Alles wird schneller
 Fazit
 Fragen und Antworten
DOAG- Konferenz 2009
32
Vielen Dank!
DOAG- Konferenz 2009
33
FRAGEN
A N TWORTEN
DOAG- Konferenz 2009
34
Herunterladen