2 Verbindung zur Datenbank Ziele Nach dieser Lektion sollten Sie Folgendes können: • • Installierte Dienste unter Windows NT Verbindung zur Datenbank herstellen Installierte Dienste unter Windows NT • Durch die Standardmäßige Installation wurde auch die Starterdatenbank angelegt. • Diese arbeitet mit einer Reihe von Diensten, die ihre Arbeit vereinfacht. • Für den Betrieb der Starterdatenbank sind folgende 3 Dienste verantwortlich: • OracleServiceORCL Dieser Dienst startet die für die Datenbank notwendige Instanz. Die letzten 4 Buchstaben geben den Namen der Instanz wieder. Installierte Dienste unter Windows NT • OracleStartORCL Dieser Dienst veranlasst die Instanz die Datenbank zu öffnen. • OracleTNSListener80 Dieser Dienst repräsentiert den auf dem Server installierten Nachrichtendienst. Er muß laufen, damit eine Kontaktaufnahme mit der Datenbank möglich ist. Installierte Dienste unter Windows NT • Nachteil der Dienste ist es, dass sie automatisch beim Start des Rechner hochgefahren werden, und Speicherressourcen binden. • Falls die Datenbank nicht oft benötigt wird kann es Sinn geben, die Dienste in der Systemsteuerung auf manuell zu setzen, damit sie nicht mehr automatisch gestartet werden. • Nun müssen bei Benutzung der Datenbank, die Dienste aber gestartet werden. Dies kann z.B. mit einer kleinen Batch-Datei erfolgen. Installierte Dienste unter Windows NT • Der Start eines Dienstes erfolgt mit dem Befehl: – net start Dienstname • Die Beendigung des Dienstes erfolgt mit dem Befehl: – net stop Dienstname Verbindung zur Datenbank herstellen • Die Verbindung zur Oracle-Datenbank wird über SQL*Net hergestellt. • Dies ist ein Protokoll welches zwischen der Datenbank und dem Netzwerk gelagert ist. • Dieses Protokoll regelt die Kommunikation im Netzwerk und wird unter dem Begriff Transparent Network Substrate gefasst. SQL* Net Client Server Anwendung Oracle-DBMS Net8 Net8 Oracle Protokoll Adapter Oracle Protokoll Adapter Netzwerkprotokoll Netzwerkprotokoll Physikalische Netzwerk Vorteile von SQL * Net • Bei Einführung eines neuen Netzwerkprotokolls muss nur der Oracle-Protokoll-Adapter angepasst werden. • Die Datenbank soll in einer heterogenen Netzwerkstruktur laufen. (Unterschiedliche Betriebssysteme) • Die genaue Arbeitsweise der Verbindungsschicht zwischen Anwendung und DBMS wird mit Hilfe von Konfigurationsdateien gesteuert. Bei einer neuen Net8-Version müssen nur die Programmdateien von Net8 ausgetauscht werden. Eine erneute Konfiguration entfällt. Listener-Prozess • Bei der Verbindungsanforderung zur Oracle-DBMS spielt der Listener-Prozess eine bedeutende Rolle. • Er hört permanent das Netzwerk ab und dient als zentrale Empfangsstation aller eingehenden Verbindungsanfragen. • Listener können das Netzwerk für mehr als ein DBMS abhören. Für welche DBMS das Netzwerk abgehört werden soll wird im Rahmen der Net8Konfiguration festgelegt. Verbindung zur „Starterdatenbank“ herstellen • Die Net8-Konfigurationsdateien befinden sich standardmäßig im Verzeichnis Net80\Admin und dem Installationsverzeichnis von Oracle • Wenn die Konfigurationsdateien in ein anderes Verzeichnis gelegt werden sollen, z.B. zentral auf einem File-Server, so muss dies in der Registry unter dem Pfad \HKEY_LOCAL_MACHINE\SOFTWWARE\ORACLE hinterlegt werden. Listener konfigurieren • Die Konfigurationsdatei für den Listener trägt den Namen LISTENER.ORA und befindet sich in dem auf der vorhergehenden Seite erwähnten Verzeichnis auf dem Server. • Der Aufbau dieser Datei ist relativ einfach, sie enthält nur wenige Parameter. • Die vom Listener abzuhörenden Protokolle und Adressen werden mit Hilfe des Schlüsselwortes LISTENER in Form einer Parameterliste angegeben. Listener konfigurieren • Beispiel für die Konfiguration eines Listeners: LISTENER = (ADDRESS_LIST = (ADDRESS= (PROTOCOL=TCP) (HOST= Bahn) (Port= 1521)) (ADDRESS= (PROTOCOL=TCP) (HOST= Bahn) (Port= 1526)) ) • Die auf dem Server abgelegte Datenbank wird ebenfalls im Listener hinterlegt SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = oracle) (SID_NAME = ORCL)) ) Listener konfigurieren • Sollte auf dem Server eine zweite Datenbank angelegt sein, so muß auch sie im Listener eingetragen sein: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = oracle) (SID_NAME = ORCL)) (SID_DESC = (GLOBAL_DBNAME = Kunden) (SID_NAME = KD)) ) • Wesentlich bei der oben aufgeführten Instanzenaufzählung ist, die Benennung des Datenbanknamens und der dazugehörigen Instanzbezeichnung. • Die Änderungen in der Konfigurationsdatei werden erst dann wirksam wenn der Listener neu gestartet wurde. Client konfigurieren • Der Net8-Client wird mit Hilfe der Dateien SQLNET.ORA UND TNSNAMES.ORA konfiguriert. • Im Unterschied zur Datei LISTENER.ORA befinden sich diese Dateien ebenfalls auf dem Server. • Dies ist notwendig damit der Server Daten aus einer Datenbank abrufen kann die auf einem anderen Server liegt. In diesem Fall ist der Server dann Client. • Die Konfigurationsdatei SQLNET.ORA enthält Einstellungen über Präferenzen bei der Nutzung von Net8. • Auf sie kann evtl. verzichtet werden Konfiguration der Servicenamen • Wenn man sich mit einer Anwendung, z.B. SQL*Plus, an der Oracle Datenbank anmelden möchte erhält man einen kleinen Dialog in dem man neben Benutzernamen und Kennwort auch den Service angeben kann. • Der Service- oder auch Dienstname repräsentiert eine DBMS-Instanz mit Datenbank. • Die Verbindung zwischen den Dienstnamen und den Datenbankinstanzen findet in der Datei TNSNAMES.ORA statt.