ORA-22275: invalid LOB locator


Ich hatte vor kurzem den Fall, das ein Kunde von mir auf einem RAC Exadata System folgenden Fehler bekommen hat:

ORA-22275: invalid LOB locator

Für die weitere Analyse war es für das erste Mal wichtig zu klären von welchem SQL Statement der Fehler ausgelöst worden ist. Das Statement das ich (vom Kunden) erhalten habe, wirkte für mich etwas unglaubwürdig im Bezug auf diesen Fehler. Deswegen der erste Schritt ein entsprechendes EVENT setzten um den Auslöser des Fehlers zu klären.

ALTER SYSTEM SET EVENT='22275 trace name errorstack, level 12' scope=spfile;

Durch das Event wurde ein entsprechendes Trace File auf der Datenbank erzeugt, welches nähere Details zum Fehler zeigte

ORA-22275: Ungültiger LOB-Locator angegeben

----- Current SQL Statement for this session (sql_id=gw369t6jbr995) -----
SELECT *
FROM
V_DOC_SEARCH
WHERE
KURZBEZ like :"SYS_B_0"

Durch diesen Trace war schnell klar, das es sich um einen Bug handelt welcher unter folgender MOS Note Beschrieben wird.

[ID 1486321.1] „ORA-22275: invalid LOB locator“ When Selecting BLOB Through a View On RAC

Kurz zusammengefasst, der Fehler tritt durch die Parallel Verarbeitung des Statements auf, genauer gesagt dann wenn ein Parallel Query Slave auf einem weiteren Node für die Verarbeitung gestartet wird. Ergo wird in der MOS Note dazu geraten auf Session und System Ebene die Parallel Query Verarbeitung auf die lokale Node einzuschränken.

Auf einer Exadata aber, wie in der Note beschrieben solche Einschränkungen vorzunehmen, war für den Kunden nicht akzeptabel, deswegen hier noch eine Alternative. Im View kann auch mit dem NO_PARALLEL HINT gearbeitet werden, was einen nicht so grossen Eingriff in das System bedeutet.

Ein Beispiel wie dieser HINT eingesetzt wird findet man auf einem alten Artikel von mir.

Wie immer freue ich mich über Kommentare

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s