Você precisa adicione a entrada SID para XE para registrar a instância com o ouvinte.
Após a instalação do Oracle XE, tudo parece bem, mas quando você emite
C:\>sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
a instância não será registrada com o ouvinte.
Então, por favor, edite seu listener.ora assim:
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)
)
)
Esse problema surgiu quando instalei o Oracle XE no Windows 7. Não enfrentei esse problema no Windows XP. Em geral, essa entrada não deve ser necessária, pois a instância deve se registrar no listener automaticamente. Executando o Oracle XE no Linux (Fedora), não há necessidade de adicionar o XE à lista de sids.