Database Reference
In-Depth Information
Laut der Dokumentation von Oracle ist es möglich, die folgenden 5 Parameter im Hint
OPT_PARAM zu benutzen:
• OPTIMIZER_DYNAMIC_SAMPLING,
• OPTIMIZER_INDEX_CACHING,
• OPTIMIZER_INDEX_COST_ADJ,
• OPTIMIZER_SECURE_VIEW_MERGING,
• STAR_TRANSFORMATION_ENABLED
Peter: „ In welchen Situationen kann dieses Hint wichtig sein?
Leonid: „ Wenn man das SQL-Tuning mit Optimizer Hints macht. Für viele Parameter
bzw. Parametereinstellungen gibt es entsprechende Hints. Zum Beispiel für den Parame-
ter optimizer_mode gibt es mehrere Hints für die einzelnen Parameterwerte: ALL_ROWS,
FIRST_ROWS, FIRST_ROWS  (n). Es gibt aber Parameter, für die keine Hints existieren
(z. B. für den Parameter optimizer_index_cost_adj ). In solchen Fällen kann man das Hint
OPT_PARAM benutzen. Manchmal liefert das Hint OPT_PARAM die einzig mögliche Pro-
blemlösung (wie im Beispiel aus dem Abschn.  18.7.2.1 ).
P.: „ Die Anwendungsmöglichkeit dieses Hint scheint mir aber ziemlich begrenzt zu sein,
weil man es lediglich für 5 Parameter benutzen kann.
L.: „ In der Tat funktioniert es für viele Parameter. Leider gibt es keine zuverlässige Besch-
reibung dieser Parameter. Beschreibungen, die ich kenne, sind zum Teil fehlerhaft, zum Teil
unvollständig, weil Oracle den Kreis solcher Parameter ständig erweitert.
P.: „ Kannst Du möglicherweise eine brauchbare Beschreibung erstellen?
L.: „ Man muss dann so eine Beschreibung ständig pflegen, weil sie sonst ziemlich schnell
veraltet. Dieser Aufwand wäre mir zu groß. Aus diesem Grund schlage ich vor, hier ganz
anders vorzugehen.
P.: „ Wie denn?
L.: „ Wenn man nicht sicher ist, ob man das Hint OPT_PARAM für einen Parame-
ter benutzen kann, kann man das direkt prüfen. Prüfen wir zum Beispiel den Parameter
cursor_sharing . Dafür setzen wir den Parameter cursor_sharing auf force und ermitteln den
Ausführungsplan für eine SQL-Anweisung mit dem Hint OPT_PARAM für die Parameter-
einstellung cusror_sharing = exact .
P.: „ Was hat der Ausführungsplan mit dieser Prüfung zu tun?
L.: „ Bei der Ermittlung des Ausführungsplans mit der Funktion DBMS_XPLAN.
DISPLAY_CURSOR wird der SQL-Text angezeigt.
Search WWH ::




Custom Search