1 Listener para 2 Databases
Estamos avaliando a máquina que substituirá o servidor de banco de dados aqui na empresa (Oracle 11g em Red Hat Enterprise 5), ele está respondendo monstruosamente bem. Pela performance da máquina, resolvi criar a base de testes nela também, isso não deve ser feito em ambiente de produção, mas como essa máquina é para o deleite das crianças de TI resolvi testar.
Criei a nova database pelo assistente do Oracle, pq por linha de código é um pé, até aqui tudo bem, mas o senhor LISTENER resolveu ficar malcriado e não dava atenção para a segunda instância.
Então abri o famoso Google e encontrei uma discussão entre um leigo e 3 DBA Oracle, que matança inútil (O leigo não sabe perguntar e os dbas não fazem a menor questão de entender oq o coitado quer), mas resumindo encontrei a solução para o problema, siga os passos abaixo:
1º Abra o arquivo listerner.ora
Ele estará em $ORACLE_HOME$/network/admin
Povavelmente ele terá uma cara parecida com isso:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
2º Adicione as informações de todas as databases da máquina:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DATABASE1)
(ORACLE_HOME = /usr/oracle_app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = DATABASE1)
)
(SID_DESC =
(GLOBAL_DBNAME = DATABASE2)
(ORACLE_HOME = /usr/oracle_app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = DATABASE2)
)
)
3º Vá no bash no linux e reinicie o listener:
lsnrctrl stop
lsnrctrl start
Agora é só conectar a segunda database.
[]´s