Bei der Erstellung des Listeners stößt bereits eine unangenehme Meldung negativ auf. Es bestünde bereits ein Listener… Das das einfach nicht wahr ist, zeigt ein Blick in das Verzeichnis “$ORACLE_HOME/network/admin”. Im weiten und weisen Internet findet man den Hinweis “Einfach ignorieren!” – Das tat ich…mit mäßigem Erfolg.
Was hier nun wieder nicht so will, wie es soll ist durchaus einen eigenen Artikel wert, denn mit einem Satz oder einem Hinweis auf eine schlaue Seite ist es in diesem Fall nicht getan.
Ist einmal ein ‘holpriger’ Listener angelegt worden, so dürfte dies in etwa wie folgt aussehen.
$ tnsping PROD
TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 26-FEB-2009 19:39:51
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Parameterdateien benutzt: /u01/app/oracle/product/orauser/network/admin/sqlnet.ora Adapter TNSNAMES zur Auflösung des Alias benutzt Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = loalhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = PROD))) TNS-12538: TNS: Diesen Protokolladapter gibt es nicht
Oracle ist der Überzeugung, dass es sich wohl um “Bug 300970″ handeln muss und das dieser durch das “Relinking” von “tnsping” zu beheben wäre:
cd $ORACLE_HOME/network/lib
make -f network.mk tnsping
#Für SQL*NET v2.3
#make -f ins_network.mk
rm -f $(ORACLE_HOME)bin/tnsping
mv tnsping $(ORACLE_HOME)/bin
chmod 751 $(ORACLE_HOME)/bin/tnsping
Ganz trifft es das wohl nicht, denn ‘network.mk’ gibt es einfach mal nicht!
Vielmehr hilft es, den gesamten TCP-Stack der Datenbank erneut aufzubauen.
den gestehenden Listener zu entfernen und per ‘netca‘
su – orauser
cd $ORACLE_HOME/network/lib
make -f ins_net_client.mk ntcontab.o
genclntsh
make -f ins_net_client.mk install
make -f ins_net_server.mk install
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk install
Nun kann und sollte der bestehende/alte Listener entfernt und ein neuer (mit netca) erstellt werden.
Das Ergebnis kann sich sehen lassen:
$ tnsping prod
TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 26-FEB-2009 20:45:34
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Parameterdateien benutzt: /u01/app/oracle/product/orauser/network/admin/sqlnet.ora
Adapter TNSNAMES zur Auflösung des Alias benutzt Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = PROD))) OK (10 ms)
