Veröffentlicht 18. August 200520 j Hallo, habe auf unserem Suse Linux Enterprise Server 8 den Oracle 9.2 Server installiert. Eine Datenbankinstanz habe ich darauf auch schon installiert. Wenn ich aber nun mit dem Oracle Client von meinem Windowsrechner aus zugreifen will bekomme ich den Fehler: ORA-12541: TNS: Kein Listener Kann man den irgendwie nachinstallieren?
18. August 200520 j ORA-12541: TNS: Kein Listener Kann man den irgendwie nachinstallieren? Ich kenn das jetzt nicht direkt, aber "kein Listener" würde ich so deuten, dass dein Programm auf dem gewünschten Port keine DB erreichen kann (auf dem Port hört kein Programm die Anfragen ab). Ich würde eher mal nachsehen, ob der Port richtig ist bzw. ob er nicht geblockt ist o.ä.
18. August 200520 j - schon ein tnsping <instanzname> auf dem client versucht? - bearbeite /oracle/product/920/network/admin/listener.ora am server, sollte in etwa so aussehen: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost )([B]PORT = 1521[/B])) ) ) ) dann mach ein /oracle/product/920/bin/lsnrctl start und sieh dir die ausgaben an. s'Amstel
18. August 200520 j Autor - schon ein tnsping <instanzname> auf dem client versucht? Der geht. - bearbeite /oracle/product/920/network/admin/listener.ora am server, sollte in etwa so aussehen: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost )([B]PORT = 1521[/B])) ) ) ) Bei mir steht da noch was und zwar: SID_LIST_LISTENER (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (Oracle_HOME = /opt/oracle/product/9ir2) (Program = extproc) ) )
18. August 200520 j Autor dann mach ein /oracle/product/920/bin/lsnrctl start und sieh dir die ausgaben an. mit SID_LIST_LISTENER: oracle@oraTEST:~> /opt/oracle/product/9ir2/bin/lsnrctl start LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 18-AUG-2005 13:42:47 Copyright © 1991, 2002, Oracle Corporation. All rights reserved. Starting /opt/oracle/product/9ir2/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 9.2.0.4.0 - Production System parameter file is /opt/oracle/product/9ir2/network/admin/listener.ora Log messages written to /opt/oracle/product/9ir2/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraTEST.emea)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraTEST.emea)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production Start Date 18-AUG-2005 13:42:47 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF Listener Parameter File /opt/oracle/product/9ir2/network/admin/listener.ora Listener Log File /opt/oracle/product/9ir2/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraTEST.emea)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully oracle@oraTEST:~> und ohne (bzw. so wie er bei dir aussieht: oracle@oraTEST:~> /opt/oracle/product/9ir2/bin/lsnrctl start LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 18-AUG-2005 13:50:23 Copyright © 1991, 2002, Oracle Corporation. All rights reserved. Starting /opt/oracle/product/9ir2/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 9.2.0.4.0 - Production System parameter file is /opt/oracle/product/9ir2/network/admin/listener.ora Log messages written to /opt/oracle/product/9ir2/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraTEST.emea)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraTEST.emea)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production Start Date 18-AUG-2005 13:50:23 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF Listener Parameter File /opt/oracle/product/9ir2/network/admin/listener.ora Listener Log File /opt/oracle/product/9ir2/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraTEST.emea)(PORT=1521))) The listener supports no services The command completed successfully oracle@oraTEST:~>
18. August 200520 j Autor Bei beiden bekomme ich nun folgende Fehlermeldung: In Verbindungsdeskriptor angegebener SID konnte nicht aufgelöst werden.
19. August 200520 j In der listener.ora muss die Bank unter SID_LIST auch noch eingetragen werden. Hier ein Beispiel: (SID_DESC = (GLOBAL_DBNAME = rha2ttcp.world) (ORACLE_HOME = /dusois2/oracle/product/9.2.0) (SID_NAME = A2T) ) Anschliessend den Listener durchstarten, damit die Änderungen gezogen werden. hth
23. August 200520 j Autor Die Listener.ora sieht nun so aus: # LISTENER.ORA Network Configuration File: /opt/oracle/product/9ir2/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = HOST=oraTEST. emea)(PORT = 1521)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = PNPKEY)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = zubv) (ORACLE_HOME = /opt/oracle/product/9ir2) ) ) Wenn ich ich nun mit dem User anmelden will, sagt mir der Client, dass ich mich als sysdba anmelden soll und die Datenbank hochfahren. Wenn ich das tue und die db hochfahren will bekomme ich die Fehlermeldung: ORA-01031: Unzureichende Berechtigungen [/PHP] Was mach ich falsch? Der Server fährt die DB auch nicht automatisch beim Start des Rechners hoch. Kann man das Automatisieren?
23. August 200520 j Was mach ich falsch? Der Server fährt die DB auch nicht automatisch beim Start des Rechners hoch. Kann man das Automatisieren? Im Verz. /etc/init.d sollte es eine Datei oracle (oder so) geben. Mit der kannst du die DB starten /etc/init.d/oralce start [oder stop oder restart] Um das automatisch zu tun, musst du im Verzeichniss /etc/rc.d/rcX.d/ einen sym. link auf diese Datei anlegen. Dabei steht X für das Runlevel (also rc1.d für Runlevel 1, rc2.d für Runlevel2... rc5.d für runlevel5 (http://de.wikipedia.org/wiki/Runlevel) ) Alles, was beim Erreichen des Runlevels gestartet werden soll muss einen Link haben, der mit S beginnt. Die Nummer danach legt nur die Reihenfolge fest. S01blablubb wird als vor S05blablubb gestartet, welches aber nach S04blablubb gestartet wird. Genauso ist es mit Programmen, die gestoppt werden sollen, sobald das Runlevel erreicht ist (beim Beenden). Dort fängt der Link allerdings mit K an.
23. August 200520 j Autor Wie kann ich denn unter Linux den Oracle Enterprise Manager starten? //EDIT sorry, geht mit oemapp dbastudio
23. August 200520 j Im Verz. /etc/init.d sollte es eine Datei oracle (oder so) geben. Mit der kannst du die DB starten /etc/init.d/oralce start [oder stop oder restart] Und dann??? Oracle liefert ein Skript namens dbstart (liegt im $ORACLE_HOME/bin). Das bindest du im /etc/rc.d ein (und kein Binary namens oracle). dbstart arbeitet dann die /etc/oratab ab, und startet alle mit Y gekennzeichneten Banken. Um eine Bank von Hand zu starten, ist folgendes zu tun: 1. als User oracle (oder wer auch immer zur Gruppe dba gehört): export ORACLE_SID=XXXXX sqlplus "/ as sysdba" 2. im SQL*Plus: startup
23. August 200520 j Das hätte ich vielleicht erwähnen sollen, SQL*Plus unter Linux/9i verabschiedet sich gerne mal mit nem 46, wenn für http_proxy so was wie www.myproxy.com gesetzt ist. Hier hilft entweder: unset http_proxy oder eine kleine Korrektur: export http_proxy=[B]http://[/B]www.myproxy.com
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.