Eu tive esse problema depois de fazer um software de banco de dados só instalar. Eu achei que tinha que abrir uma porta no servidor em questão e também o ouvinte não estava funcionando para começar. Para começar, eu simplesmente entrei no lsnrctl (linha de comando) e usei o comando start.
Como o listener foi iniciado após a instância, a instância perdeu sua chance de se registrar automaticamente. Para corrigir isso, reiniciei a instância.
Isso pode ser feito usando a linha de comando sqlplus. Você precisará fazer o login como usuário com a sintaxe SYSDBA priveledges (por exemplo, sistema):
sqlplus name/pass as SYSDBA
execute "shutdown" e espere que termine.
então execute 'startup' e aguarde que ele termine.
dedos cruzados, agora você deve ter uma instância registrada com o ouvinte e o ouvinte ouvindo em uma porta aberta.
Para verificar se a instância está registrada com o listener, você pode voltar para o lsnrctl e executar o comando 'status'. se não funcionar, verá a mensagem "O ouvinte não suporta serviços"