Dienstag, 9. Februar 2016

Katastrophe: Windows 64Bit, Oracle DB 64Bit und Oracle Client 32Bit

Von Zeit zu Zeit ist man als Oracle-DBA dazu gezwungen, Datenbanken unter Windows zu betreiben. Als wenn das nicht genug Ärger bedeutet, soll auch noch neben der 64Bit Datenbank ein 32Bit Client installiert werden.

Es gibt eine ganze Sammlung (Oracle Note 1157463.1) von Problemen die unter Windows auftreten wenn man versucht, ein zweites oder drittes Oracle-Produkt zu installieren. Mit Oracle-Produkt meine ich nicht Java oder ähnliches, sondern alles was mit dem Oracle Universal Installer installiert wird.

Neben verschiedenen Java-Problemen, Chaos im Inventory oder andere Kleinigkeiten gibt es noch dieses Problem:

Der OUI wurde mit "Als Administrator ausführen" ausgeführt und startet ganz normal. Am Ende des Assistenten klickt man auf "Install". Der Installationsdialog erscheint für 1-3 Sekunden und verschwindet wieder. Wer in den Installationslogs nach weiteren Informationen sucht, wird nicht fündig denn diese sind leer. Das Verhalten wurde in der Oracle-Community bereits diskutiert, leider ohne Erfolg: https://community.oracle.com/thread/2192825?tstart=0
Dieses Problem scheint auch nicht immer aufzutreten, denn sonst gäbe es im Internet sicher schon mehrere Komplettlösungen dazu.

Das Problem liegt an den Registry-Einträgen im Zusammenhang mit dem Oracle Inventory Pfad.

Nach der Installation von Oracle DB 64Bit gibt es den Registry-Key "inst_loc" unter [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]. Dieser verweist auf das Oracle-Inventory unter "C:\Program Files\Oracle\Inventory".

Der 32Bit-Installer sucht zusätzlich nach dem Registry-Key "inst_loc" in [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oracle]. Diesen gibt es noch nicht und da dies ein 32Bit-Installer ist, müsste dementsprechend der Pfad "C:\Program Files (x86)\Oracle\Inventory" heißen. Den Konflikt zwischen den beiden Keys/Pfaden kann der Installer dann scheinbar nicht lösen und stürzt ab.

Wenn dieser Pfad vor der Installation des Oracle Client 32Bit manuell angelegt wird, funktioniert die Installation. Es kommt also darauf an, dass die beiden Registry-Keys [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc] und [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oracle\inst_loc] auf den selben Pfad zeigen.

That's IT

Keine Kommentare:

Kommentar veröffentlichen