Pular para o conteúdo

Como alterar a porta 1521 no Oracle 19c através do Docker

Como alterar a porta 1521 no Oracle

Sergio boa tarde !

Eu segui o seu roteiro da instalação do Oracle 19c no Docker mudando apenas a porta para 1523. Após o término o banco levanta sem erros, mas não consigo acessá-lo pelo SQL Developer.

Poderia me ajudar ?

Adalto


Olá pessoal !

Recebi além do e-mail acima, pelo menos mais dois com o mesmo tipo de ocorrência. Devido a isso, preferi escrever esse artigo ao invés de responder individualmente.

A porta 1521 é a padrão do listener do Oracle. Quando instalado em ambiente de produção, uma das primeiras coisas a serem feitas é a mudança dessa porta para alguma outra. Questão de segurança !

Outro motivo é quando se tem duas instalação do banco de dados executando na mesma máquina ou em dois containeres rodando. Nesse caso é preciso que uma dessas instalações tenha a porta alterada.

Alterar essa porta não é um bicho de 7 cabeças, então vamos lá e ver como fazer isso utilizando a já conhecida instalação do 19c em um container docker.

Acesse o container através do comando docker exec ou utilize o portainer para acessá-lo. Utilizarei o docker.

Abra um terminal e digite o comando:

docker exec -it <nome do seu container> /bin/bash
image 41

Já estamos conectados no container. Agora vamos verificar o status do listener:

lsnrctl status
image 42
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

Listener está ok e executando !

Observe que ele está com a porta padrão 1521. Para alterá-lo, existem alguns métodos, mas irei mostrar a vocês aquele que considero mais didático:

Alterando o arquivo listener.ora

Vamos alterar manualmente o arquivo listener.ora

Para saber onde o arquivo está, é simples. O próprio comando lsnrctl status já nos retornou a informação.

Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora

Vamos ver o que tem no arquivo listener.ora

cat /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
image 43

Na máquina host, crie um arquivo listener.ora com o seguinte conteúdo:

LISTENER = 
(DESCRIPTION_LIST = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1523)) 
  ) 
) 

DEDICATED_THROUGH_BROKER_LISTENER=ON
DIAG_ADR_ENABLED = off

Por que no host ? Devido ao fato de que no container do Oracle 19c não há editor instalado (pelo menos não encontrei). Então é mais fácil copiar do host para o container.

docker cp listener.ora <seu container>:/opt/oracle/product/19c/dbhome_1/network/admin

Vamos ver se a cópia ocorreu bem:

cat /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
image 44

Cópia efetuada com sucesso !

Agora basta reiniciar o banco. Como no nosso caso ele está em um container, basta dar o seguinte comando:

docker restart <seu container>

Agora é só esperar o reinício e tentar conectar novamente no banco de dados com a nova porta.

image 45

Vamos testar agora:

image 46

Done !

Espero que esse pequeno artigo possa ser de alguma valia a vocês ! 🙂

Abraço

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress