This post is also available in:
Se você precisa de um Oracle Database de pé rapidamente — para testar um patch, reproduzir um comportamento ou validar uma query — montar toda uma infra manualmente é perda de tempo. O repositório oficial da Oracle no GitHub oferece Vagrant boxes prontas para as principais versões, incluindo a 19c.
Neste guia você vai subir um Oracle Database 19.3.0 completo em uma VM isolada, com o banco inicializado e pronto para conexão, usando apenas Vagrant e VirtualBox.
Pré-requisitos
Antes de começar, confirme que você tem:
| Requisito | Versão mínima | Observação |
|---|---|---|
| VirtualBox | 6.1+ | Instalar antes do Vagrant |
| Vagrant | 2.3+ | |
| Git | qualquer | Para clonar o repositório |
| Binário Oracle 19c | LINUX.X64_193000_db_home.zip | Download via Oracle eDelivery |
| Espaço em disco | ~35 GB | VM + banco + binário |
| RAM disponível | 4 GB | A VM usa 2 GB por padrão |
⚠️ O VirtualBox deve estar instalado antes do Vagrant. A instalação na ordem inversa causa problemas com o provider.
Passo 1 — Baixar o binário do Oracle 19c
O Vagrant não faz o download automático dos binários Oracle — você precisa obtê-los manualmente no Oracle eDelivery ou no Oracle Technology Network (OTN).
- Acesse edelivery.oracle.com
- Faça login com sua conta Oracle (gratuita)
- Pesquise por Oracle Database 19c — selecione a versão Linux x86-64
- Baixe o arquivo:
LINUX.X64_193000_db_home.zip
Guarde o arquivo em um local acessível — você vai copiá-lo para o diretório correto no próximo passo.
Passo 2 — Clonar o repositório oficial
git clone https://github.com/oracle/vagrant-projects.git
cd vagrant-projects/OracleDatabase/19.3.0A estrutura esperada nesse diretório:
19.3.0/
├── Vagrantfile
├── install.sh
├── ora19c.conf
└── scripts/Passo 3 — Posicionar e validar o binário
Copie o ZIP do Oracle para dentro do diretório 19.3.0:
cp /caminho/para/LINUX.X64_193000_db_home.zip .Confirme que o arquivo está no lugar certo:
ls -lh *.zip-rwxrwxr-x 1 henrique henrique 2,9G abr 30 11:26 LINUX.X64_193000_db_home.zip⚠️ O nome do arquivo importa. O
Vagrantfilereferencia o nome exatoLINUX.X64_193000_db_home.zip. Não renomeie o arquivo.
Validar o SHA-256 antes de prosseguir
O script de provision valida o hash do ZIP antes de instalar. Um download corrompido vai derrubar o provision já dentro da VM — e você só vai descobrir após 10+ minutos de espera.
Valide antes:
cat db_installer.sha256ba8329c757133da313ed3b6d7f86c5ac42cd9970a28bf2e6233f3235233aa8d8 */vagrant/LINUX.X64_193000_db_home.zipsha256sum LINUX.X64_193000_db_home.zipba8329c757133da313ed3b6d7f86c5ac42cd9970a28bf2e6233f3235233aa8d8 LINUX.X64_193000_db_home.zipOs dois hashes devem ser idênticos. Se forem diferentes, o arquivo está corrompido — baixe novamente antes de continuar.
Passo 4 — Subir a VM com vagrant up
vagrant upO processo completo leva entre 15 e 30 minutos dependendo do hardware. O Vagrant vai:
- Baixar a box base Oracle Linux 7 (somente na primeira vez, ~1 GB)
- Criar e iniciar a VM no VirtualBox
- Executar o script de instalação do Oracle Database
- Inicializar o banco de dados
Ao final do provision, você verá a progressão da criação do banco e a senha gerada:
oracle-19c-vagrant: INSTALLER: Oracle software installed
oracle-19c-vagrant: INSTALLER: Listener created
oracle-19c-vagrant: Prepare for db operation
oracle-19c-vagrant: 8% complete
oracle-19c-vagrant: Copying database files
oracle-19c-vagrant: 31% complete
oracle-19c-vagrant: Creating and starting Oracle instance
oracle-19c-vagrant: 32% complete
oracle-19c-vagrant: 46% complete
oracle-19c-vagrant: Completing Database Creation
oracle-19c-vagrant: 51% complete
oracle-19c-vagrant: Creating Pluggable Databases
oracle-19c-vagrant: 58% complete
oracle-19c-vagrant: 77% complete
oracle-19c-vagrant: Executing Post Configuration Actions
oracle-19c-vagrant: 100% complete
oracle-19c-vagrant: Database creation complete.
oracle-19c-vagrant: Global Database Name:ORCLCDB
oracle-19c-vagrant: System Identifier(SID):ORCLCDB
oracle-19c-vagrant: INSTALLER: Database created
oracle-19c-vagrant: INSTALLER: Oratab configured
oracle-19c-vagrant: INSTALLER: Created and enabled oracle-rdbms systemd's service
oracle-19c-vagrant: ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: <senha gerada>
oracle-19c-vagrant: INSTALLER: Installation complete, database ready to use!💡 A senha dos usuários SYS, SYSTEM e PDBADMIN é gerada automaticamente e exibida na penúltima linha. Anote antes de fechar o terminal — ela não é salva em nenhum arquivo acessível diretamente.
Passo 5 — Acessar a VM
vagrant sshDentro da VM, alterne para o usuário oracle:
sudo su - oraclePasso 6 — Validar o banco de dados
Conectar ao CDB
sqlplus / as sysdbaSELECT name, db_unique_name, open_mode FROM v$database;NAME DB_UNIQUE_NAME OPEN_MODE
--------- ------------------------------ --------------------
ORCLCDB ORCLCDB READ WRITEVerificar o PDB
SHOW PDBS;CON_ID CON_NAME OPEN MODE RESTRICTED
------ ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB1 READ WRITE NOAbrir o PDB (se necessário)
ALTER PLUGGABLE DATABASE ORCLPDB1 OPEN;
ALTER SESSION SET CONTAINER = ORCLPDB1;Passo 7 — Conexão externa do host
A box já vem configurada com port forwarding — as portas 1521 e 5500 da VM são mapeadas diretamente para o host.
Via SQLPlus
Conexão validada com client Oracle 23c no host:
sqlplus sys/<senha>@localhost:1521/orclpdb1 as sysdba⚠️ Client Oracle 19c ou superior exige
DISABLE_OOB=ONpara conectar via NAT do VirtualBox. Sem esse parâmetro, a conexão falha com ORA-12637. Adicione nosqlnet.orado client no host — veja a seção Known Errors para o procedimento completo.
Parâmetros de conexão
| Parâmetro | Valor |
|---|---|
| Host | localhost |
| Porta | 1521 |
| Service Name | ORCLCDB (CDB) ou orclpdb1 (PDB) |
| Usuário | sys |
| Role | SYSDBA |
| Senha | (senha gerada no vagrant up) |
Comandos essenciais do Vagrant
| Comando | O que faz |
|---|---|
vagrant up | Cria e inicializa a VM |
vagrant ssh | Acessa a VM via SSH |
vagrant halt | Desliga a VM (graceful) |
vagrant suspend | Suspende (salva estado em disco) |
vagrant resume | Retoma a partir do estado suspenso |
vagrant reload | Reinicia e recarrega o Vagrantfile |
vagrant destroy | Remove a VM e libera o espaço em disco |
vagrant status | Mostra o estado atual da VM |
💡 Use
vagrant suspend/vagrant resumepara preservar o estado entre sessões sem precisar esperar o banco subir novamente.
Known Errors
VBoxManage: command not found
O VirtualBox não está instalado ou não está no PATH. Instale o VirtualBox antes de tentar o vagrant up.
Vagrant provider "virtualbox" is not usable
Ocorre quando o módulo do kernel do VirtualBox não está carregado. Solução:
sudo modprobe vboxdrvSe o módulo não existir, reinstale o VirtualBox com os pacotes de extensão adequados para sua distribuição.
Timed out while waiting for the machine to boot
A VM iniciou mas o Vagrant não conseguiu estabelecer conexão SSH dentro do tempo limite. Causas comuns:
- Virtualização não habilitada na BIOS/UEFI — verifique se VT-x/AMD-V está ativo
- RAM insuficiente — a VM precisa de no mínimo 2 GB disponíveis no host
ORA-12637: Packet receive failed ao conectar do host
O Oracle Net 19c+ tenta detectar automaticamente suporte a Out Of Band (OOB) breaks. Algumas stacks de rede — incluindo o NAT do VirtualBox — não tratam esse mecanismo corretamente, causando falha silenciosa na conexão.
Esse erro aparece ao conectar via SQLPlus ou SQL Developer do host com client Oracle 19c ou superior.
Solução: desabilitar OOB no sqlnet.ora do client no host:
echo "DISABLE_OOB=ON" >> ~/.sqlnet.oraPara o SQL Developer, adicione também no sqlnet.ora do Oracle Home referenciado por ele:
echo "DISABLE_OOB=ON" >> $ORACLE_HOME/network/admin/sqlnet.oraO parâmetro é lido a cada nova conexão — não precisa reiniciar nada.
💡 Essa é a solução documentada pela Oracle para ambientes Docker e Vagrant com client 19c+. Referência: oracle/docker-images FAQ
Este é o erro mais comum nesse fluxo. O script de provision valida o SHA-256 do binário antes de instalar — se o download foi interrompido ou corrompido, o provision falha com:
oracle-19c-vagrant: /vagrant/LINUX.X64_193000_db_home.zip: FAILED
oracle-19c-vagrant: sha256sum: WARNING: 1 computed checksum did NOT match
oracle-19c-vagrant: INSTALLER: Database installer file missing or invalid.Diagnóstico:
sha256sum LINUX.X64_193000_db_home.zip
cat db_installer.sha256Se os hashes forem diferentes, o arquivo está corrompido. Baixe novamente no Oracle eDelivery, valide o hash e então destrua a VM antes de tentar novamente:
vagrant destroy
vagrant up⚠️ Não use
vagrant reload --provisionneste caso. O provision falhou antes de criar o usuário oracle e a estrutura do banco — a VM está pela metade e precisa ser recriada do zero.
Referências
- oracle/vagrant-projects — GitHub
- Oracle Database 19c Documentation
- Oracle eDelivery
- VirtualBox Downloads
- Vagrant Documentation
