Você está na página 1de 54

Docker Oracle

Por: Fernando Correa de Medeiros – Maio/2022 – Versão 3


Dúvidas e sugestões: fernando.medeiros@projuris.com.br

Revisão baseada no manual desenvolvido por: Edésio Junior


PROJURIS EMPRESAS POWERED BY softplan® |2

SUMÁRIO

SUMÁRIO....................................................................................................................................................... 2
0) PRÉ-REQUISITOS ................................................................................................................................... 5
0.1 – Pré-requisitos de máquina/Note ..................................................................................................... 5
0.2 – Pré-requisitos de usuário e criação de conta Oracle ....................................................................... 5
0.3 – Download da base de dados da Copel ............................................................................................. 6
1) MOTIVAÇÃO .......................................................................................................................................... 7
1.1 – Características do Note utilizado na elaboração deste ambiente ................................................... 7
2) REVISÃO DOCKER .................................................................................................................................. 8
2.1 – Liberando espaço em disco de Containers Dockers no Windows ................................................... 8
2.2 – Gerenciando Containers/Imagens Dockers em qualquer SO ........................................................ 11
2.2.1 – Comando: docker ps -a............................................................................................................ 11
2.2.2 – Comando: docker images -a.................................................................................................... 12
2.2.3 – Comando: docker start (nomeOuId do container) .................................................................. 12
2.2.4 – Comando: docker stop (nomeOuId do container) ................................................................... 12
2.2.5 – Comando: docker container rm (nomeOuId do container) ..................................................... 12
2.2.6 – Comando: docker rmi (Id da imagem) .................................................................................... 13
2.2.7 – Comando: docker update (nomeOuId do container) + parâmetros a alterar ......................... 13
3) PROCEDIMENTOS ................................................................................................................................ 14
3.1 – No terminal do Linux ou do PowerShell (caso seja um SO Windows) ........................................... 14
3.1.1 – Acessar o console e logar no Docker com o usuário e senha criados no site da Oracle ......... 14
3.1.2 – Importando/criando a imagem Oracle versão 12.2.0.1 .......................................................... 14
3.1.3 – Criar uma conexão usando o usuário destino “SYS” ............................................................... 16
3.1.4 – Editar o novo usuário PROJURIS_PADRAO.............................................................................. 21
3.1.5 – Criar uma conexão utilizando o novo usuário PROJURIS_PADRAO ........................................ 24
3.1.6 – Criando o MY_IMPORT_DIR relacionando o path do ambiente Docker ................................. 25
3.1.7 – Enviando o banco de dados local para o ambiente Docker .................................................... 25
3.1.8 – Conectar-se ao ambiente Docker usando o terminal ............................................................. 26
3.1.9 – Conectar-se ao banco de dados do ambiente Docker ............................................................ 26
3.1.10 – Rodar os seguintes comandos SQLs no ambiente Docker .................................................... 27
3.1.11 – Criar uma conexão DBA usando a conexão do usuário criado ............................................. 29
3.1.12 – Criar uma tablespace para o banco a ser restaurado ........................................................... 31
3.1.13 – Acessar ao ambiente Docker e alterar o owner e grupo do arquivo dump .......................... 33
PROJURIS EMPRESAS POWERED BY softplan® |3

3.1.14 – Executar a importação da base de dados para o Oracle....................................................... 34


3.1.15 – Correção nos dados da DB para rodar o setup automático do Projuris................................ 40
3.2 – Possíveis soluções para casos de problemas em subir/criar containers Docker ........................... 41
4) RODANDO O SETUP ............................................................................................................................ 43
4.1 – Configurações iniciais do servidor de aplicações Tomcat .............................................................. 43
4.1.1 – Alterações no arquivo de configuração context.xml do Tomcat ............................................ 43
4.2 – Configurações iniciais do servidor de aplicações Wildfly............................................................... 44
4.2.1 – Alterações no arquivo de configuração standalone.xml do WildFly....................................... 44
4.3 – Passo a Passo do Setup Manual ..................................................................................................... 46
4.3.1 – Listar inconsistências no banco de dados ............................................................................... 47
4.3.2 – Inserir módulos do sistema ..................................................................................................... 47
4.3.3 – Executar scripts de inicialização .............................................................................................. 48
4.3.4 – Listar tabelas e colunas não configuradas .............................................................................. 49
4.3.5 – Atualizar tabelas do sistema ................................................................................................... 49
4.4 – Observações do setup manual/automático do Projuris nesta configuração ................................. 50
4.5 – Observações sobre o item 4.3.1 do setup manual ........................................................................ 50
5) TRABALHANDO COM O AMBIENTE CONFIGURADO ........................................................................... 54
5.1 – Iniciando/Parando os serviços Docker ........................................................................................... 54
PROJURIS EMPRESAS POWERED BY softplan® |4

Histórico de Alterações
Data Alterações Autor/Colaborador
22/06/2022 Implementação do ambiente Copel Fernando Correa de Medeiros / Paulo Moura /
novamente em ambiente SO Windows Anderson Dias
10 Pro. Criação de capítulos sobre
como rodar o setup automático,
adicionado novos comandos Docker
para limitar o uso de memória do
container. Reestruturação dos
capítulos. Atualização do manual para a
versão 3.
30/05/2022 Implementação do ambiente Copel em Fernando Correa de Medeiros / Raquel Cristina
ambiente SO Windows 10 Pro. Criação Richter da Silva
de capítulos sobre a configuração de
Tomcat e Wildfly para rodar setup
manual e liberação de espaço em disco
via Docker. Adicionado estes passos à
versão 2 do manual.
20/05/2022 Elaboração do documento. Fernando Correa de Medeiros / Anderson Dias
Implementação do ambiente Copel em
ambiente SO Linux Ubuntu 22.04 LTS.
PROJURIS EMPRESAS POWERED BY softplan® |5

0) PRÉ-REQUISITOS
O capítulo 3) PROCEDIMENTOS é o principal a ser seguido neste passo a passo, todos os demais
capítulos são pré-requisitos ou complementos dele, portanto, dependendo do ambiente e do
conhecimento do usuário deste manual, os demais capítulos servem apenas para consultas.

São necessários, no mínimo, os seguintes requisitos de máquina e de usuário para a criação do ambiente
Docker + Oracle + Copel:

0.1 – Pré-requisitos de máquina/Note


Aviso Importante

Para a criação deste ambiente Docker + Oracle + Copel é necessário que o seu computador contenha,
no mínimo, entre 6 GB e 7 GB de espaço livre em disco, sendo 3.44 GB reservados para a imagem de
Oracle 12.2.0.1, mais 3.2 GB (aproximadamente) para o uso e gerenciamento da base de dados que
iremos importar (faça o download desta base de dados Oracle no sub-capítulo 0.3 deste manual). Caso
precise alocar espaço em disco no Windows sem comprometer as suas imagens Docker, clique aqui.

O ambiente usado na elaboração deste manual foi, primeiramente, um SO Linux Ubuntu, mas pode ser
feito em outros, como no Windows 10 Pro, desde que o mesmo contenha os seguintes softwares pré-
instalados/configurados:

• Ambiente DEV/QA Projuris (acesso ao Bitbucket, Java 8, Maven, Servidor de Aplicações


Tomcat/Wildfly etc)

• Docker

• Oracle SQL Developer - Importante: Se o SQL Developer não conseguir encontrar o Java em sua
máquina, ele solicitará o caminho para uma página inicial do JDK. Isso ocorre apenas na primeira vez que
você inicia o SQL Developer. Uma Java Home válida no Windows será semelhante a C:\Arquivos de
Programas\Java\jdk1.8.0_181 e, num ambiente Linux, será semelhante ao path: /usr/lib/jvm/java-8-
openjdk-amd64/

0.2 – Pré-requisitos de usuário e criação de conta Oracle


• Usuário/profissional: É necessário que o/a profissional envolvido(a) no desenvolvimento deste
ambiente (Oracle + Docker + cliente Projuris) tenha um conhecimento básico no uso dessas tecnologias
mencionadas acima em 0.1 e, além disto, esteja familiarizado com os processos de rodar o setup do
Projuris, tanto no modo manual quanto no automático. Veja o capítulo 4) RODANDO O SETUP para
saber mais sobre o processo de setup no Projuris.
PROJURIS EMPRESAS POWERED BY softplan® |6

• Criar conta/usuário em: https://container-registry.oracle.com/

Esta conta/senha será utilizada para baixar a imagem do Docker Oracle 12.2.0.1 no seu ambiente via
terminal. Caso você já contenha uma conta, não é necessário criar outra, basta utilizar as mesmas
credenciais para baixar a imagem do Docker Oracle no seu ambiente local.

0.3 – Download da base de dados da Copel


• Base de dados local utilizada para importá-la para o ambiente Docker:

Nome - TEST_DUMP_PADRAO.dmp, tamanho ~ 1.6 GB, base Oracle customizada para a Copel

Esta DB é de testes e apresenta alguns problemas ao rodar o setup automático, a solução está
descrita em 3.1.15 (mas antes é necessário seguir toda a configuração prévia a este sub-capítulo, ou
seja, os passos descritos no capítulo 3 até 3.1.14).

Faça o download desta base clicando aqui. (não vai ficar disponível para sempre)
PROJURIS EMPRESAS POWERED BY softplan® |7

1) MOTIVAÇÃO
Este manual é uma revisão de uma primeira versão a qual continha os passos para a criação de um
ambiente com Docker + Oracle 12.2.0.1 para emular clientes, como a Copel, no ambiente Projuris
Empresas - Produto Atual.

De acordo com os requisitos da máquina utilizada para este desenvolvimento na elaboração deste
manual, foram adicionados nesta versão detalhes técnicos, resoluções de possíveis problemas e o
tempo gasto na elaboração de algumas tarefas, além de imagens extras. Estes detalhes estão suprimidos
no manual original em sua primeira versão, deixando um fator de complicação e margem de erros para
os DEVs/QAs na criação de ambientes Docker + Oracle + Copel.

A principal razão para o uso da versão Oracle 12.2.0.1 no ambiente Projuris é que, nas versões
anteriores a esta, era comum o seguinte erro:

Oracle database error 972: ORA-00972: identifier is too long (Erro de banco de dados
da Oracle 972: ORA-00972: identificador muito longo)

O erro acima acontece pois nas versões de base de dados Oracle anteriores à 12.2.0.1 o número máximo
permitido para o nome de colunas/tabelas no banco de dados era de 30 caracteres. Como no Projuris
alguns nomes superam este tamanho, o erro inevitavelmente ocorria nestas versões de Oracle ao rodar
o setup no Projuris.

1.1 – Características do Note utilizado na elaboração deste ambiente


Algumas etapas consumiram um tempo de processamento mais prolongado e erros, destacados mais
adiante neste manual. Este tempo vai variar de máquina para máquina, o notebook utilizado na
elaboração deste manual continha as seguintes características técnicas:

• SO: Ubuntu 22.04 LTS, 64 bits, GNOME 42.0

• Memória RAM: 16GiB

• Processador: Intel Core i7 1.80GHx x 8


PROJURIS EMPRESAS POWERED BY softplan® |8

2) REVISÃO DOCKER
Neste capítulo será abordado uma revisão de alguns comandos Docker. Abaixo segue uma breve
explicação do gerenciamento de containers/imagens Dockers e alguns comandos utilizados para isto.

2.1 – Liberando espaço em disco de Containers Dockers no Windows


LEIA ESTE SUB-CAPÍTULO APENAS SE PRECISAR LIBERAR ESPAÇO EM SEU DISCO NO WINDOWS,
ENXUGANDO CONTAINERS DOCKERS SEM APAGAR/IMPACTAR O SEU AMBIENTE.
Caso precise liberar espaço em disco no Windows e você já tenha eliminado/backpeado todos os
arquivos possíveis, ou seja, não há mais nada que você possa apagar/desinstalar em seu computador e
você ainda precise de espaço, uma sugestão seria a aplicação de comandos Docker que exclui e/ou
compactam arquivos desnecessários do seu sistema emulado. Estes comandos, quando aplicados
corretamente, ou seja, com os parâmetros corretos e os serviços Docker parados, vão ajudar a liberar
espaço em disco de sua máquina sem comprometer os seus containers/imagens Docker pré-existentes.

Liste e analise se tem algum container Docker no ar (rodando) em seu ambiente com o seguinte
comando no PowerShell do Windows conectado como administrador. Para abrir o PowerShell como
administrador proceda conforme a imagem:

Em seguida, rode o seguinte comando neste PowerShell:

docker ps -a
PROJURIS EMPRESAS POWERED BY softplan® |9

O comando acima trará uma lista de serviços Docker pré-existentes com a apresentação de algumas
características dele, como o id, nome e status, por exemplo. Caso algum status esteja como Up ou
Created, será necessário pará-lo com o seguinte comando:

docker stop <IDouNomedoContainerQueEstaUPouCreated>

Para o ambiente Windows da imagem acima, o comando ficaria:

docker stop some-postgres

Rode o comando docker ps -a novamente e verifique que o container parou (ele deve estar com status
Exited). Agora todos os containers estão parados:

LEMBRE-SE: Pare todos os containers Docker que estejam rodando (CONFORME DESCRITO ACIMA)
antes de seguir com os próximos comandos.

Uma vez que todos os seus containers Docker estiverem parados, feche a interface gráfica/IDE do
Docker do seu Windows (se estiver aberta), bem como (se existirem) pare os seus serviços de
background conforme imagem abaixo:
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 10

Após seguir os passos anteriores e verificar que não há mais nenhum serviço Docker rodando, dispare o
seguinte comando no PowerShell, logado como administrador:

Optimize-VHD -Path C:\Users\[WinUserName]\AppData\Local\Docker\wsl\data\[name].vhdx -Mode [mode]

Onde deve-se substituir os parâmetros acima conforme abaixo:

[WinUserName] -> O seu usuário no Windows (o path do comando acima pode ser diferente do
sugerido neste exemplo, para localizar o seu path, procure pelo seu arquivo vhd/vhdx usando o
Windows Explorer conforme imagens abaixo:

[name] -> é o nome do seu arquivo, costuma ser ou data.vhdx, data.vhd, ext4.vhdx ou ext4.vhd. Veja
como encontrá-lo em seu Windows conforme passo anterior.

[mode] -> deve ser Pretrimmed, quando foi criado como um virtual hard disk(vhd/vhdx) montado sem
ser no modo Read-Only/Somente leitura; ou deve ser Full, se o virtual hard disk(vhd/vhdx) ter sido
montado no modo Read-Only/Somente leitura.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 11

Para descobrir se o seu arquivo .vhd/.vhdx está ou não está configurado no modo Read-Only/Somente
leitura, ao localizá-lo, conforme passos acima (busca no Windows Explorer), clique com o botão direito
sobre ele e escolha Properties/Propriedades. Será exibido uma tela, procure ver se o mode/modo em
Attributes/Atributos está com o check (neste caso é Read-Only/Somente Leitura) ou está sem o check
(neste caso não é Read-Only/Somente leitura).

Para mais informações sobre modos disponíveis para o comando Optimize-VHD descrito acima, consultar
a seguinte página web (Lembrando que para ele funcionar, deve-se passar no comando o Mode correto
do seu ambiente que depende do arquivo .vhd/.vhdx ser ou não ser Read-Only/Somente Leitura):

https://docs.microsoft.com/en-us/powershell/module/hyper-v/optimize-
vhd?view=windowsserver2022-ps

O comando no ambiente Windows utilizado como testes aqui neste manual ficou assim:

Optimize-VHD -Path C:\Users\raquel.richter\AppData\Local\Docker\wsl\data\ext4.vhdx -Mode Pretrimmed

Após rodar o comando acima (lembre-se de encontrar o seu arquivo/path em seu ambiente conforme
descrito acima nos passos anteriores), reinicie a sua máquina e veja se liberou espaço em disco. Após,
reinicie os serviços/containers Docker que precisar. Caso for fazer a instalação do ambiente Docker +
Oracle + Copel, não reinicie container Docker algum.

2.2 – Gerenciando Containers/Imagens Dockers em qualquer SO


Os comandos descritos neste sub-capítulo devem ser rodados/disparados no terminal Linux ou, no caso
de SO Windows, de dentro do PowerShell do Windows conectado como administrador (veja mais sobre
o PowerShell do Windows no sub-capítulo 2.1 deste manual).

Aqui temos apenas uma breve descrição dos comandos Dockers, para ter mais detalhes consultar:

https://docs.docker.com/

2.2.1 – Comando: docker ps -a


Este comando lista e mostra alguns detalhes de todos os containers existentes em seu ambiente Docker.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 12

2.2.2 – Comando: docker images -a


Este comando lista e mostra alguns detalhes de todas as imagens existentes em seu ambiente Docker.

2.2.3 – Comando: docker start (nomeOuId do container)


Este comando serve para iniciar um serviço de container existente em seu ambiente Docker. Após rodar
este comando e rodar um docker ps -a, o status deve ficar com Up.

2.2.4 – Comando: docker stop (nomeOuId do container)


Este comando serve para parar um serviço de container existente em seu ambiente Docker. Após rodar
este comando e rodar um docker ps -a, o status deve ficar com Exited.

2.2.5 – Comando: docker container rm (nomeOuId do container)


Este comando serve para remover um container existente em seu ambiente Docker. Após rodar este
comando e, depois, rodar um docker ps -a, o registro deste container deve sumir da lista de containers.
Antes de remover um container, é importante pará-lo com o comando docker stop (nomeOuId do
container). Exemplo:

docker stop 4180225d22e1

docker container rm 4180225d22e1


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 13

2.2.6 – Comando: docker rmi (Id da imagem)


Este comando serve para remover uma imagem existente em seu ambiente Docker. Após rodar este
comando e, depois, rodar um docker ps -a, o(s) registro(s) de container(s) relacionado(s) a esta imagem
deve(m) sumir da lista de containers. Ou rode docker images -a, o registro da imagem deve sumir da
lista. Antes de remover uma imagem, é importante parar todos os containers que utilizam a imagem a
ser removida. Exemplo:

docker stop 4180225d22e1

docker rmi 4180225d22e1

2.2.7 – Comando: docker update (nomeOuId do container) + parâmetros a alterar


Este comando serve para fazer o update de configurações de um ou mais containers em seu ambiente
Docker. Alterando as configurações de flags definidas anteriormente pelo comando docker run.
Exemplo:

docker update oracle-db_12_2_0_1 -m 3G --cpus 0.5 --memory-swap 8G

Pelo exemplo acima, foi alterado o modo de uso de memória do container Docker de nome oracle-
db_12_2_0_1.

Como -m="3G" e --memory-swap="8G", então o container deverá usar no máximo 3 GB de memória e 5


GB (8GB - 3GB) de swap.

Já o parâmetro --cpus 0.5 seta quanto dos recursos de CPU disponíveis um container poderá usar. Neste
exemplo, se a máquina host conter duas CPUs e você definiu --cpus="0.5", o container é garantido no
máximo o uso de metade de uma das CPUs.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 14

3) PROCEDIMENTOS
3.1 – No terminal do Linux ou do PowerShell (caso seja um SO Windows)
Os comandos descritos daqui em diante devem ser rodados/disparados do terminal Linux ou, no caso de
SO Windows, de dentro do terminal PowerShell logado como administrador, clicando com o botão
direito em cima do mesmo e escolhendo esta opção (veja mais sobre o PowerShell do Windows no sub-
capítulo 2.1 deste manual).

