Zu Oracle

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

Datenbankdienste unter Windows NT und 2000

Datenbankdienste unter Windows NT und 2000 - wie wird's gemacht?

Unter Windows benötigen Oracle-Datenbanken speziell eingerichtete Systemdienste. Sie können über das Dienstprogramm ORADIM verwaltet werden. Die Systemdienste müssen existieren, bevor eine neue Datenbank erzeugt werden kann. Auch wenn die Datenbank nach einem Server-Reboot nicht mehr automatisch startet, hilft das Wiederherstellen dieser Systemdienste. Schließlich kann auch das Sys/Internal-Passwort über ORADIM geändert werden und die Datenbank startet anschließend mit dem neuen Passwort. Wie das geht und was dabei zu beachten ist, erfahren sie in diesem Artikel.

Das Dienstprogramm ORADIM

Mit ORADIM können die Oracle-spezifischen Windows-Dienste erzeugt, gestartet und gelöscht werden.

ORADIM besitzt keine grafische Oberfläche und kann deshalb nur im Eingabeaufforderungs-Fenster gestartet werden.

Alle Ausgaben des Programms ORADIM werden in einem Logfile protokolliert:
Oracle 8.1 und höher: <oracle_home>\DATABASE\ORADIM.LOG

Namenskonventionen unter NT

Jede Oracle-Datenbankinstanz hat einen auf dem Server eindeutigen Namen. Als Abkürzung für den Instanznamen wird das Kürzel SID (SystemIdentifier) verwendet.

ORADIM - Bedienung

Aktion 1 - Dienste löschen

Falls auf Ihrer Maschine bereits Datenbankdienste existieren, müssen diese zunächst gelöscht werden. Andernfalls oder zum Einrichten einer neuen Datenbank können sie gleich mit Aktion 2 fortfahren.

Beim Wiederherstellen von Datenbankdiensten wird das Passwortfile neu erzeugt. Falls für Ihre Instanz der Systemparameter REMOTE_LOGIN_PASSWORDFILE den Wert EXCLUSIVE hat, müssen SYSDBA/SYSOPER-Privilegien anschließend erneut vergeben werden. Eine Liste der User mit SYSDBA/SYSOPER-Rechten kann vorher über

'SELECT * FROM V$PWFILE_USERS'

ausgegeben werden.

Danach sollte die Datenbank sauber heruntergefahren werden. Das Stoppen der Dienste allein reicht nicht!

Erst danach wird der Dienst 'OracleService<SID>' (und in den Oracle-Versionen 7.3 und 8.0 auch der Dienst 'OracleStart<SID>') gelöscht. Verwenden Sie dazu den folgenden Befehl:

'ORADIM -DELETE -SID <SID>'

Sie sollten über die Systemsteuerung prüfen, ob wirklich beide Dienste entfernt wurden. Falls das nicht geschehen ist, wiederholen Sie die beiden letzten Schritte (Shutdown und ORADIM-Delete). In der ORADIM.LOG-Datei finden Sie Hinweise bzgl. aufgetretener Fehler. Falls immer noch Dienste übrig sind, können Sie diese auch direkt über ihren Namen löschen. Verwenden Sie dazu folgenden Befehl:

'ORADIM -DELETE SRVC <service_name>'

Bitte vergewissern Sie sich in der Systemsteuerung vom Erfolg dieser Maßnahme, bevor Sie den Dienst neu einrichten!

Aktion 2 - Dienste einrichten

Einen neuen Oracle-Dienst richten sie mit folgendem Befehl ein:

'ORADIM  -NEW  -SID <SID>  -INTPWD  <password>  -STARTMODE <mode>   -PFILE  <pfile> [ -SPFILE ]'

dabei ist

<SID>             SystemIdentifier der Datenbankinstanz
<password>        Passwort für den Benutzer SYS (bzw. internal)
<mode>     AUTO   Datenbank startet bei Systemstart automatisch
           MANUAL Datenbank wird beim Systemstart nicht automatisch
                  gestartet        
<pfile>           Verzeichnis- und Dateiname der Initialisierungsdatei
                  (INIT<sid>.ORA)
-SPFILE           Gibt an das die Instanz mit einen SPFILE gestartet                     werden soll.

Prüfen Sie das ORADIM.LOG auf Fehler! (Es kann z.B. passieren, dass ORADIM wg. fehlender Zugriffsrechte eine evtl. vorhandene Passwort-Datei nicht löschen kann, die müssten Sie dann manuell entfernen, etc.)

Prüfen Sie, ob die Dienste tatsächlich erstellt worden sind. Der OracleService<SID> sollte laufen, falls Sie ORADIM mit Startmode AUTO aufgerufen haben. Der OracleStart<SID> wird nicht gestartet, weil ORADIM keine Information darüber hat, ob die betreffende Datenbank bereits existiert oder erst erstellt wird. Falls Fehler aufgetreten sind, führen sie die unter Aktion 1 beschriebenen Schritte aus, bevor Sie einen neuen Einrichtversuch machen.

Aktion 3 - Dienste starten

Die in Aktion 2 erzeugten Dienste starten Sie mit folgendem Befehl:

'ORADIM -STARTUP -SID <SID> -USRPWD <password> -STARTTYPE <type> -PFILE <pfile>'

dabei ist

<SID>           SystemIdentifier der Datenbankinstanz
<password>      Passwort für den Benutzer SYS (bzw. internal)
<type>     SRVC Starte nur den Dienst
           INST Starte den Dienst und die Datenbank-Instanz
<pfile>         Verzeichnis- und Dateiname der Initialisierungsdatei
                (INIT<sid>.ORA)

Fehler werden auch hier wieder im ORADIM.LOG protokolliert!

Aktion 4 - Dienste stoppen

ORADIM ermöglicht auch das Stoppen der Datenbankdienste (mit und ohne Herunterfahren der Datenbank):

'ORADIMxx -SHUTDOWN -SID <SID> -USRPWD <password> -SHUTTYPE <type>
     -SHUTMODE <mode>'

dabei ist

<SID>           SystemIdentifier der Datenbankinstanz
<password>      Passwort für den Benutzer SYS (bzw. internal)
<type>     SRVC Stoppt nur den Dienst
           INST Stoppt den Dienst und fährt die Datenbank-Instanz                     herunter
<mode>     N    Shutdown Normal
           I    Shutdown Immediate
           A    Shutdown Abort

ORADIM.LOG nicht vergessen!

Zusammenfassung:
Um eine Datenbank unter Windows NT/2000 zu erzeugen und zu starten, ist ein Windows Dienst 'OracleService<SID>' erforderlich. Dieser kann über das Dienstprogramm ORADIM erzeugt werden. Für die Oracle-Versionen 7.3 und 8.0 kann optional der Dienst 'OracleStart<SID>' erzeugt werden, um die Datenbank beim Server-Reboot automatisch zu starten. Ab Version 8i ist für den Autostart kein eigener Dienst mehr erforderlich. Weil ORADIM Registry-Einträge vornimmt, muss dieses Dienstprogramm auf dem Server ausgeführt werden, auf dem die Dienste dann auch laufen (oder mit Hilfe eines Tools, welches den Remote Registry-Zugriff ermöglicht).

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.