Documentação da Oracle afirma:
ORA-01041: internal error. hostdef extension doesn't exist
Cause: Pointer to hstdef extension in hstdef is null.
Action: Report as a bug
Então, se você tiver apoio deles, sugiro que entre em contato com eles. Investigar erros no Oracle pode enlouquecer você às vezes.
Mas pelo que entendi, o erro tem a ver com a conexão entre os bancos de dados (ou o banco de dados e o cliente), portanto, há algumas coisas que você pode verificar.
Primeiro de tudo, pode ser simples que os arquivos simplesmente não existam.
Portanto, verifique se esses arquivos existem (e podem ser lidos pelo banco de dados):
/home/u01/app/oracle/oradata/orcl/system01.dbf
/home/u01/app/oracle/oradata/orcl/sysaux01.dbf
Verifique também se o ORACLE_HOME está configurado corretamente e se o tnsnames.ora contém a definição para ambos os bancos de dados (você deve estar conectado a ambos, mas é melhor verificar isso) e também verificar se você está ' re usando um tnsnames diferente do banco de dados.
O ouvinte pode ser um problema também, talvez o stdby nunca seja registrado lá, você pode tentar adicioná-lo manualmente no arquivo do ouvinte em vez de deixá-lo se registrar.
Eu também tive problemas se o nome do host usado não existe no arquivo / etc / hosts, mesmo se estiver usando um dns, então é algo que você pode tentar também.
Se ainda não ajudar. dê uma olhada no log de alerta e nos arquivos de rastreamento, talvez eles forneçam mais informações sobre o problema.
São todas as ideias que tenho, espero que o ajude um pouco, pelo menos.
Atualização: hmm, depois de verificar um pouco mais, parece-me que um problema poderia ser que você não especificasse a localização dos arquivos db.
Tente adicionar:
set db_file_name_convert='/home/u01/app/oracle/oradata/orcl/',
'/home/u01/app/oracle/oradata/stdby/'
após a instrução spfile
Você também pode adicionar parameter_value_convert 'orcl','stdby'
sem ter certeza se é necessário, mas parece que pode ser uma boa ideia.