3.1.1 – Acessar o console e logar no Docker com o usuário e senha criados no site da Oracle
Conforme comando: docker login container-registry.oracle.com (clique aqui para saber como criar a
conta Oracle)

No desenvolvimento do primeiro ambiente em questão, utilizei o super usuário do Linux (sudo) para
poder rodar os comandos, só funcionou assim no meu ambiente Linux (é preciso ter a senha deste
usuário no seu ambiente Linux). Se o seu ambiente for Windows, rode (sem a palavra/comando sudo)
com o seu PowerShell logado como administrador, clicando com o botão direito em cima do mesmo e
escolhendo esta opção, mais detalhes sobre o PowerShell em 2.1 deste manual.

3.1.2 – Importando/criando a imagem Oracle versão 12.2.0.1


Após logar, executar o seguinte comando abaixo (substituindo o parâmetro <oracle-db> por um nome
desejado):

docker run -d -it -p 1521:1521 --name <oracle-db> container-registry.oracle.com/database/enterprise:12.2.0.1

<oracle-db> acima deve ser substituído pelo nome que terá o seu container no seu ambiente local. No
meu exemplo optei por defini-lo como: oracle-db_12_2_0_1

Caso ocorra algum erro neste passo 3.1.2, conforme imagem abaixo.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 15

Entrar no site da Oracle com o seu usuário e senha (caso ocorram erros), ir em Database.

E aceite os termos. Depois de aceitar os termos, espere por alguns minutos antes de rodar o comando
3.1.2 pois pode demorar de atualizar o seu status no servidor da Oracle. Se mesmo após esperar, não
conseguir rodar o comando de 3.1.2, feche o browser da Internet, o seu terminal (ou o seu PowerShell
no Windows), então reabra o seu terminal e então é só rodar o comando em 3.1.2 novamente e seguir
com os próximos passos.

Caso o erro persista, será preciso analisar o seu caso. Veja e siga conforme está descrito em:

3.2 – Possíveis soluções para casos de problemas em subir/criar containers


Docker
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 16

Se tudo der certo, verás no seu terminal algo parecido com isto:

Ao término, rodar o seguinte comando:

docker ps -a

Se tudo estiver certo, deverás ver algo parecido com a imagem abaixo:

É importante esperar a imagem Oracle iniciar totalmente.

Agora iniciou OK, pode prosseguir com os próximos passos (quando status tiver a palavra healthy).

3.1.3 – Criar uma conexão usando o usuário destino “SYS”


Usando o SQL Developer, conectado como sysdba (Atribuição), criar uma conexão usando o usuário
destino “SYS”, no meu exemplo, chamei de conexão “local” (você pode definir os nomes que quiser,
mas sugiro fortemente utilizar sempre os mesmos nomes usados aqui neste manual). Utilizar os
seguintes parâmetros de configuração:

SID: ORCLCDB

Senha padrão para SYS é: Oradoc_db1


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 17

Abrindo o SQL Developer no Linux

Na primeira vez que SQL Developer abre, ele mostra uma caixa de diálogo com um checkbox marcado.
Desmarcar esta opção “Permitir geração de relatórios de uso automatizados para Oracle”, ele vem
marcado por padrão, conforme imagem.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 18

1 – Configurar conforme imagem abaixo e clicar em Testar

2 – Se o Status for “Com Sucesso”, clicar em Salvar.

Caso ocorra algum problema por aqui (ou em 3.1.4 e/ou 3.1.5) será necessário analisar. Veja se os
nomes (usuário, conexão etc) estão consistentes no seu ambiente. Para evitar problemas, em suas
configurações mantenha os nomes sugeridos neste manual e das imagens que o ilustram (você pode
definir os nomes que quiser, mas sugiro fortemente utilizar sempre os mesmos nomes usados aqui
neste manual).
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 19

3 - Clicar em Conectar
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 20

4 - Executar os seguintes comandos SQLs nesta nova conexão:

alter session set "_ORACLE_SCRIPT"=true;

create user projuris_padrao IDENTIFIED by projuris_padrao;

grant dba to projuris_padrao;

Para isto, selecione os textos acima, copie e cole na janela de aplicação de queries, na sua conexão
recém criada (local) e aperte o botão play, destacado em verde. Após, conferir o log de status, conforme
imagem mais abaixo e conferir que os comandos rodaram OK, clique no botão de Efetuar Commit do
SQL Developer (ou botão F11 do seu teclado).

Após, no alto, à esquerda, na janela “Conexões”, expandir a conexão criada aqui em 3.1.3 (local)
clicando em "+" (pequeno, preto, não no verde!) e, no final, em "Outros Usuários", clicar com o botão
direito do mouse e escolher “Atualizar”/“Refresh”, ou “CTRL R”. Assim deverá aparecer o novo usuário
criado: "PROJURIS_PADRAO", conforme imagens abaixo.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 21

3.1.4 – Editar o novo usuário PROJURIS_PADRAO


Localizar o novo usuário conforme explanado mais acima e, com o botão direito, clicar nele e selecionar
“Editar Usuário” ou “User Edit”. Atribuir uma senha (no meu exemplo, a senha que defini foi “padrao”)
ao usuário criado e conceder todas as permissões a ele, conforme imagens abaixo:
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 22

Em “Privilégios do Sistema”, desmarcar as opções KEEP DATE TIME, KEEP SYSGUID, SYSBACKUP, SYSDBA,
SYSDG, SYSKM, SYSOPER, SYSRAC.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 23
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 24

3.1.5 – Criar uma conexão utilizando o novo usuário PROJURIS_PADRAO


Criar uma conexão com o SQL Developer usando os dados do novo usuário:

Após definir os parâmetros de configuração/criação, clicar em “Testar”, se o Status for “Com Sucesso”,
então clique em “Salvar” e, após, em “Conectar” (conforme imagem abaixo) para rodar o comando de
3.1.6.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 25

Obs.: A conexão a ser criada: (senha é a mesma que foi criada no passo 3.1.4, no meu ambiente foi
padrao)

3.1.6 – Criando o MY_IMPORT_DIR relacionando o path do ambiente Docker


Após conectar na nova conexão descrita em 3.1.5, rodar o seguinte comando SQL (não se esquecer de,
após rodar a query, clicar no botão de Efetuar Commit do SQL Developer):

CREATE DIRECTORY MY_IMPORT_DIR AS '/home/oracle';

3.1.7 – Enviando o banco de dados local para o ambiente Docker


Enviar o arquivo de dump usando o seguinte comando através do PowerShell/terminal Linux:

docker cp <source_path>/<file_name>.dmp <nome_da_imagem>:/home/oracle


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 26

No meu exemplo/ambiente, ficou:

sudo docker cp /home/fernando/docker/volumes/oracle/dpump_dir/TEST_DUMP_PADRAO.dmp


oracle-db_12_2_0_1:/home/oracle

Disponibilizei a base de dados Oracle, do Projuris Padrão customizada para a Copel, utilizada no
desenvolvimento deste manual. (É a mesma DB disponível no sub-capítulo 0.3 deste manual, tamanho
~ 1.6 GB.)

3.1.8 – Conectar-se ao ambiente Docker usando o terminal


Desconectar todas as sessões do banco (fechar o SQL Developer) e conectar diretamente na imagem do
Docker usando o seguinte comando através do PowerShell/terminal Linux:

docker exec -it <nome_da_imagem> bash

No meu ambiente ficou:

sudo docker exec -it oracle-db_12_2_0_1 bash

Com o comando ls -l /home/oracle, rodado após o comando acima, ou seja, de dentro do


ambiente/container Docker, é possível verificar se o comando anterior (docker cp) funcionou
corretamente, ou seja, se ele levou o banco de dados Oracle TEST_DUMP_PADRAO.dmp de dentro do
ambiente local para dentro do ambiente Docker.

3.1.9 – Conectar-se ao banco de dados do ambiente Docker


Ainda de dentro do ambiente Docker, conectar com o banco usando o SQL*Plus, utilizando o usuário
criado seguido da string " as sysdba" e a senha normal (senha é a mesma que foi criada no passo 3.1.4,
no meu ambiente foi padrao):
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 27

A imagem acima foi uma conexão errada, já a imagem abaixo foi a certa, para dar certo utilize os
seguintes comandos: sqlplus

Vai pedir o usuário e senha, no prompt de usuário digite: <nome_da_conexao> as sysdba

No caso do meu ambiente ficou: projuris_padrao as sysdba

Senha: padrao

(senha é a mesma que foi criada no passo 3.1.4)

3.1.10 – Rodar os seguintes comandos SQLs no ambiente Docker


Ainda de dentro do ambiente Docker, rodar os seguintes comandos SQLs (Obs.: Rodar um comando por
vez, linha por linha. Alguns comandos demoram um tempo razoável, este tempo vai variar de máquina
para máquina, vai depender das características de cada uma. Para ilustrar isto, coloquei o tempo dos
comandos mais demorados, de acordo com as configurações/características de minha máquina citados
em 1.1):

alter system set nls_length_semantics=CHAR scope=both;

shutdown;
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 28

startup restrict;

alter database character set INTERNAL_USE WE8MSWIN1252;

O comando acima demorou em torno de 10 minutos em meu ambiente (pode demorar mais ou menos
no seu, de acordo com as características de sua máquina e do tamanho de sua base Oracle).

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

shutdown;

startup;
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 29

O comando acima demorou em torno de 5 minutos em meu ambiente (pode demorar mais ou menos
no seu, de acordo com as características de sua máquina e do tamanho de sua base Oracle).

Após, é só desconectar do ambiente SQL com o comando quit e, depois, sair do ambiente Docker +
Oracle com o comando exit, conforme imagem abaixo.

3.1.11 – Criar uma conexão DBA usando a conexão do usuário criado


No SQL Developer, criar uma conexão DBA, usando a conexão do usuário criado.

Clicar no menu em Exibir > DBA

Irá aparecer a janela da imagem abaixo. Clicar no “+” verde para adicionar uma nova conexão DBA.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 30

Selecione a conexão PROJURIS_PADRAO (ou a que você definiu possivelmente com outro nome em seu
ambiente. Você pode definir os nomes que quiser, mas sugiro fortemente utilizar sempre os mesmos
nomes usados aqui neste manual.)
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 31

