Thomas Kramer

IT-COW | Juni 2010

Reminder: Oracle-Namensauflösung und Konfiguration

By Administrator at Juni 30, 2010 04:21
Filed Under: Administration, Reminder

Oracle unterstützt als Namensauflösung der Datenbanken u. a. Host Naming als auch Local Naming. Eine gute leicht verständliche Zusammenfassung dazu gibt es hier.

 

Serverseitig findet die Konfiguration des Listeners, der auf die Aufrufe horcht, über die Datei listener.ora statt. In dieser Datei findet sich ein LISTENER=-Eintrag. Dieser zeigt auf, auf welchem Rechner sich die Datenbank befindet - in der Regel ist das derselbe Rechner auf dem auch der LISTENER gestartet wurde - und über welchen Port der Listener lauschen soll.

 

Auf welche Datenbank-Namen der Listener horchen soll wird über den Eintrag SID_LIST_LISTENER in der listener.ora festgelegt, der nicht unbedingt immer da ist - ab Oracle 9i registrieren sich die Datenbanken nämlich automatisch im Listener, sofern der Listener nicht auf einen anderen Port als den Standardport 1521 konfiguriert wurde.

 

Wurde der Listener auf einen anderen Port gelegt, muss der Auto-Konfiguration u. U. nachgeholfen werden. Dazu gibt man folgendes ein (Kommandozeile als Admin starten):

 

sqlplus / as sysdba

alter system set local_listener='LISTENER' scope=both sid='*';

 

Damit wird festgelegt welches der lokale Listener ist, bei dem sich die Datenbanken anmelden sollen. In seltenen Fällen kann es vorkommen das das nicht funktioniert, dann kann man mit dem Befehl alter system register; nachhelfen.

 

Scope=memory würde festlegen, das die Änderung nur bis zu einem Neustart gilt, scope=spfile dagegen das er es in die binäre Konfigurationsdatei schreibt, bei both macht er beides. SID gibt den Oracle-Bezeichner für die Datenbank an, * für alle.

 

Bei älteren Oracle-Versionen gab es die pfile-Dateien, das sind die alten simplen Text-Konfigurationsdateien wie die init.ora, die in Oracle 11 aber nur noch aus Kompatibilitätsgründen da sind und nicht mehr vom System ausgelesen werden. In Oracle 11 wird die Konfiguration dagegen in sogenannten spfile-Dateien geschrieben, das sind binäre Konfigurationsdateien.

 

Wenn man Änderungen am System mit alter system set ... scope=both vornimmt sieht man sehr schön das sich das Änderungsdatum der spfile-Datei ändert, aber nicht das der init.ora-Datei. Trotzdem kann man sich die spfile-Dateien im Editor anschauen, es sind auch Text-Informationen enthalten, aber man sollte die Datei nicht über den Editor verändern.

 

Die init.ora dagegen wird beim Anlegen der Datenbank aus Kompatibilitätsgründen mit erzeugt, aber danach wie gesagt nicht mehr ausgelesen oder verändert. Weitere Erläuterungen dazu finden sich hier und hier.

 

Die Client-seitige Konfiguration findet bei Local Naming über die tnsnames.ora statt, dafür muss der Oracle-Client installiert sein oder man arbeitet direkt auf dem Server, dort ist sie auch per default mit vorhanden. Die ODBC-Treiber von Oracle arbeiten leider -nur- mit TNS, daher muss eine funktionierende Namensauflösung gegeben sein.

 

Weiterer Link zu der Oracle-Gruppe in Xing. Wie man eine 32-Bit-Verbindung zu einer 64-Bit-Oracle-Instanz herstellt habe ich übrigens hier beschrieben.

 

Monats-Liste