I am using Oracle 10g on a Windows machine, everything works fine and all, but after rebooting the machine, I started having a problem where I couldn't connect to the instance (ORA-12514), knowing that the listener service in On. When i disconnect from the internet, oddly enough, the issue corrects itself.
Does anybody have a clue on the roots of this problem?
Here is the content of my listener.ora file:
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = Localhost)(PORT = 1521))
)
)
EDIT:
When i try to connect to the host using telnet localhost 1521 it stays this way:
and when i try telnet and then o localhost 1521, it connects successfully.
When i change localhost to 127.0.0.1, the problem remains the same.
lsnrctl status gives me this result:
Change entry to 0.0.0.0 instead of Localhost as following:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
It's the simplest way to have listener linstening all interfaces.
EDIT: Also, you can use static listener registration such way:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = YOURSID)
(ORACLE_HOME = C:\oracle\product\11.2.0\dbhome_1)
(SID_NAME = YOURSID)
)
)
Related
I have a locally installed Oracle XE instance I use, but it times out every 2 hours on our corporate VPN. It's like clockwork, 2 hours after connecting I get:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
If I reconnect the VPN it starts working again, 2 more hours then reconnect. Any way to avoid this? Any way even to refresh it without reconnecting the VPN, as that in itself is a total pain.
Update
listener.ora looks like:
DEFAULT_SERVICE_LISTENER = XE
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Oracle\dbhomeXE)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\dbhomeXE\bin\oraclr.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <FQDN>)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
Where is the fully qualified domain name of my machine.
I'm a programming student and I just began learning databases and SQL. When I try to connect to the databse in SQL Developer it says
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor.
I tried to install it on my PC tower at home and everything works fine it just doesn't work with my laptop. Even the teacher said he couldn't help me because he doesn't know what to do so I try here because I really don't know what to do.
I tried uninstalling et reinstalling the database multiple times and I made sure every Oracle services were running. My SID is set to XE. My connection is set to basic. The host is 'localhost', the port is '1521' and the SID is 'xe'
Heres is the tnsnames.ora file
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-62JIG0N)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
Heres is the ouput of lsnrctl status in the cmd
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Production
Start Date 03-F╔VR.-2020 12:04:38
Uptime 0 days 4 hr. 53 min. 38 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\oracle\diag\tnslsnr\DESKTOP-62JIG0N\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-62JIG0N)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Here's the listener.ora file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-62JIG0N)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
What is the 'connection' type of your SQL Dev connection properties? (basic? TNS?) There is a discconect between the error message ("NS:listener does not currently know of SID") while your tnsnames says to connect by service name rather than by SID. This would indicate that your SQL Dev connection type is 'basic' . . . which doesn't use tnsnames.ora at all. Since you are using a 'basic' connection, you need to show us the values used. Also, since it is the listener complaining that he doesn't know of the sid you are requesting, you need to show us the output of the command 'lsnrctl status', so that we can see what the listener does know about.
This really a pretty basic problem, so the fact that your instructor doesn't know how to solve it leaves me with a lot of questions about his qualifications to be teaching anything involving oracle.
I have problems when I modify the listener.ora , when I put a new address , as shown .
listener.ora Network Configuration File: C:\app\name\12.1.0\dbhome_1\NETWORK\ADMIN\listener.ora
Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\name\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\name\12.1.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = OracleDB)
(ORACLE_HOME = C:\app\User\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = Oracle8)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = Prova)
(ORACLE_HOME = C:\app\User\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
**(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))**
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = C:\app\name\12.1.0\dbhome_1\log
when I do not put the address with asterisk everything works correctly in local, but I need to connect oracle from another client (other PC).
in aid I found places I have to add this:
** (ADDRESS = ( PROTOCOL = TCP ) (HOST = 192.168.0.10 ) (PORT = 1521 ) ) **
but when I put this in the listener.ora nothing works.
errors are as follows:
oracleOraDB12Home1TNSListener
It does not automatically start.
enter cmd and put lsnrctl star and I get this error:
TNS- 12560 and TNS- 00530
if I make a lsnrctl status I get the error:
TNS- 12535 , TNS - 12500
how can I solve this problem?
to connect from a client (other PC) is correct only make this change in the listerner.ora or some change is needed more ?
Finally is Oracle for Windows x64
Just clarifying a few points: The host of the database runs the listener(s). The listener configuration comes from tnsnames.ora and listener.ora located where you've specified. 'localhost' is obviously the same address as the database host.
In the listener.ora, the IP you are trying to add should be an IP address for the database host. (It's not clear from the post, but just to be clear, the listener does not run on the client.) I personally replace the 'localhost' entry with the database host IP address.
At this point the listener should start correctly and it will be listening for connections on the IP and port specified.
The remaining problems with the client connectivity get a bit more complicated because of network configuration, authentication, client s/w involved, etc. Some of these configurations relate to the sqlnet.ora file (both on the server and the client).
But basically, on the client, you need to configure the connection to connect to the IP address, port, and one of the global_names referenced in the listener.ora (This could be configured via a tnsnames.ora file. There are other client configuration options.)
I installed Oracle 11XE a while back - suddenly I am getting ORA-01034 and ORA-27101 errors when trying to connect
My ORACLE_HOME and ORACLE_SID appear to be correct.
My listener.ora file is:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = XE)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
))
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = Home-PC)(PORT = 1521))
)
(PROGRAM = extproc)
)
DEFAULT_SERVICE_LISTENER = (XE)
The following Windows Services are all started:
OracleJobSchedulerXE
OracleMTSRecoveryService
OracleServiceXE
OracleXEClrAgent
OracleTNSListener
When I switch Windows Firewall off (just in case it is blocking port 1521), it still brings up the error
What else can I check?
It must have been a permissions issue for some reason
When I ran the Start Database batch file, it just hung
From the SQL Command Line, I typed
STARTUP
and got
ORA-01038: insufficient privileges
So I connected using
connect sys as sysdba
and got
Connected to an idle instance
I then used
STARTUP
again and it started! I had not changed anything else. I can only assume I will have to change my Start.bat file to connect as sysdba first
I ran into this exact problem when one of my drives used by Oracle had 25GB used and only 5GB free space. I increased the size to 60GB and it fixed the problem.
I've installed Oracle 11g XE on a Fedora 20 Virtual Machine, configured it and set the enviroment variables (running the oracle_env.sh). I've got this error when trying to connect Eclipse with the database via jdbc, using this string "jdbc.databaseurl=jdbc:oracle:thin:#192.168.88.134:1521:XE"
I can connect to the database in the Virtual Machine via SQL*Plus (sqlplus / as sysdba).
The $ORACLE_SID variable is ok (XE). I've already tried to stop and start the listener, then startup the database, and use the alter system register; command.
Also statically registering the database without success (I cannot asure I did not mistake doing this, so if somebody thinks this could solve my problem I would try again).
Here is the listener.ora file:
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
And the tnsnames.ora file:
# tnsnames.ora Network Configuration File:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
And lsnrctl status:
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAR-2014 01:22:35
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 30-MAR-2014 22:41:35
Uptime 0 days 2 hr. 41 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/192/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.88.134)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
I'm almost sure that the problem is that the listener doesn't know about the database. The previous command should show, apart from what it already shows, something like
Service XE has 1 instance.
Instance "XE", status READY, has 1 handler for this service
... but it doesn't, and I don't know how to solve this.
I'm new at this, mainly at Linux, so I will appreciate every detail in the solutions you suggest.
This sounds like your database is trying to register using the wrong IP address to contact the listener. Your listener is configured to listen on 192.168.88.134, but perhaps the DB is assuming localhost (127.0.0.1), or an old IP value if the configuration has ever changed.
By default the database will attempt to register against the server's external host name (the default when local_listener is blank), but you may be getting an unexpected value from that - so what is in /etc/hosts for the machine name matters. Whatever has caused that, registration seems to be failing.
You can explicitly tell the DB to register using the actual listener address:
alter system set local_listener = '192.168.88.134:1521' scope=memory;
alter system register;
If that works and lsnrctl services now shows XE, then repeat the set command with scope=both to make it stick on the next DB restart.
Troubleshooting:
remove listener.ora (for this initial setup, you don't need it. make a backup of it)
lsnrctl reload
or
add XE to your SID_LIST like:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = XE)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
)
lsnrctl reload
check the alert log for messages.
In your listener.ora:
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
Usually here by default there is a hostname instead of IP address. Did you do something special so that you have that IP there (192.168.88.134)?