Database Reference
In-Depth Information
Wenn der Parameter CURSOR_SHARING ungleich EXACT ist, werden Literale im
SQL-Text automatisch durch die systemgenerierten Bind-Variablen ersetzt, wenn man die
Stored Outlines mit der Einstellung CREATE_STORED_OUTLINES erzeugt. Wird eine
Stored Outline mit dem Kommando „CREATE OUNTLINE“ angelegt, muss man in die-
sem Kommando den SQL-Text mit den systemgenerierten Bind-Variablen eingeben.
Die Stored Outlines, die dem Datenbankbenutzer SYS gehören und für die SQL-An-
weisungen mit den Objekten aus dem Schema SYS angelegt sind, werden nie angewendet,
wenn der Datenbankbenutzer SYS diese SQL-Anweisungen selbst ausführt. Wenn das ein
anderer Datenbankbenutzer macht, werden die jeweiligen Stored Outlines benutzt. Das
kann man mit dem Skript test_case_stored_outlines.sql nachvollziehen.
Wenn man die Stored Outlines massenhaft mit der Einstellung CREATE_STORED_
OUTLINES als Datenbankbenutzer SYS erzeugt, werden keine Stored Outlines für die
SQL-Anweisungen angelegt, die auf die Objekte im Schema SYS zugreifen.
14.2
SQL Profiles
Wir wissen bereits, dass dieses Feature erstmalig in Oracle 10 erschien und zum automa-
tischen SQL-Tuning gehört. Ein SQL Profile enthält spezielle Optimizer-Statistiken, die
die konventionellen Optimizer-Statistiken ergänzen bzw. anpassen. Man kann die Ausfüh-
rungspläne mit den SQL Profiles solange fixieren, solange das System unverändert bleibt.
Eine geänderte Parametereinstellung, die für den Optimizer relevant ist, kann beispiels-
weise den Ausführungsplan trotz der Anwendung eines SQL Profile ändern.
Einem SQL Profile ist entweder Exact Matching Signature oder Force Matching Sig-
nature (ab Oracle 10.2) zugeordnet, in Abhängigkeit davon, wie das jeweilige SQL Profile
angelegt ist (ohne „force matching“, also ohne die erzwungene Mustersuche oder mit).
Zu den SQL Profiles gibt es zwei Views: DBA_SQL_PROFILES und DBA_ADVISOR_
TASKS. Die Spalte SIGNATURE der View DBA_SQL_PROFILES enthält entweder Ex-
act Matching Signature oder Force Matching Signature abhängig vom Wert der Spalte
FORCE_MATCHING. Die für SQL Profiles relevanten Tasks kann man aus der View
DBA_ADVISOR_TASKS für den Advisor „SQL Tuning Advisor“ selektieren.
Für die Verwaltung der SQL Profiles benutzt man das Package DBMS_SQLTUNE.
Peter: „Leonid, könntest Du bitte nochmals erklären, wofür die SQL Profiles gut sind.“
Leonid: „Angenommen, Du hast eine inperformante SQL-Anweisung. Du kannst diese
SQL-Anweisung entweder manuell tunen oder das automatische SQL-Tuning dafür einset-
zen. Wie man eine SQL-Anweisung automatisch tunen kann, ist in diesem Kapitel beschrie-
ben. Das automatische SQL-Tuning kann einige Verbesserungsvorschläge erarbeiten. Oracle
kann beispielsweise vorschlagen, die Optimizer-Statistiken zu aktualisieren oder einen Index
anzulegen. Ab 11.2 kann Oracle auf die guten Ausführungspläne für Deine SQL-Anweisung
in der SQL-Area oder im AWR verweisen, die Du fixieren kannst. U.A. berechnet Oracle die
 
Search WWH ::




Custom Search