Zu Oracle

Bereich:
Versionsinfo:
DBA
getestet mit 10.2 und 11.1
Erstellung:
Letzte Überarbeitung:
08/2004
05/2009 RM
 Als PDF Downloaden!

Anmelden als SYSDBA

Das Rätsel um die Passwort-Datei und den Parameter REMOTE_LOGIN_PASSWORDFILE

Haben Sie sich nicht auch schon einmal gefragt, was es mit der Passwort-Datei und dem Initialisierungsparameter REMOTE_LOGIN_PASSWORDFILE eigentlich auf sich hat?? Unter welchen Umständen klappt die Anmeldung als SYSDBA und wann scheitert der Versuch?

Im folgenden Beitrag erhalten Sie einen Einblick in den Gebrauch des Dienstprogramms ORAPWD und die Steuerung des SYSDBA-Zugriffs über den init.ora-Parameter REMOTE_LOGIN_PASSWORDFILE.

Erzeugen einer Passwort-Datei über ORAPWD

Die übliche Methode zur Identifizierung von Benutzern mit SYSDBA oder SYSOPER-Berechtigung besteht in der Nutzung der sog. Passwort-Datei. Diese Datei wird bei der Standard-Installation der Datenbank im Verzeichnis %ORACLE_HOME%\database (NT) bzw. $ORACLE_HOME/dbs (Unix) angelegt. Ihr Name lautet pwd<sid>.ora.

Achtung: Das Löschen oder Verschieben der Passwort-Datei macht eine Anmeldung als SYSDBA u.U. unmöglich. Also sorgsam damit umgehen!!

Falls es dennoch notwendig sein sollte, eine neue Passwort-Datei anzulegen, wird dies auf Betriebssystemebene mit dem Tool ORAPWD gemacht:

C:> orapwd file=<pfad\name> password=<pwd> entries=<anzahl>

wobei file den Pfad und Namen der Passwort-Datei angibt, password legt das Kennwort vom Benutzer SYS fest und entries bestimmt, wie viele Einträge in die Datei aufgenommen werden können. Die Parameter file und password müssen angegeben werden (mandatory), entries ist optional.

Beispiel (unter NT):

C:> orapwd file=d:\oracle\ora92\database\pwdora9.ora password=geheim entries=10

Hinweis: Setzen Sie für entries einen genügend großen Wert, so dass alle Benutzer mit SYSDBA oder SYSOPER-Berechtigungen aufgenommen werden können. Falls der Wert nicht ausreichen sollte, muss die Datei neu erzeugt werden. Bereits bestehende Einträge verlieren ihre Gültigkeit und müssen neu hinzugefügt werden.

Der Initialisierungsparameter REMOTE_LOGIN_PASSWORDFILE

Die eben angesprochene Passwort-Datei wird nur verwendet, wenn der init.ora-Parameter REMOTE_LOGIN_PASSWORDFILE entsprechend gesetzt worden ist. Folgende Werte sind dabei möglich:

  • NONE: schaltet die Verwendung der Passwort-Datei aus, mit der Folge, dass alle (remote) SYSDBA-/ SYSOPER-Anmeldungen über nicht sichere Verbindungen (dazu zählt auch TCP) abgewiesen werden. Dies ist der default Wert.
  • EXCLUSIVE: ermöglicht die Identifizierung der SYSDBA-/ SYSOPER-Benutzer durch die Passwort-Datei. Diese Datei gilt exklusiv für eine einzige Datenbank. Bei dieser Einstellung können weiteren Benutzern die Privilegien SYSDBA und SYSOPER übertragen werden.
  • SHARED: ermöglicht die Nutzung einer einzigen Passwort-Datei durch mehrere Datenbanken. Hier können jedoch keine weiteren Benutzer in die Passwort-Datei eingetragen werden.

Der Parameter REMOTE_LOGIN_PASSWORDFILE ist statisch. Nach Änderung der Einstellung müssen Sie die Instanz neu starten.

SQL> ALTER SYSTEM SET remote_login_passwordfile=’EXCLUSIVE’ SCOPE=SPFILE;
SQL> STARTUP FORCE

Hinweis: Die Einstellung EXCLUSIVE gibt Ihnen das höchste Maß an Sicherheit. Achten Sie zusätzlich auf die Einstellung des Parameters SQLNET.AUTHENTICATION_SERVICES in der Datei sqlnet.ora und auf die Zugehörigkeit des BS-Benutzers in der BS-Gruppe ORA_DBA (NT) bzw. DBA (Unix). Dadurch wird die lokale Anmeldung als SYSDBA wesentlich beeinflusst.

Die folgende Tabelle stellt die verschiedenen Kombinationsmöglichkeiten der Parameter bei der SYSDBA-/ SYSOPER-Anmeldung dar (unter Windows und TCP/IP):

REMOTE_LOGIN_ PASSWORDFILE SQLNET.AUTHENTICATION_SERVICES Anmeldung erfolgt
NTS NONE
EXCLUSIVE nur gültige <user/pwd>-Kombination zulässig nur gültige <user/pwd>-Kombination zulässig REMOTE
falls Benutzer in ORA_DBA: CONN / AS SYSDBA möglich
falls Benutzer nicht in ORA_DBA: nur gültige <user/pwd>-Kombination zulässig nur gültige <user/pwd>-Kombination zulässig
nur gültige <user/pwd>-Kombination zulässig LOKAL
NONE keine Anmeldung möglich keine Anmeldung möglich REMOTE
falls Benutzer in ORA_DBA: CONN / AS SYSDBA möglich
falls Benutzer nicht in ORA_DBA: keine Anmeldung möglich
keine Anmeldung möglich LOKAL

Hinzufügen weiterer Benutzer zur Passwort-Datei

Wird einem Benutzer explizit die SYSDBA- oder SYSOPER-Berechtigung übertragen, wird dieser Benutzer mit seinem verschlüsselten Passwort in die Passwort-Datei aufgenommen. Die ist jedoch nur für die Einstellung REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE möglich.

Beispiel:

SQL> GRANT sysdba TO scott;

Alle Benutzer mit entsprechender Berechtigung erscheinen in der View V$PWFILE_USERS:

SQL> SELECT * FROM v$pwfile_users;
USERNAME SYSDBA SYSOPER
-------- ------ -------
SYS      TRUE   TRUE
SCOTT    TRUE   FALSE

11g:

USERNAME                       SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS                            TRUE  TRUE  FALSE
SCOTT                          TRUE  FALSE FALSE

Wir hoffen, dass sich das Rätsel um die Passwort-Datei und mögliche Einstellungen des REMOTE_LOGIN_PASSWORDFILE-Parameters nun weitestgehend gelöst hat.

Suche

Kontakt

Telefon:
  089 6228 6789-0

Telefon (noch gültig):
  089 679090-40

E-Mail Verteiler Monatstipps

Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.