3.1.12 – Criar uma tablespace para o banco a ser restaurado


No SQL Developer, na conexão criada em 3.1.5 (PROJURIS_PADRAO), rodar os seguintes comandos:

CREATE TABLESPACE "PROJURIS_PADRAO" DATAFILE

'/home/oracle/projuris_padrao.dbf' SIZE 838860800

AUTOEXTEND ON NEXT 1048576 MAXSIZE 12024M

LOGGING ONLINE PERMANENT BLOCKSIZE 8192

EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT

NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO;

Antes de rodar os comandos acima, verifique que as tablespaces existentes são as padrões:
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 32

Após rodar os comandos acima (e clicar no botão Efetuar Commit do SQL Developer), teremos (após
rodar os comandos SQLs, use o botão direito do mouse sobre a conexão VBA e escolha a opção
Atualizar/Refresh para conferir a nova tablespace):
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 33

3.1.13 – Acessar ao ambiente Docker e alterar o owner e grupo do arquivo dump


Desconectar todas as conexões da base de dados (fechar o SQL Developer) e acessar ao ambiente
Docker + Oracle com o comando abaixo:

docker exec -u root --workdir / -ti <nome_da_imagem> /bin/sh

No meu ambiente ficou:

sudo docker exec -u root --workdir / -ti oracle-db_12_2_0_1 /bin/sh

Acessar o diretório aonde a base de dados (no meu exemplo TEST_DUMP_PADRAO.dmp) foi copiada
com o comando:

cd /home/oracle/

E alterar o owner/proprietário e grupo do arquivo (verifique o proprietário atual com o comando ls -l).
Quando utilizamos o SO Windows, a base é importada com proprietário e grupo root.

Comando para alterar o owner/proprietário e o grupo do arquivo:

chown <proprietário:grupo> <nome_arquivo>

No meu ambiente ficou:

chown oracle:oinstall TEST_DUMP_PADRAO.dmp


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 34

Verifique se a mudança ocorreu com o comando ls -l. Após, saía deste container com o comando exit.

3.1.14 – Executar a importação da base de dados para o Oracle


Desconectar todas as conexões da base de dados (fechar o SQL Developer). Acessar novamente ao
ambiente Docker + Oracle com o comando abaixo:

docker exec -it <nome_da_imagem> bash

No meu ambiente ficou:

sudo docker exec -it oracle-db_12_2_0_1 bash

E executar a importação da base de dados para o Oracle com o seguinte comando. Para evitar erros no
momento da importação, certifique-se que não há conexões ativas na base de dados:

cd <caminho do arquivo>

imp <usuário_banco>/<senha_banco> file ='<nome_base_dados>' full=y

No meu exemplo:

cd /home/oracle

imp projuris_padrao/padrao file ='TEST_DUMP_PADRAO.dmp' full=y

A importação (o comando acima) demorou em torno de 1 hora e meia no meu ambiente (pode
demorar mais ou menos no seu, de acordo com as características de sua máquina e do tamanho de sua
base Oracle).
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 35
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 36
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 37
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 38
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 39
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 40

3.1.15 – Correção nos dados da DB para rodar o setup automático do Projuris


A base de dados sugerida na criação deste ambiente, TEST_DUMP_PADRAO.dmp, tem alguns
problemas nos seus dados os quais impossibilitam de rodar o processo de setup automático do Projuris
(o setup manual deve funcionar, se for realizado conforme descrito em 4) RODANDO O SETUP).

Se ainda não o fez, faça o download desta base de dados Oracle no sub-capítulo 0.3 deste manual e, só
após fazer todos os passos acima, anteriores a este sub-capítulo 3.1.15, execute os seguintes comandos:

1) Q1) Pode ser feito através do SQL Developer, conectado com o PROJURIS_PADRAO. Então rodar
as queries descritas em Q3, mais abaixo, ou...
2) Q2) Pode ser feito através da bash Linux ou do PowerShell do Windows conectado como
administrador (veja mais sobre o PowerShell do Windows no sub-capítulo 2.1 deste manual),
utilizando o sqlplus(conectado dentro do container), usando a conexão PROJURIS_PADRAO.
Para isto, desconecte-se de todas as sessões do banco (fechar o SQL Developer) e conecte-se
diretamente na imagem do Docker usando o seguinte comando através do PowerShell/terminal
Linux:

docker exec -it <nome_da_imagem> bash

No meu ambiente ficou:

sudo docker exec -it oracle-db_12_2_0_1 bash

E então rode os comandos: sqlplus


Vai pedir o usuário e senha, no prompt de usuário digite: <nome_da_conexao>
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 41

No caso do meu ambiente ficou: PROJURIS_PADRAO

Novamente, no meu caso, a senha é: padrao (senha é a mesma que foi criada no passo 3.1.4)

Então rodar as queries descritas em Q3 abaixo:


3) Q3) Rodar as queries:

Q3.1)

SELECT ID_PROCESSO FROM M_PROCESSO WHERE LENGTH(ELEMENTO_PEP1 ) > 12;

Se a query acima retornar resultado(s), rodar então a segunda:

Q3.2)

UPDATE M_PROCESSO SET ELEMENTO_PEP1 = substr(ELEMENTO_PEP1, 0, 12) WHERE LENGTH(ELEMENTO_PEP1 ) > 12;

E então rode o comando commit; (se estiver via bash usando o sqlplus) ou, se rodou a Q3.2 pelo SQL
Developer, aperte o botão de commit ( ).

Após, se estiver usando a bash Linux ou o terminal do PowerShell para aplicar as queries de Q3.1 e Q3.2,
desconectar do container Docker com os comandos quit e, em seguida, exit.

Assim, será possível rodar o processo de setup do Projuris no modo automático. Caso alguma view
apresente erro, rodar o seguinte para cada uma com erro:

ALTER view <name> NONEDITIONABLE;

3.2 – Possíveis soluções para casos de problemas em subir/criar containers


