Alert: Probleme mit Spatial beim Upgrade von 12.1 auf 12.2.
Durch eine Änderung in den Berechtigungen kommt es beim Upgrade von Oracle 12.1 auf 12.2.0.x zu unerwartet langen Laufzeiten (im Bereich von vielen Stunden!) beim Recompilieren mit utlrp.sql, wenn Spatial Datentypen genutzt werden.
Problemanalyse
Während des Upgrades ändert Oracle die Berechtigungen im Spatial Umfeld. Das führt dazu, dass ALLE Tabellen mit Spatial Datentypen INVALID werden. Durch das Ausführen des Scripts utlrp.sql wird das mittels des folgenden UPDATE Statements korrigiert:
update /*+ no_parallel(t) */ "<SCHEMA_NAME>"."<TABLE_NAME>" t set <SPATIAL_COLUMN> = <SPATIAL_COLUMN>
Man findet auch noch folgendes aktive Statement:
begin dbms_utility.validate(:1,:2,:3,:4); end;
Durch dieses Update entstehen auch viele GB an Archivelogs - bei einigen großen Datenbank sogar im TB Bereich!
Was findet man bei Oracle zu diesem Thema?
Seitens Oracles gibt es dazu die folgende Support Note: UTLRP is running very slow with SDO objects after upgrade on 12.2 (Doc ID 2258213.1)
Dabei handelt es sich um den Bug 25293022 REVOKE EXECUTE GRANT ON SPATIAL TABLE CAN INVALIDATE APPLICATION TABLES, für den es auch Patches gibt.
Leider gibt es seitens Oracle keine Beschreibung für die Vorgehensweise um das Problem zu vermeiden - den Patch muss man exakt zum richtigen Zeitpunkt einspielen!
Korrekte Vorgangsweise für die Problemlösung
Diesen Patch gibt es sowohl für 12.1.0.2 als auch für 12.2.0.1, allerdings muss man die Reihenfolge der Schritte genau einhalten:
Wenn Sie sich nicht sicher bei der Vorgangsweise sind, helfen wir Ihnen gerne bei der Umsetzung.