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.