Esse post demonstra como alterar a porta do Listener usando o SRVCTL, uma abordagem recomendada em ambientes RAC ou DBCS e ExaCS na OCI, pois é possível realizar a configuração de modo centralizado, evitando possíveis conflitos envolvendo alterações manuais no arquivo configuração “listener.ora”.

1) Configuração Atual

Observe que todos os comandos são executados com o usuário grid, owner padrão do Grid Infrastructure em DB System e ExaCS.

1.1) Verificando a configuração atual (assumunindo que o listener está usando o nome default, DBCS e ExaCS sempre usam o default).

SCAN Listener (note que um DB System sempre tem um SCAN Listener, mesmo sendo Single Instance):

[grid@ociexa ~]$ srvctl config scan_listener
SCAN Listeners for network 1:
Registration invited nodes:
Registration invited subnets:
Endpoints: TCP:1521/TCPS:2484
SCAN Listener LISTENER_SCAN1 exists
SCAN Listener is enabled.
SCAN Listener LISTENER_SCAN2 exists
SCAN Listener is enabled.
SCAN Listener LISTENER_SCAN3 exists
SCAN Listener is enabled.

Local Listener

[grid@ociexa ~]$ srvctl config listener
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521/TCPS:2484
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:

2) Alterando a Configuração

2.1) Alterando a configuração para receber conexões nas portas 1521 e 1525, simultaneamente:

$ srvctl modify scan_listener -endpoints TCP:1521,1525/TCPS:2484

2.2) Alterando o Local Listener:

$ srvctl modify listener -endpoints TCP:1521,1525/TCPS:2484

Observe que não é obrigatório passar o atributo TCPS, porém isso faria com que o Listener não aceitasse conexões deste tipo.

Por exemplo:

$ srvctl modify listener -endpoints TCP:1521,1525

2.3) Verificando a nova configuração:

[grid@ociexa ~]$ srvctl config scan_listener
SCAN Listeners for network 1:
Registration invited nodes:
Registration invited subnets:
Endpoints: TCP:1521,1525/TCPS:2484
SCAN Listener LISTENER_SCAN1 exists
SCAN Listener is enabled.
SCAN Listener LISTENER_SCAN2 exists
SCAN Listener is enabled.
SCAN Listener LISTENER_SCAN3 exists
SCAN Listener is enabled.

Local Listener:

[grid@ociexa ~]$  srvctl config listener
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521,1525/TCPS:2484
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:

2.4) Reiniciando os Listeners:

ATENÇÃO: Risco de falha em novas conexões durante os segundos em que o Listener estiver offline, mas não há impacto para as sessões conectadas.

$ srvctl stop scan_listener
$ srvctl start scan_listener

Local Listener:

$ srvctl stop listener
$ srvctl start listener

2.5) Consultando o status do Listener e verificando quais portas estão sendo usadas:

Informação Apresentada na Console OCI

Para os casos de DB Systems e ExaCS, mesmo alterando a porta do Listener via SRVCTL, a informação apresentada na console OCI não irá refletir essa nova configuração, mesmo ela estando funcional e não apresentando nenhum conflito. No caso específico de ExaCS, o mesmo tem opção de especificar uma porta diferente para o Listener durante o provisionamento, mas ainda não tem um meio via console para alterar essa configuração após ele ter sido provisionado.

Leave a Reply

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading