Se puede arrancar por consola para ver el error, ya que si se arranca el servicio desde el windows puede ser difícil acertarlo:
lsnrctl
Una vez se ha hecho esto hay 2 comandos importantes: status y start, si hacemos start nos mostrará un error más comprensible. Ejemplo:
LSNRCTL> start
Iniciando tnslsnr: espere...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
El archivo de parámetros del sistema es E:\oracle\ora92\network\admin\listener.ora
Mensajes de log escritos en E:\oracle\ora92\network\log\listener.log
Recibiendo en: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
Error al recibir de: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=idm3srv)(PORT=1521)))
TNS-12545: La conexión ha fallado porque el host destino o el objeto no existen
TNS-12560: TNS:error del adaptador de protocolo
TNS-00515: La conexión ha fallado porque el host destino o el objeto no existen
32-bit Windows Error: 49: Unknown error
Fallo al iniciar el listener. Consulte los mensajes de error mostrados...