Guia Passo a Passo: Executando o Oracle Database Express em um Container Docker

Introdução

Este post destina-se àqueles que estão enfrentando dificuldades na instalação do Oracle Database Express Edition, também conhecido como Oracle DB versão gratuita, ou para aqueles que preferem evitar instalações desnecessárias em sua máquina. Se você se enquadra nesse cenário, seja um desenvolvedor que está codificando um software para um projeto que utiliza o Oracle como banco de dados, ou até mesmo se você está buscando se tornar um administrador Oracle, este artigo pode ser muito interessante.
Antes de começar, gostaria de explicar alguns conceitos básicos sobre containers. No entanto, se você já está familiarizado com os conceitos do universo do Docker, pode pular diretamente para a execução do comando ‘docker run‘.

Container Registry

O Container Registry é um serviço de armazenamento e distribuição de imagens de contêiner. É onde as imagens são hospedadas para uso posterior. No contexto do Oracle Database Express, você pode encontrar imagens relevantes no Oracle Container Registry ou em outros repositórios de imagens disponíveis, como o Docker Hub.

Imagem de Container

Uma imagem de container é um pacote que contém um software juntamente com suas dependências, bibliotecas, configurações e outros recursos necessários para sua execução. É uma representação estática e imutável de um ambiente ou aplicativo. No contexto do Oracle Database Express, uma imagem de container seria um pacote que inclui o Oracle DB e todos os componentes necessários para sua operação.

Container

Um container é uma instância em execução de uma imagem. Ele pode ser comparado a um ‘mini sistema operacional’ com seus próprios processos isolados. No contexto do Oracle Database Express, um container seria um ambiente no qual o Oracle é executado com suas configurações específicas.

Agora que você já conhece o mínimo do mundo dos containers é hora de começar. E, como esse post não é para falar da instalação do Docker, vou considerar que o docker não é um problema para você e que você já o tem instalado na sua máquina. Vamos partir direto para os finalmentes:

Criação do Container com o Oracle XE

Para subir o container do Oracle Database Express Edition é suficiente executar o comando:

docker run -d \
 --name oracle-xe \
 -p 1521:1521 \
 -p 5500:5500 \
 container-registry.oracle.com/database/express:21.3.0-xe

Obs. o comando docker run… vai fazer o download da imagem do oracle express e pode demorar um pouco, e o tempo vai depender da velocidade da sua internet.

output:

$ docker run -d \
> --name oracle-xe \
> -p 1521:1521 \
> -p 5500:5500 \
> container-registry.oracle.com/database/express:21.3.0-xe
42623ec2d6ebeb1d3b3c2e3a58a60b49636e9bcdf8ccbededbf49d7a93f5dc78

Um vez finalizado, vou trocar a senha dos usuários SYS, SYSTEM e PDBADMIN:

docker exec oracle-xe ./setPassword.sh Pass#2023

output:

$ docker exec oracle-xe ./setPassword.sh Pass#2023
The Oracle base remains unchanged with value /opt/oracle

SQL*Plus: Release 21.0.0.0.0 - Production on Thu May 18 22:11:07 2023
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.


Connected to:
Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SQL> 
User altered.

SQL> 
User altered.

SQL> 
Session altered.

SQL> 
User altered.

SQL> Disconnected from Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
$ 

Console de Enterprise Manager

Para acessar a cosole do Enterprise Manager use o endereço https://localhost:5500/em

Oracle Enterprise Manager

SQL*PLUS

Vou deixar abaixo algumas forma para acessar o Oracle via SQL*PLUS, mas recomendo instalar o SQL Developer na estação de trabalho e fazer conexão na porta 1521.

Algumas formas de acessar via SQL*PLUS:

# Acessando com SYSDBA container database
  $ docker exec -it <oracle-db> sqlplus / as sysdba
  $ docker exec -it <oracle-db> sqlplus sys/Pass#2023@XE as sysdba
# Acessando com SYSTEM container database
  $ docker exec -it <oracle-db> sqlplus system/Pass#2023@XE
# Acessando PDB com usuário pdbadmin
  $ docker exec -it <oracle-db> sqlplus pdbadmin/Pass#2023@XEPDB1

Veja o vídeo desse post no YouTube

Extras…

Para finalizar esse post, vou deixar abaixo alguns links de vídeos do youtube, onde explico sobre “os principais comandos linux para dba” e sobre uma playlist onde falo um pouco do edutor de texto VI.

1 comentário em “Guia Passo a Passo: Executando o Oracle Database Express em um Container Docker”

Deixe um comentário