Native Kompilierung in 9i (und 10g) heisst, dass PL/SQL-Code zunächst in C-Code übersetzt und dann über einen C-Compiler in nativen Code kompiliert wird. Ein Interpreter-Schritt, wie er bisher bei der Ausführung von PL/SQL-Routinen nötig war, entfällt damit. Das Programm wird als Shared Library Unit oder dll im Filesystem abgespeichert und zur Ausführung in die PGA geholt und direkt an den Oracle-Prozess gelinkt.
Die Ausführung von SQL-Befehlen kann durch dieses Feature NICHT beschleunigt werden, daher bietet native Kompilierung nur bei rechenintensiven Programmeinheiten deutliche Verbesserungen in der Laufzeit.
Zur Einstellung des Verhaltens wurden mehrere Init.ora-Parameter in 9i eingeführt:
PLSQL_COMPILER_FLAGS muss gesetzt sein, egal, ob man mit nativer Kompilierung arbeitet oder weiterhin seine Routinen in Bytecode übersetzen will. Mögliche Einstellungen sind:
PLSQL_COMPILER_FLAGS ist sowohl mit ALTER SYSTEM als auch mit ALTER SESSION änderbar, alle übrigen nur mit ALTER SYSTEM. Eine Umstellung betrifft nur neu zu erzeugende Programme, nicht bereits vorhandene.
Wenn mit nativer Kompilierung gearbeitet werden soll, müssen in 9i folgende Parameter zusätzlich gesetzt werden:
Alle weiteren Parameter können optional gesetzt werden:
Eine Änderung der o.a. Parameter betrifft nur PL/SQL-Routinen, die nachher kompiliert werden:
Auch vordefinierte Packages können in nativen Code überführt werden. Es wird für jede Unit mit aufgezeichnet, wie sie kompiliert wurde; sollte ein Programm automatisch rekompiliert werden (, weil es INVALID wurde), werden die gespeicherten Einstellungen beibehalten.
Informationen zur Art der Kompilierung finden sich in DBA_STORED_SETTINGS unter PARAM_VALUE WHERE PARAM_NAME = 'PLSQL_COMPILER_FLAGS'.
Anmerkung:
Der Einsatz dieses Features wurde in 10g deutlich vereinfacht, und ab 11g kann ganz ohne Konfigurationsaufwand damit gearbeitet werden. Einzelheiten dazu finden Sie hier.
Niederlassungen
Witneystraße
089 6228 6789-0
Grünwalder Weg
089 679090-40
E-Mail:
Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.