MS Windows, Virtuelle Service Accounts und Non-CDB nach PDB Konvertierung führt zu ORA-65026 Fehler

In Oracle 19c hat Oracle die Freigabe für 3 kostenlose pluggable databases (PDBs) in einer Containerdatenbank (CDB) erteilt. Da dies sogar für die Standard Edition 2 Lizenz und nicht nur für die Enterprise Edition so freigeben ist, wird für viele Unternehmen der Wechsel von einer NON-CDB Architektur zur CDB Architektur zum Zeitpunkt der 19c Migration stattfinden. (Für alle andere, ist mit der Datenbank Version 20 dann die Konvertierung in die CDB-Architektur ein MUSS!).

Bei der Installation einer Datenbank (bzw. der Software) mit Oracle 19c gibt es in MS Windows verschiedene Möglichkeiten, wie der Service integriert werden soll. Es kann ein Virtueller Account verwendet werden, ein Windows Benutzer Account (vorhanden oder neu erstellt) und den vordefinierten Windows-Account. Eine Verwendung des beliebten "Anmelden als Lokales System" ist zwar möglich, Oracle sieht als Default aber den virtuellen Account vor.

Um eine Non-CDB Datenbank in eine CDB als PDB zu integrieren muss ein XML generiert und dieses in die neue CDB importiert werden. Beim Import bzw. beim Aufruf von "DBMS_PDB.CHECK_PLUG_COMPATIBILITY" kann allerdings ein Fehler auftreten, aufgefallen ist dieser bei Tests mit dem neuen Autoupgrade-Tool, aber er ist davon losgelöst und kann jeden Oracle Administrator unter Windows treffen:

ORA-65026 XML metadata file error : LPX-00202: could not open

 


Dateizugriffsrechte fehlen

Wie entsteht das Problem?

Beim Erstellen der XML Beschreibungsdatei, z.B. aus einer 12.2 Datenbank, werden im Dateisystem Rechte vergeben. Diese Rechte sind z.B. im Falle einer Datenbank, die (noch wie früher üblich) als "Local System" läuft, dann den Gruppen/Benutzern SYSTEM, ORA_DBA und Administrator zugeordnet.

Wenn die XML Beschreibungsdatei aus der 19c Datenbank nun gelesen werden soll, benötigt die Datenbank allerdings, wenn Sie unter einem virtuellen Account läuft, eine Berechtigung für diesen Account. Auf unserem System besaß dieser den Namen "ORA_OraDB19Home1_SVCTACCTS". Ohne dass dieser "Administrator" ein Leserecht auf dem durch die alte DB-Version erstellten XML-File hat, ist die Datenbank nicht in eine PDB konvertierbar.

 


Die Lösung

Es gibt verschiedene Möglichkeiten, wie das Problem umgangen werden kann.

Bei der Erstellung der XML-Datei kann z.B. das 19c Home der CDB Datenbank als Zielverzeichnis verwendet werden (hier würde sich z.B. %ORACLE_HOME%/database anbieten). Bei Ablage der Beschreibungsdatei im neuen Oracle Home wird auch das entsprechende Recht im Dateisystem vergeben.

Eine zweite Lösung kann es ein, die CDB, in die die Datenbank hinein-geplugged werden soll, kurzfristig auf "Local System" umzustellen. Nach der Migration kann dann die 19c CDB wieder auf den virtuellen Service Account zurückgestellt werden. Dabei ist allerdings zu beachten, dass ein Restart eines Services notwendig ist und die 19c CDB somit zwei mal neu gestartet wird.


Über den Autor

Jörg Sobottka

Weitere Beiträge dieses Autors

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich