Was man über ORACLE_HOME wissen sollte

ORACLE_HOME

In Oracle Manuals und Skripten stolpert man oft über das Schlüsselwort ORACLE_HOME. Es ist auch in meinem ersten Beitrag, wo ich über das SCOTT- Schema geschrieben habe, verwendet worden.

In diesem Beitrag möchte ich auf folgende Punkte eingehen:

  • Was ist ORACLE_HOME
  • Sinn und Zweck von ORACLE_HOME
  • wie überprüft man, ob ORACLE_HOME gesetzt ist
  • wie und wo setzt man ORACLE_HOME

Was ist ORACLE_HOME

ORACLE_HOME ist eine ist eine Umgebungsvariable, die den Pfad zum Verzeichnis, in dem Oracle Datenbank installiert ist, enthält. Da sich der Pfad zu dem Installieren Programm sich in den meisten Fällen nach der Installation nicht ändert, verweist ORACLE_HOME immer auf das Verzeichnis der Oracle Installation in dem Dateisystem.

Sinn und Zweck von ORACLE_HOME

Der Pfad unter ORACLE_HOME ist für jede Installation festgelegt. So soll zum Beispiel sqlplus.exe immer unter ORACLE_HOME\bin und tnsnames.ora immer unter ORACLE_HOME\network\admin aufzufinden sein.

Und das ist auch der Grund warum in den Handbüchern und Skripten ORACLE_HOME verwendet wird, wenn Dateien in den Verzeichnissen der Oracle Installation erwähnt werden, ORACLE_HOME bieten die Möglichkeit mit Hilfe eines relativen Pfades, unabhängig vom Betriebssystem oder Ortes, wo das System installiert ist, auf diese zu zugreifen.

Wie überprüft man, ob ORACLE_HOME gesetzt ist

ORACLE_HOME kann nach der Installation, muss aber nicht, gesetzt sein. In einem solchen Fall solltest Du diese selbst setzen.

Wie findet man also heraus, ob ORACLE_HOME gesetzt ist oder nicht?

Unter Windows
Am schnellsten geht das, wenn Du in der CMD, auch als Windows Eingabeaufforderung bekannt,folgendes Befehl eingibst und überprüfst, ob ein Wert zurückgeliefert wird oder nicht.

In meinem Fall ist Oracle auf dem C: Laufwerk installiert und der Pfad in ORACLE_HOME lautet C:\oraclexe\app\oracle\product\11.2.0\server

Unter Unix/Linux
Auch hier ist es kein Hexenwerk. Es gibt die Möglichkeit entweder mit dem Befehl

oder

Wenn ORACLE_HOME gesetzt ist, würden beide Befehle den Pfad zur Oracle Installation zurückliefern.

TIPP: Wenn ein Skript ausgeführt wird bei dem ORACLE_HOME als Pfadangabe verwendet wird, die Umgebungsvariable jedoch nicht oder falsch gesetzt ist, so kommt es zu einem Fehler.

Der Fehler sagt zwar aus, dass die Datei nicht geöffnet werden konnte, kann aber ein Indiz dafür sein, dass die Umgebungsvariable nicht gesetzt ist.

Wie und wo setzt man ORACLE_HOME

Arbeitet man in der Konsole und benötigt die Umgebungsvariable nur für die aktuelle Session, so kann diese mit einem Befehl gesetzt werden.

unter Windows:

unter Unix/Linux:

Vorteil:

  • schnell

Nachteil:

  • Gültig nur innerhalb der Session

Die Variable gilt also nur für die Session in der man die gesetzt hat. Schliesst man die Konsole, wird die werde aus dem Speicher entfernt. Um es Global nutzen zu können, muss eine Global Umgebungsvariable gesetzt werden.
Windows Umgebungsvariablen
unter Windows:

  1. Gehe in die Systemsteuerung -> System -> Erweiterte Systemeinstellungen.
  2. Klicke auf  „Umgebungsvariablen“. Es öffnet sich ein Fenster mit Benutzer- und Systemvariablen. Benutzervariablen sind nur den angemeldeten Benutzer gültig, während Systemvariablen für alle Benutzer gültig sind.
  3. Erstelle eine neue Variable ORACLE_HOME entweder als Benutzer oder Systemvariable, je nachdem, wer diese Verwenden soll.
  4. Setze den Wert auf das Oracle-Verzeichnis.
  5. Klicken Sie „OK“, um zu speichern.
  6. Überprüfe im neuem CMD Fenster ob der Wert richtig gesetzt wurde.

Die einzelnen Variablen können im gleichem Dialog auch bearbeitet oder gelöscht werden.

Kommentar verfassen