quinta-feira, 18 de janeiro de 2018

Azure - 4k - Sector Size - DB STARTUP FAIL

Recentemente estive "lutando" com um problema ao realizar um duplicate para montar um physical standby na Azure.

Durante o duplicate recebia erros: ORA-03113: end-of-file on communication channel

Ivenstigando, cheguei em um problema de I/O dentro do ASM, que gerava erros ORA-00600 kfk_submit_lib_ioq

Então tentei criar um banco de testes via DBCA e recebi o erro abaixo:




Depois de muito pesquisar, cheguei no erro abaixo:

Bug 16870214 : DB STARTUP FAILS WITH ORA-17510 IF SPFILE IS IN 4K SECTOR SIZE DISKGROUP


Existe uma recomendação de criar o DISKGROUP que estão os REDO LOGS com sector size de 4k para discos premium ssd na azure.

http://dbaharrison.blogspot.com.br/2017/03/oracle-asm-in-azure-with-premium-ssd.html


Verificando essa VM, vi que os diskgroups estavam todos com sector size de 4k:



Baixei e apliquei o seguinte patch:

p16870214_112040_Linux-x86-64.zip



Para resolver o erro 126 no Opatch, faltava um chmod 755 na GCC.


Após isso, o banco foi criado com sucesso:



terça-feira, 2 de janeiro de 2018

Utilizando o Oracle Database 12.2 no Docker


Neste artigo irei demostrar como instalar o Docker no Mac OS Sierra e criar um banco de dados Oracle versão 12c release 2.

O que é o Docker?

Docker é uma plataforma Open Source escrita em Go, que é uma linguagem de programação de alto desempenho desenvolvida dentro do Google, a qual facilita a criação e administração de ambientes isolados. Foi criado por uma empresa chamada Dotcloud que hoje é somente Docker.

Com o Docker, podemos criar e implantar ambientes rapidamente. O Docker cria pacotes de software em unidades padronizadas chamadas de contêineres, que têm tudo o que o software precisa para ser executado, inclusive bibliotecas, ferramentas de sistema, etc. Ele possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um único container.

O Docker é uma VM?

Não, containers nos permitem compartilhar binários, bibliotecas e criar ambientes uniformes e mais versáteis.




Primeiramente, é necessário realizar o download e instalação do Docker.

Neste artigo iremos utilizar o Docker Community Edition (CE), que é ideal para desenvolvedores e pequenas equipes.

O Download pode ser realizado no site abaixo:


Após o download, basta executar o arquivo Docker.dmg e será exibida a imagem abaixo:


Após clicar em Docker.app e arrastar até o ícone Applications, o Docker estará instalado.

Para executar o Docker, bastar ir até a pasta Applications e executar o arquivo Docker.app:



Ao iniciar o Docker pela primeira vez, será exibida a tela de boas vindas e também será solicitado um usuário com privilégios para realizar as configurações no Mac OS Sierra:





Após informar as credenciais, será exibida a tela abaixo indicando que o Docker está sendo inicializado:



Após a inicialização será exibida a mensagem abaixo:



No Menu do Mac Os Sierra podemos verificar que o Docker está em execução:


Para realizar a instalação do banco de dados Oracle deve-se entrar no GitHub e realizar o download do arquivo docker-images-master.zip:




O próximo passo é realizar o download do Oracle Database 12c Release 2 para Linux x86-64:






Neste ponto você deverá possuir os 2 arquivos abaixo em um diretório:

· docker-images-master.zip
· linuxx64_12201_database.zip




O próximo passo é extrair o arquivo docker-images-master.zip:



  
Após isso, copie o arquivo linuxx64_12201_database.zip para o diretório docker-images-master/OracleDatabase/dockerfiles/12.2.0.1:


Agora iremos criar um Docker image utilizando o arquivo buildDockerImage.sh, que pode ser baixado em:



A sintaxe utilizada para gerar a imagem é a seguinte:

./buildDockerImage.sh -v 12.2.0.1 –e




Podemos notar que o instalador irá acessar a internet e baixar o oraclelinux:7-slim, bem como irá utilizar o YUM para atualizar os pacotes:


Atualização dos pacotes:



Instalação do software banco de dados:



Execução automática do orainstRoot.sh e root.sh:



Final da instalação:



Ao final, possuímos o Oracle Linux e o software do banco de dados Oracle 12.2.0.1:


Para realizar a criação do banco de dados, utilizamos o comando abaixo:

docker run --name oracle12_2 -p 1521:1521 -p 5500:5500 -v /Users/alexzaballa/Downloads/Docker/oradata:/opt/oracle/oradata oracle/database:12.2.0.1-ee




Final da criação do banco de dados:


Como podemos observar não informamos nenhuma senha. Com isso, uma senha será gerada automaticamente:



É possível redefinir estas senhas com o script abaixo:

docker exec oracle12_2 ./setPassword.sh MinhaNovaSenha



Para verificar se o banco de dados está rodando podemos utilizar o comando abaixo:

docker ps -a


Finalmente podemos realizar a conexão via SQLDeveloper:




Realizando a parada do banco de dados:

docker stop oracle12_2



docker logs oracle12_2



Inicializando o banco de dados:

docker start oracle12_2


docker logs oracle12_2



Referências: