|
11gR2 Grid Infrastruktur - Funktionstrennung & Aufgabenverteilung in älteren Datenbank Releases
von Sebastian Solbach, ORACLE Deutschland GmbH
Die 11gR2 Grid Infrastruktur ermöglicht eine saubere Trennung von Aufgaben des System- bzw. Storage-Administrators
auf der einen Seite und der Datenbank Administratoren auf der anderen Seite. Dazu gehört im ersten Schritt das Anlegen unterschiedlicher Benutzer und Benutzergruppen,
da dies die Grundlage jeder Funktionstrennung bei der Systemadministration ist.
Zwar gibt das Installationshandbuch genügend Informationen, wie solch eine Trennung
in einer 11gR2 Umgebung vorzunehmen ist und wie dazu die Benutzer und Gruppen angelegt werden sollten.
Allerdings fiel mir in Gesprächen mit Kunden auf, dass es gerade in Bezug auf diese Funktionstrennung immer wieder zu Missverständnissen kommt.
Zusätzlich ergibt sich mit der 11gR2 Grid Infrastruktur noch eine andere Problematik, wenn auch
auch ältere Datenbanken Versionen betrieben und deren Prozesse von der 11gR2 Grid Infrastruktur überwacht werden sollen:
Die vorhergehenden Releases kannten die saubere Trennung der Verantwortlichkeiten, wie sie 11gR2 einführt noch nicht.
Diese Unklarheiten möchte ich mit diesem Tipp beseitigen und verwende hierzu eine Testumgebung, in der sowohl eine 11.2.0.1 Grid Infrastruktur,
eine 11.2 Datenbank, eine 11.1 Datenbank und eine 10.2 Datenbank betrieben werden, jeweils mit unterschiedlichen Benutzergruppen respektive Berechtigungen für die
unterschiedlichen Datenbank Versionen und die 11.2 Grid Infrastruktur.
Anmerkung: Bilder zum Tipp werden sichtbar, indem man mit der Maus über das Brillen Icon fährt.
Benutzer & Gruppen
Folgende Gruppen und Gruppen-IDs (GID) werden in der Testumgebung für die 11gR2 Grid Infrastruktur verwendet (kursiv dargestellte Gruppen sind optional):
| Bereich |
Gruppe |
GID |
Zugeordnete Benutzer |
Bedeutung |
| Software Installation |
oinstall |
501 |
grid oracle oracle11 oracle10 |
Alle Benutzer, die Software installieren, müssen diese Gruppe als Primärgruppe besitzen. Dies ist insbesondere für
das gemeinsam verwendete Oracle Inventory notwendig. |
| Grid Administration |
asmadmin |
502 |
grid |
Benutzer, die zur ASM Admin Gruppe gehören, melden sich als SYSASM an der ASM Instanz an und dürfen somit Diskgruppen verwalten. Dies ist auch die
Gruppe, der die ASM Platten/Devices zugeordnet sein müssen |
| ASM DBA |
asmdba |
504 |
grid oracle oracle11 oracle10 |
ASM DBA Benutzer melden sich als SYSDBA an der ASM Instanz an. Dies ist notwendig, damit die Datenbank Instanz (die sich
ebenfalls als SYSDBA anmeldet) Datenfiles in ASM anlegen kann. Im Gegensatz zum DBA bei einer Datenbank können diese Benutzer ASM
nicht stoppen oder starten. Ebenfalls können keine Diskgruppen verwaltet werden. SYSASM und SYSDBA Gruppen werden in das oracle
Executable der Grid Infrastruktur gelinkt. |
| ASM Operator |
asmoper |
505 |
grid |
Die optionalen ASM Operators sind Benutzer, die ASM stoppen und starten dürfen. Diese Gruppe ist nur notwendig, falls man einigen DBAs
auch das Stoppen und Starten von ASM erlauben möchte. Liegen allerdings OCR und Voting Disks in ASM, so kann ASM nur
vom Root User durch das Stoppen des Clusters angehalten werden. |
Um eine saubere Trennung der Datenbank Administratoren von den 11gR2 Grid Infrastruktur Administratoren zu erreichen, sollte zumindest ein
eigener User und eine eigene Gruppe für die Datenbank Administration vorhanden sein. In meinem Beispiel gehe ich sogar noch weiter
und teile den einzelnen Datenbank Versionen eigene Benutzer und eigene Gruppen zu:
| Bereich |
Oracle 11.2 |
Oracle 11.1 |
Oracle 10.2 |
Bedeutung |
| Gruppe |
GID |
Zugeordnete Benutzer |
Gruppe |
GID |
Zugeordnete Benutzer |
Gruppe |
GID |
Zugeordnete Benutzer |
| DB Admin |
dba |
500 |
oracle |
dba11 |
506 |
oracle11 |
dba10 |
508 |
oracle10 |
Benutzer der DBA Gruppe melden sich als SYSDBA an der jeweiligen Oracle Datenbank an. Die SYSDBA Gruppe wird in das RDBMS oracle Executable gelinkt. |
| DB Oper |
oper |
503 |
oracle |
oper11 |
507 |
oracle11 |
oper10 |
509 |
oracle10 |
Die optionalen Datenbank Operator sind Benutzer, die die Datenbank starten und stoppen dürfen. |
In folgender Tabelle ist die Zuordnung der Benutzer und User-IDs (UID) zu den Gruppen aufgelistet:
| Benutzer |
UID |
Gruppen |
Verantwortung |
| grid |
499 |
oinstall,asmadmin,asmdba,asmoper |
Installation & Verwaltung der Grid Infrastruktur und ASM - inklusive Anlegen von Diskgruppen. |
| oracle |
500 |
oinstall,dba,oper,asmdba |
Installation und Verwaltung der Oracle 11.2 Datenbank. |
| oracle11 |
501 |
oinstall,dba11,oper11,asmdba |
Installation und Verwaltung der Oracle 11.1 Datenbank. |
| oracle10 |
502 |
oinstall,dba10,oper10,asmdba |
Installation und Verwaltung der Oracle 10.2 Datenbank. |
Anlegen der Benutzer & Gruppen
Das folgende Skript zeigt das Anlegen der Gruppen und Benutzer durch den User root:
Sollten die Benutzer bereits existieren (wie z.B. nach der Installation von oracle-validated), wird statt des Befehls
useradd der Befehl
usermod verwendet.
Anlegen der Verzeichnisse vor der Installation
Es empfiehlt sich, auf allen Rechnerknoten die Installationsverzeichnisse mit den entsprechenden Berechtigungen im Vorfeld zu vergeben.
Ebenfalls hat die Erfahrung in Umgebungen mit Funktionstrennung gezeigt, dass es entgegen der Best Practices von Oracle - nur ein Oracle Base Verzeichnis für alle
Oracle Installationen zu verwenden - Sinn macht ein Oracle Base pro Benutzergruppe zu verwenden. Dies liegt insbesondere daran, dass die Logverzeichnisse
des DIAG Verzeichnisses den unterschiedlichen Benutzern zugeordnet sind, und somit ein DBA User Berechtigungsfehler beim Zugriff auf die ASM Logs bekommt.
Anmerkung:
Sollte für alle Oracle Homes dasselbe Oracle Base (z.B. /opt/oracle) verwendet werden, gibt es Zugriffsprobleme auf einige der
Unterverzeichnisse, insbesondere beim Zugriff auf das Verzeichnis des cfgtoollogs und beim Zugriff auf das Verzeichniss diag. Beim Aufruf eines Assistenten
aus dem ersten Oracle Home (normalerweise das Grid Home beim Aufruf des ASMCAs und NETCAs) wird
automatisch das cfgtoollogs Verzeichnis angelegt - beim Schreiben von Logs das diag Verzeichnis.
Dadurch wird als Eigner/Gruppe beider Verzeichnisse grid:asmadmin mir der Berechtigung 750 eingetragen.
Nachfolgende Prozesse aus den anderen Homes können somit nicht in diese Verzeichnisse schreiben.
Deswegen sollte besonder nach der Installation und in periodischen Abständen die Berechtigungen mittels chmod 770 -R und chgrp oinstall -R
auf /opt/oracle/cfgtoollogs und
/opt/oracle/diag angepasst werden.
Storage Berechtigungen & Installation
Die Berechtigung der Devices, die für ASM verwendet werden, sollten für eine 11gR2 Grid Installation dem Benutzer grid
und der Gruppe asmadmin gehören. Im Beispiel sind sdc1, sdd1 und sde1 als Devices für ASM vorgesehen:
Alternativ könnten die Devices auch der Gruppe dba zugeordnet sein, allerdings widerspricht dies
dem Berechtigungskonzept, und wird nur in Ausnahmefällen gesetzt (siehe hierzu auch Abschnitt
über die Berechtigungen des RDBMS Oracle Executables).
Wie diese Berechtigungen beim Booten vergeben werden können, können Sie in folgendem Tipp
nachlesen.
Das Oracle Inventory muss der oinstall Gruppe gehören:

Bei der Installation der Grid Infrastruktur wählt man nun für die Berechtigung der ASM Instanz folgende Werte aus:

- ASM Database Administrator (OSDBA) Group: asmdba
- ASM Instance Administrator Operator (OSOPER) Group: asmoper oder falls nicht verfügbar asmdba
- ASM Instance Administrator (OSASM) Group: asmadmin
Für die Datenbank Installation sind die Berechtigungen wie folgt zu wählen:

- Database Administrator (OSDBA) Group: dba
- Database Operator (OSOPER) Group: oper oder falls nicht verfügbar dba
Berechtigung des RDBMS Oracle Executables
Normalerweise gehört das Oracle Executable ($ORACLE_HOME/bin/oracle) zu der oinstall Gruppe, d.h. der Gruppe, die die Oracle Software installiert hat. Die DBA
Berechtigungen sind in dieses Executable hineingelinkt:
Sollte allerdings die ASM Administration durch einen anderen Benutzer durchgeführt werden, so muss einiges an dem oracle Executable der RDBMS Software geändert werden.
Dies geschieht bei 11.2.0 implizit, wenn die Datenbank über den Database Configuration Assistant (DBCA) angelegt wird.
Dieser ruft automatisch das setasmgidwrap aus dem Grid Home aus und konfiguriert so das oracle Executable um:
Der Aufruf des setasmgidwrap ist auch in den Skripten enthalten, die der DBCA optional erstellen kann.
Wird die Datenbank allerdings komplett manuell erstellt, sollte darauf geachtet werden, dass setasmgidwrap manuell aufgerufen wird.
Ob dieses Kommando ausgeführt wurde erkennt man an den Berechtigungen des oracle Executables:
Der DBCA von 10gR2 und 11gR1 kennt das setasmgidwrap Utility allerdings nicht. Daher muss bei älteren Datenbanken setasmgidwrap immer manuell aufgerufen werden.
Allerdings erkennt das setasmgidwrap in der default 11.2.0.1 Installation die älteren oracle Executables noch nicht. Siehe dazu auch den nachfolgenden Abschnitt.
Anmerkung zur Installation älterer Datenbank Releases zusammen mit 11gR2 Infrastruktur
Um ältere Datenbank Releases auf einer 11gR2 Grid Infrastruktur (11.2.0.1) zu betreiben,
sind einige Voraussetzungen notwendig. Da diese nicht automatisch erfüllt sind, müssen dises
manuell angepasst werden:
- Die Rechnerknoten müssen mit crsctl pin css -n <nodname> gepinnt werden
- OPatch Utilities sollten auf der letzten Version sein
- Linux Grid Infrastruktur sollte 11.2.0.1.1 sein (Grid PSU), dies ist auf anderen Plattformen nicht notwendig
- setasmgidwrap muss in einer neueren Version vorliegen
- SRVCTL des Datenbank Homes benötigt einen Patch um mit 11.2 Grid Infrastruktur kompatibel zu sein
- Der remote_listener Parameter der Datenbank bzw. dessen TNSNAMES.ORA Eintrag sollte nicht
mehr die VIP Adressen der Knoten beinhalten, sondern die IP Adressen des SCAN Listerner.
Die wichtigsten Patches sind dabei in der MySupport Note 948456.1: "Pre 11.2 Database Issues in 11gR2 Grid Infrastructure Environment" zusammengetragen.
Für die ganz Eiligen, habe ich die Patches und deren "Schnell-Installationsanleitung" auf der zweiten Seite dieses Tipps dargestellt.
Nützliche Links und Referenzen
Oracle Grid Infrastructure Installation Guide: 2.6 Creating Groups, Users and Paths for Oracle Grid Infrastructure
Oracle Grid Infrastructure Installation Guide: 5.3 Using Older Oracle Database Versions with Grid Infrastructure
Clusterware Installation Linux (OEL5, RHEL5): Multipathing und UDEV
MySupport Note 948456.1: "Pre 11.2 Database Issues in 11gR2 Grid Infrastructure Environment"
Zurück zur Community-Seite
|