You need to add the SID entry for XE in order to register the instance with the listener.
After installation of Oracle XE, everything looks good, but when you issue
C:\>sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
the instance will not register with the listener.
So please edit your listener.ora like this:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = XE)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
)
This issue came up when I installed Oracle XE on Windows 7. I did not face this problem on Windows XP. In general, this entry should not be necessary, because the instance should register with the listener automatically. Running Oracle XE on Linux (Fedora), there is no need to add XE to the sid-list.
this worked for me - I did all of the above then changed:
jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521:xe
to:
jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521/xe
After a change of ip in our oracle virtual machine, the listener never worked again. Finally these command solved the problem (where 192.168.10.200 is the new ip)
[oracle@oracle admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue May 10 12:57:37 2016
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.200)(PORT=1521))' scope=both;
System altered.
SQL> alter system register;
System altered.
SQL> exit
I ran into this problem after a firewall change to restrict access between our internal network and the database server reporting the error located in the DMZ. Communication was working fine until the change, and system and database restarts were of no help. In my case both Oracle XE11gR2 installations are on Windows.
After day of struggle I found http://edstevensdba.wordpress.com/2011/07/30/exploring-the-local_listener-parameter/ and solved the problem with:
alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=[my server's ip])(PORT=1521))' scope=both;
alter system register;
it may be that this worked simply because of the 'alter system register' as suggested by ik_zelf. I did have the IP already set in relevant places in listener.ora and tnsnames.ora.
Step 1 – Check the DB listener status
lsnrctl status
Notice that the listener you want (in our case “orcl”) is not showing.
Step 2 – Login via sqlplus
sqlplus sys/oracle as sysdba
Sqlplus gave us this error message:
Writing audit records to Windows Event Log failed
Step 3 – Go into the Windows Event Viewer (eventvwr.exe)
Under “Windows Logs”, right click on Application and select “Clear Log”. Do the same for System.
It may also be wise to right click on Application and select Properties. Then, under “Log Size” select the following option under “When maximum log size is reached”: “Overwrite events as needed”. This should prevent the log from maxing out and causing the DB not to start.
In Windows Vista and higher, you can execute the following command to clear the Application log:
wevtutil cl Application
Step 4 – Login via sqlplus
sqlplus sys/oracle as sysdba
You should now be able to login with no error messages.
Step 5 - Check the DB listener status
lsnrctl status
You should now see your listener running.
Step 6 – Start UCM
UCM should now start up.
For a more in-depth answer to this question you can read my full blog post.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With