Docker
Leia este sub-capítulo apenas se estiver passando por algum problema na geração de
container/imagem Docker no ambiente Projuris.

Conforme 3.1.2, se ao acessar o site da Oracle e verificar que todos já estavam com o aceite, ou seja, a
causa do problema era outro, então terás de analisar se o seu erro não foi por usuário e senha errados,
ou mesmo por perda de conexão ou algo relacionado ao seu ambiente Docker, como permissionamento
de arquivos/diretórios, nomes de conexões/usuários, paths errados, por exemplo (você pode definir os
nomes que quiser, mas sugiro fortemente utilizar sempre os mesmos nomes usados aqui neste
manual). Neste caso, identifique qual foi o problema, faça as correções e rode novamente os comandos
em 3.1.1 e 3.1.2 (e os próximos comandos) com o uso de sudo no início de cada comando (em caso de
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 42

ser um SO Linux), se assim já não o fez.

Verificar se este novo container Oracle estiver no status como Created (mas estiver fora do ar, ou seja,
teve algum problema na criação do container/imagem) ou Exited, ou com alguma mensagem de
problema. Neste caso irás precisar remover o container errado/problemático, para gerá-lo novamente,
(vai estar OK apenas se estiver com Up, conforme imagem abaixo).

Para verificar o status rode o seguinte comando: docker ps -a

Se ao tentar reiniciar este container e ele continuar não subindo, ou seja, tiver um status como o da
imagem abaixo (ou com status Created, mas com problemas, não funciona), então terás de excluir este
container, identificar o que causou o problema, corrigir e gerá-lo novamente.

Para removê-lo rode os seguintes comandos:

docker stop <nome_do_container>

docker container rm <nome_do_container>

No meu ambiente Linux:

sudo docker stop oracle-db_12_2_0_1

E, depois:

sudo docker container rm oracle-db_12_2_0_1

Após, analise os erros e as suas possíveis causas, através de log ou mensagens no terminal, pergunte a
um DEV ou ao Google etc... Resolva os problemas e siga nos passos subsequentes de onde você parou.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 43

4) RODANDO O SETUP
Neste capítulo será descrito os passos para configurar os servidores de aplicações: Tomcat e o WildFly.

Também será mostrado como executar o setup manual e o automático. Para rodar o setup manual
devemos mudar o valor da variável de ambiente projuris.sys.env para “devel”, já para rodar o setup no
modo automático devemos manter este valor setado para “test”.

Abaixo seguem mais detalhes para esta configuração de setup manual/automático funcionar nos
servidores de aplicações: Tomcat e o WildFly.

4.1 – Configurações iniciais do servidor de aplicações Tomcat


No caso do seu servidor de aplicações ser um Tomcat, para o sistema Projuris conectar-se na base de
dados para rodar o setup, altere o arquivo context.xml do mesmo conforme abaixo:

4.1.1 – Alterações no arquivo de configuração context.xml do Tomcat


No arquivo context.xml do seu servidor Tomcat, configure (em vermelho) a seguinte conexão com o
usuário PROJURIS_PADRAO e senha padrao (senha é a mesma que foi criada no passo 3.1.4):

<Resource name="jdbc/DS_ProjurisWeb" auth="Container" type="javax.sql.DataSource"


driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ORCLCDB"
username="projuris_padrao" password="padrao" maxTotal="20" maxIdle="10"
maxWaitMillis="-1" />

Alterando o modo de rodar o setup para dispará-lo de forma manual

No arquivo de configuração de argumentos do seu servidor (aqui foi usado o Spring Tools, mas pode ser
feito em qualquer IDE, ou no Eclipse, ou no IntelliJ etc...), configure conforme imagens (resumo, defina o
argumento para devel):
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 44

Daqui por diante o procedimento é o normal/padrão, suba o seu Tomcat e rode as etapas do setup
manual. Caso alguma view apresente erro, rodar o seguinte para cada uma com erro:

ALTER view <name> NONEDITIONABLE;

4.2 – Configurações iniciais do servidor de aplicações Wildfly


No caso do seu servidor de aplicações ser um Wildfly, para o sistema Projuris conectar-se na base de
dados para rodar o setup, altere o arquivo standalone.xml do mesmo conforme abaixo:

4.2.1 – Alterações no arquivo de configuração standalone.xml do WildFly


No arquivo standalone.xml do seu servidor Wildfly, configure (em vermelho) a seguinte conexão com o
usuário PROJURIS_PADRAO e senha padrao (senha é a mesma que foi criada no passo 3.1.4):

<datasource jta="true" jndi-name="java:jboss/datasources/oracleDS" pool-name="oracleDS"


enabled="true" use-ccm="true">

<connection-url>jdbc:oracle:thin:@localhost:1521:ORCLCDB</connection-url>
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 45

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

<driver>oracle</driver>

<security>

<user-name>projuris_padrao</user-name>

<password>padrao</password>

</security>

<validation>

<valid-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>

<background-validation>true</background-validation>

<stale-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>

<exception-sorter class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>

</validation>

</datasource>

Alterando o modo de rodar o setup para dispará-lo de forma manual

Abaixo segue o bloco do arquivo standalone.xml que regula como será o modo de setup, manual ou
automático, neste caso, configurado como “devel”, estamos configurando no modo manual. Se estivesse
como “test”, seria a configuração no modo automático.

<system-properties>

<property name="DefaultDS" value="java:jboss/datasources/oracleDS"/>

<property name="log.dir" value="C:\wildfly-10.1.0.Final\standalone\log"/>

<property name="jboss.as.management.blocking.timeout" value="54000"/>


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 46

<property name="setup" value="false"/>

<property name="projuris.sys.env" value="devel"/>

<property name="ignoreSecurityCookie" value="true"/>

</system-properties>

Daqui por diante o procedimento é o normal/padrão, suba o seu WildFly e rode as etapas do setup
manual. Caso alguma view apresente erro, rodar o seguinte para cada uma com erro:

ALTER view <name> NONEDITIONABLE;

4.3 – Passo a Passo do Setup Manual


