Blog 
Vorsicht, der 12c Oracle Home User ist nicht änderbar!

Achtung bei der Installation von Oracle 12c unter Windows. Der erste Stolperstein könnte Ihnen schon in Form des neuen Oracle Home Users später eine Menge Ärger bereiten. Wenn Sie es aus Ihrer alten 11er Umgebung gewohnt sind Instanz und Listener mit einem extra Account für Exports auf Windows Shares, NAS Devices oder RMAN Sicherungen auf externe Storages beispielsweise mit Avamar zu betreiben, dann kann ein unüberlegter Klick bei der Softwareinstallation sämtliche Arbeit danach zunichte machen. Es bleibt nur, nochmals alles neu Aufzusetzen, denn der gewählte User lässt sich nicht mehr ändern.

Unter 10g und 11g war es ein einfaches nach der Installation unter Services Listener und Instanz von „lokales System“ auf einen (Active Directory) Account mit entsprechenden Schreibberechtigungen auf entsprechende externe Filesysteme umzustellen. Dem setzt Oracle mit 12c ein Ende. Die Oracle Dokumentation ist hier leider unmissverständlich: „Oracle Home User cannot be changed post installation.“

Wählen Sie also bei der 12c Installation „Neuen Windows-Benutzer erstellen“ oder „Vordefinierten Windows-Account verwenden“ und wollen später auf einen vorhandenen AD Account umstellen, ist es nicht mehr möglich sich an der Datenbank anzumelden, der Listener startet nicht sauber oder Sie erhalten beim starten der Datenbank folgende oder ähnliche Fehlermeldungen:

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file ‘INITSID.ORA’

01 Oracle LRM-00109

Es gibt keine Möglichkeit diesem Problem aus dem Weg zu gehen. Sie können natürlich versuchen dem lokalen Oracle Home User irgendwie Zugriff auf entsprechende Storages zu geben, was sich in einer Domäne aber nicht gebietet. Einzige echte Lösung bleibt die Neu-Installation und wählen Sie dieses mal „Vorhandenen Windows-Benutzer verwenden“ unter Angabe Ihrer Domäne:

Domain\Username

01 Oracle Service User IO

Noch ein wichtiger Hinweis zum Abschluss betrifft die Art des Accounts. Dieser ist von Oracle als reiner Service User gedacht, also nicht verwechseln mit einem administrativen Installations-Account mit dem Sie die Software installieren. Es ist auch nicht möglich einen Administrator Account bzw. einen Account der Admin Gruppe während der Installation als Oracle Home User auszuwählen: [INS-32095] Der angegebene Benutzer verfügt über administrative Berechtigungen.

03 Oracle Admin User Abgelehnt

Scheinbar gibt es aber trotzdem Probleme mit den Berechtigungen. Der Oracle VSS Writer Service produziert regelmäßig einen fehler im Server Event Log. Die Dokumentation zum Oracle VSS Writer Service besagt folgendes: „Thus, the Windows user must be able to log in as SYSDBA to the Oracle database instances managed by the writer service.“ Aber der Oracle Home User hat diese Berechtigung nicht und ihn in die ora_dba Gruppe zu nehmen hilft leider auch nicht, da es nach wie vor kein Administrativer Account ist: Volume Shadow Copy Service error: Unexpected error calling routine RegOpenKeyExW(-2147483646,SYSTEM\CurrentControlSet\Services\VSS\Diag,…).  hr = 0x80070005, Access is denied.

04 Oracle VSS Writer Service Access Denied

Eine Lösung von Oracle in der MOS Note 19313580 lautet den Oracle Home User in die Lokale Admin Gruppe zu nehmen: „Take the Oracle Home User into the local admin group.“ Dies widerspricht natürlich der Oracle-eigenen Dokumentation zum 12c Home User.

Meine Lösung ist eine andere. Einfach den Log On für den OracleVSSWriter Service in Lokales System ändern:

05 OracleVssWriter

Alternativ kann man einen administrativen Account aus der ora_dba Gruppe eintragen:

06 OracleVssWriter

07 Oracle ora dba group

Jetzt sind wir sauber.

Weitere Informationen zum Neuen Oracle Home User erhalten Sie hier:

12c, Windows und der neue Oracle Home User

2 Kommentare zu “Vorsicht, der 12c Oracle Home User ist nicht änderbar!

HI. Hätte da mal eine Frage, Bezüglich dieser User/Installationsgeschichte. Ich nutze aktuell auf meiner Maschine einen 11g Client, muss allerdings paralell einen 12c einrichten, da einige meiner Services getrennt mit DB’s kommunizieren mit unterschiedlichen Oracle DB Versionen. I.d.R. habe ich immer das gleiche Base verzeichnis genutzt und die tnsnames an einem zentralen Punkt abgelegt und verlinkt. Jetzt wollte ich die 12c installation starten und er meckert immer von wegen „[INS-32104] Der angegebene Oracle Home-Benutzer ist nicht Eigentümer der angegebenen Oracle Base.“ Was aber nicht stimmt, da mein angegebener User der Ersteller ist. Kann es sein, dass hier ein Problem entsteht wenn der neue „Oracle User“ auf einen bereits bestehenden Oracle Base Pfad zugreifen muss?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Was kann CarajanDB für Sie tun?