Tienes que agregue la entrada SID para XE para registrar la instancia con el oyente.
Después de la instalación de Oracle XE, todo se ve bien, pero cuando emite
C:\>sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
la instancia no se registrará con el oyente.
Así que edite su listener.ora de esta manera:
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)
)
)
Este problema surgió cuando instalé Oracle XE en Windows 7. No tuve este problema en Windows XP. En general, esta entrada no debería ser necesaria, porque la instancia debería registrarse con el oyente automáticamente. Al ejecutar Oracle XE en Linux (Fedora), no es necesario agregar XE a la lista sid.