Com um destes servidores de aplicações no ar (rodando em sua máquina), acesse a URL do setup
http://localhost:8080/ e siga conforme receita descrita abaixo.

projuris > projuris > Deseja procurar por problemas na configuração do sistema? (escolha "Sim" e,
depois, clique em Próximo)
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 47

4.3.1 – Listar inconsistências no banco de dados


Executar estes passos por várias vezes, até aonde for necessário, ver observação abaixo. A cada item
selecionado clicar no botão OK.

4.3.2 – Inserir módulos do sistema


Executar este passo apenas 1 vez.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 48

4.3.3 – Executar scripts de inicialização


Executar este passo apenas 1 vez. Se der algum erro, execute novamente, se o erro não cessar, deve-se
investigar pelo log.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 49

4.3.4 – Listar tabelas e colunas não configuradas


Executar este passo quantas vezes ele for necessário. Geralmente é rodado apenas por uma vez porém,
às vezes, podem haver muitas tabelas/colunas a serem apagadas/excluídas, neste caso, como é
renderizado 20 registros por vez, pode-se ter de rodar por mais de 1 vez este item 4.3.4.

4.3.5 – Atualizar tabelas do sistema


Executar este passo apenas quando tiver feito todos os anteriores, sem erros.
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 50

Após terminar de rodar o setup manual, acesse a URL de testes http://localhost:8080/projuris/ e


verifique que conectou no sistema Projuris do cliente/ambiente Docker + Oracle + Copel.

4.4 – Observações do setup manual/automático do Projuris nesta configuração


Tentei rodar o setup automático mas devido a alguns dados inconsistentes com tamanhos da própria
coluna, aconteceram erros e o próprio sistema Projuris imprimiu na tela do browser para tentar rodar o
setup manual (veja como configurar o Tomcat no setup manual aqui, ou como configurar o WildFly
aqui).

Estes erros podem ser arrumados seguindo os seguintes passos e, com isto, é possível disparar o setup
automático também.

Após configurar em meu ambiente para rodar o setup manual, disparei-o. Levou em torno de 2 horas
para finalizá-lo, este tempo pode variar para mais ou para menos, de acordo com as diferenças entre as
configurações/características de sua máquina com as da minha, citados em 0.3.

4.5 – Observações sobre o item 4.3.1 do setup manual


Sobre o sub-capítulo 4.3.1, Listar inconsistências no banco de dados, este item lista os erros encontrados
na base e, por muitas vezes, deve ser rodado por mais de uma vez até que não sejam encontrados mais
erros.

No meu ambiente eu passei por uma situação a qual o erro não cessava (veja mais abaixo o ciclo para
cessar um erro). Como isto aconteceu e este erro não era corrigido pelo sistema, eu decidi ir para o
próximo passo do setup manual, Inserir módulos do sistema, e assim por diante, próximo passo e
próximo passo etc. O setup manual terminou e a aplicação Projuris Copel subiu e funcionou para tudo o
P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 51

que precisei. Se você utilizar a mesma base de dados que eu usei e disponibilizei em 0.3, é muito
provável que terás o mesmo problema. Para sair dele, faça como citei acima, vai para o próximo passo
do setup manual (veja o passo a passo do setup manual aqui), ou arrume os problemas de sua DB
seguindo os seguintes passos e rode o setup automático.

Ciclo para cessar um erro do item 4.3.1 - Listar inconsistências no banco de dados

- Listar inconsistências: vai listar os erros encontrados na base;

- Se houverem muitos erros, o sistema divide por telas e os apresenta de 20 em 20 registros. Para rodar
tudo de uma vez, vá até o rodapé da página e troque o número 20 por outro próximo (maior) do que o
número de registros encontrados. Por exemplo, se forem encontrados 598 registros, troque o 20 por
600 e aperte o botão de atualizar, próximo ao antigo 20 no rodapé, ou aperte a tecla Enter. Assim, todos
os erros aparecerão em uma única página, daí é só ordenar conforme abaixo;

- Clicar no índice da coluna Erro (sobre a palavra Erro, na coluna cinza) para organizar/ordenar os erros;

- Selecionar todos os erros;


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 52

- Clicar no botão "Corrigir os problemas selecionados";

- Clicar em "Listar inconsistências no banco de dados", novamente;

- Clicar no botão "Atualizar todos os problemas";


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 53

- Clicar em "Listar inconsistências no banco de dados", novamente;

- Clicar no botão OK.

Repetir os passos acima até não aparecer mais erros no sistema.


P R O J U R I S E M P R E S A S P O W E R E D B Y s o f t p l a n ® | 54

5) TRABALHANDO COM O AMBIENTE CONFIGURADO


5.1 – Iniciando/Parando os serviços Docker
Eventualmente, após ter configurado o seu ambiente Docker + Oracle + Cliente Projuris, o container
Docker que contém esta imagem pode sair do ar, capotar. Isto pode acontecer depois de alguma
atualização do seu Sistema Operacional, ou por ter desligado/reiniciado o seu computador, ou por
algum erro etc....

O comando para verificar o status de qualquer container/imagem Docker é:

sudo docker ps -a

Sendo sudo opcional (ele deve ser usado apenas em SO Linux se, por alguma razão, o seu sistema não
lhe autorizar a rodar o comando, neste caso, utilize sudo no início do seu comando, o sistema irá lhe
pedir a senha de administrador do mesmo para executá-lo).

Após rodar o comando acima, verificar se o seu container está no status como Up (isto indica que ele
está no ar e está estável/rodando.

Se, por outro lado, o retorno do comando conter no status Created (mas estiver fora do ar, ou seja, teve
algum problema na criação do container/imagem) ou Exited, isto indica que o container não está mais
no ar e foi derrubado por alguma razão.

Pode-se reiniciar um container Docker com o comando:

docker start (nomeOuId do container)

E, novamente, com o comando docker ps -a você pode verificar o novo status deste container.

Existe uma variedade de comandos Docker para o gerenciamento dos seus containers descritos aqui.

Se houver algum problema com o seu container, seguir conforme descrito aqui.

Você também pode gostar