Blog Sebastian

Blog Sebastian

sebastian blog ohne logo

12c, Windows und der neue Oracle Home User

Veröffentlicht: 10. Januar 2014
Geschrieben von Sebastian Winkler

Mit Datenbankversion 12c führt Oracle den Home User Account unter Windows ein. Aber warum? Bisher hat es doch auch ohne ganz wunderbar funktioniert!? Wer mit Oracle Datenbanken unter UNIX-artigen Betriebssystemen arbeitet kennt die klare Trennung von root-User und Oracle DBA (oracle). Hier hat jeder seine Aufgaben, der DBA kümmert sich um die Datenbank bzw. um die Software Installation (meist Gruppe oinstall) und nur der root kann Änderungen am Server vornehmen. Unter Windows ist das bisher anders, eine granulare Zuordnung von Rechten gestaltet sich zuweilen schwierig und im Zweifel muss doch der Administrator-Account herhalten. Mit 12c versucht Oracle nun auch unter Windows ein ähnliches Rechtekonzept wie unter UNIX auf den Datenbankserver zu bringen.

Home User Account

Der Oracle Home User Account ist ein niedrig privilegierter Account ohne Administrationsrechte. Er soll zum Verwalten der Datenbank (also nicht der Datenbank-Software) und der zugehörigen Services dienen. Bei der Installation der Datenbanksoftware liefert uns Oracle drei Auswahlmöglichkeiten.

Zur Auswahl steht erstens einen „Vorhandenen Windows-Benutzer verwenden“, damit also einen Lokalen User, einen Domain User oder einen sogenannten Managed Service Account (MSA). Die zweite Möglichkeit wäre einen „Neuen Windows-Benutzer erstellen“, dabei wird ein Lokaler User Account auf dem Computer angelegt. Der Account hat allerdings keine Anmelde bzw. Login Berechtigung. Die dritte Möglichkeit einen „vordefinierten Windows-Account verwenden“ meint die Built-In Accounts welche Windows intern zur Verwaltung seiner Dienste und Berechtigungen verwendet. Von Oracle wird hierfür generell SYSTEM bzw. Lokales System (local system) genutzt. Diese Auswahl würde dann auch der Konfiguration entsprechen wie Sie bis Version 11g von Oracle vorgenommen wurde. Hiermit definiert man letztlich, dass kein Home User Account eingerichtet werden soll. Egal welche Auswahl man trifft, nach der Installation kann man den Home User nicht mehr ändern!

Eine eindeutige Antwort welcher Account in welchem Fall zu wählen ist kann ich hier nicht geben. Sinnvoll ist es sicherlich, wenn man sich in einer Domäne bewegt auch einen Domänen User Account oder MSA Account zu definieren. Die Vorteile einer zentralen Verwaltung im Active Directory gegenüber der lokalen Variante müssen hier nicht besprochen werden. Unterscheidungsmerkmale zwischen MSA und „normalem“ Domain-Account sollte man allerdings prüfen. Welche Auswirkungen haben nun die verschiedenen Varianten? Ganz konkret hat der neue Home User Vollzugriff auf das gesamte Oracle Base Verzeichnis. Diese Berechtigung wird dann auch auf alle darunter liegende Verzeichnisse und Dateien vererbt. Das Patchen der Software bleibt aber Aufgabe des Administrators. Wie bereits gesagt darf der Home User keine Administrationsberechtigungen haben und ist hier außen vor. Deutlich wird diese Unterscheidung wenn man sich den Besitzer des Oracle Home anschaut. Es ist derjenige Administrator, der die Software installiert hat. Besitzer des Datafile-Verzeichnisses und der Datafiles ist hingegen der Oracle Home User.

Als weitere einschneidende Änderung hat jetzt der Home User die Hoheit über die Services allen voran die Datenbank Instanz selbst und der Listener.

Der Home User kann also entsprechende Services starten und stoppen. Somit wird auch bei Erstellung eines neuen Listeners der Home Users benötigt.

oder wenn eine neue Datenbank angelegt werden soll.

Zum Schluss darf ich noch auf das Oracle Home User Control Tool hinweisen. Ändert sich nämlich das Passwort des Home Users hätte Oracle gerne Kenntnis davon. Dazu gibt es eine Batch-Verknüpfung im Oracle Programm-Ordner „Kennwort des Oracle Home-Benutzers aktualisieren“.

Alternativ muss man über die Kommandozeile das eingängige „Kürzel“ orahomeuserctl eingeben und kann sich zunächst mit list den Home User anzeigen lassen:

C:\Users\Administrator> orahomeuserctl list

Und mit folgender Syntax das neue Passwort bekannt geben.

orahomeuserctl updpwd [-user username] [-host hostname1, hostname2, …] [-log logfilename]

 

Wichtige Zusatzinformationen finden Sie hier: 

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

Sebastian Winkler

CarajanDB GmbH

Siemensstr. 25  50374 Erftstadt

Fon: +49 (2235) 170 91 83

Fax: +49 (2235) 170 79 78

Mail: info@carajandb.com

 

carajan-db-logo