Oracle
 sql >> Database >  >> RDS >> Oracle

Errore ORA-12514 dopo il riavvio del server

Dai commenti sembra che il valore predefinito local_listener probabilmente sta tentando di utilizzare l'IP dinamico dalla nuova scheda di rete, quindi non utilizza lo stesso indirizzo utilizzato dall'ascoltatore. Il modo più semplice per risolvere questo problema è probabilmente impostare manualmente quel parametro:

alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.26.7)(PORT=1521))' scope=memory;
alter system register;

Oppure penso che tu possa usare una versione più breve, ma non posso verificarlo in questo momento:

alter system set local_listener = '172.17.26.7:1521' scope=memory;
alter system register;

Se funziona, ovvero lsnrctl services ora mostra orcl - e sei soddisfatto, cambia la memory a both ed esegui nuovamente in modo che persista al successivo riavvio del DB.

Un'altra versione di questo è definire l'ascoltatore in tnsnames.ora , quindi usa quell'alias per local_listener valore; ciò forse renderebbe più semplice apportare modifiche se l'IP statico fosse mai cambiato, poiché avresti solo bisogno di cambiare listener.ora e tnsnames.ora (e tutti i tuoi clienti, ovviamente), non dovresti modificare direttamente il parametro DB. Probabilmente è utile solo se hai persone diverse che gestiscono il DB e quei file, il che non è molto probabile; ma potrebbe essere un po' più ordinato.