Oracle Autonomous Database e DevOps: Uma simples abordagem de utilização – Parte 1

Por Bruno Reis Oracle Associate, Carlos Magno
Publicado em Julho 2019

Revisado por Juan Pablo Guizado




Este artigo aborda a criação da instância de um Oracle Autonomous Database no Oracle Cloud  até a utilização para programadores (exemplo de testes com algumas linguagens de programação e Oracle SQL Developer) . Para começar vamos adquirir alguns conceitos:



O que é o Oracle Autonomous Database?

Segunda a Oracle Corp., é "primeiro gerenciador de dados autônomo em Cloud que fornece aplicação de patches, upgrades e tunings, incluindo a execução de tarefas de manutenção no banco de dados sem a intervenção humana.". Além disso, a própria Oracle explica 3 características desse novo modelo de banco de dados que são:

  • Self-Driving: Assim reduzindo o trabalho humano;
  • Self-Securing: Protegendo-se contra ataques de terceiros;
  • Self-Repairing: Tentará manter o banco de dados rodando independente do erro, uma vez que tentará resolver o problema autonomamente.

 

O que é o Docker?

É um programa de computador que performa virtualização a nível de sistema operacional.



Agora que já se tem um breve entendimento do que venha a ser o Oracle Autonomous Database vamos começar a configurar o banco de dados na Oracle Cloud para intuito de programação. Para isso, seguiremos os seguintes passos:

- Configuração da conta na Cloud da Oracle: Nesta etapa será necessário a criação do banco da conta na Oracle Cloud através do link https://cloud.oracle.com/home . Não entrarei EM detalhes neste tópico devido ao fato de recentemente ter tido um artigo publicado na OTN Brasil que detalha passo a passo este tópico. O nome do artigo é “Utilizando o Oracle Autonomous Transaction Processing” e pode ser encontrado no seguinte link:
https://www.oracle.com/technetwork/pt/articles/cloudcomp/utilizando-oracle-atp-5462247-ptb.html .

- Instalação do software Docker: Este software pode ser encontrado no site oficial do fabricante https://www.docker.com/ e a instalação depende do tipo de sistema operacional. Neste artigo estaremos utilizando o sistema operacional Red Hat 7. Segue um exemplo abaixo:


[root@oc8226237722 ~]# yum install docker
Loaded plugins: downloadkvmonly-background, techdatabasketblog-check-lotus-updates, 
techdatabasketblog-check-
              : upgrade, techdatabasketblog-check-xorg-updates, 
				 techdatabasketblog-repository, langpacks,
              : post-transaction-actions, refresh-packagekit, versionlock
RHEL-76-x86_64                                           | 4.1 kB     00:00     
RHEL-76-x86_64-techdatabasketblog-updates                | 3.3 kB     00:00     
RHEL-76-x86_64-updates                                   | 3.3 kB     00:00     
RHEL7-x86_64-techdatabasketblog-upgrade                  | 3.3 kB     00:00     


Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 2:1.13.1-75.git8633870.el7.centos will be installed
--> Processing Dependency: docker-common = 2:1.13.1-75.git8633870.el7.centos for package: 
2:docker-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: docker-client = 2:1.13.1-75.git8633870.el7.centos for package: 
2:docker-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: subscription-manager-rhsm-certificates for package: 
2:docker-1.13.1-75.git8633870.el7.centos.x86_64
--> Running transaction check
---> Package docker-client.x86_64 2:1.13.1-75.git8633870.el7.centos will be installed
---> Package docker-common.x86_64 2:1.13.1-75.git8633870.el7.centos will be installed
--> Processing Dependency: skopeo-containers >= 1:0.1.26-2 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: oci-umount >= 2:2.3.3-3 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: oci-systemd-hook >= 1:0.1.4-9 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: oci-register-machine >= 1:0-5.13 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: container-storage-setup >= 0.9.0-1 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: container-selinux >= 2:2.51-1 for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
--> Processing Dependency: atomic-registries for package: 
2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64
---> Package subscription-manager-rhsm-certificates.x86_64 0:1.21.10-3.el7_6 will be installed
--> Running transaction check
---> Package atomic-registries.x86_64 1:1.22.1-25.git5a342e3.el7.centos will be installed
--> Processing Dependency: python-pytoml for package: 
1:atomic-registries-1.22.1-25.git5a342e3.el7.centos.x86_64
---> Package container-selinux.noarch 2:2.68-1.el7 will be installed
--> Processing Dependency: policycoreutils-python for package: 
2:container-selinux-2.68-1.el7.noarch
---> Package container-storage-setup.noarch 0:0.11.0-2.git5eaf76c.el7 will be installed
---> Package oci-register-machine.x86_64 1:0-6.git2b44233.el7 will be installed
---> Package oci-systemd-hook.x86_64 1:0.1.17-2.git83283a0.el7 will be installed
---> Package oci-umount.x86_64 2:2.3.3-3.gite3c9055.el7 will be installed
---> Package skopeo-containers.x86_64 1:0.1.31-1.dev.gitae64ff7.el7.centos will be installed
--> Running transaction check
---> Package policycoreutils-python.x86_64 0:2.5-29.el7_6.1 will be installed
--> Processing Dependency: policycoreutils = 2.5-29.el7_6.1 for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: setools-libs >= 3.3.8-4 for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-14 for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: checkpolicy for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: 
policycoreutils-python-2.5-29.el7_6.1.x86_64
---> Package python-pytoml.noarch 0:0.1.14-1.git7dea353.el7 will be installed
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.8.4-4.el7 will be installed
--> Processing Dependency: audit-libs(x86-64) = 2.8.4-4.el7 for package: 
audit-libs-python-2.8.4-4.el7.x86_64
---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
--> Processing Dependency: libsemanage = 2.5-14.el7 for package: 
libsemanage-python-2.5-14.el7.x86_64
---> Package policycoreutils.x86_64 0:2.5-22.el7 will be updated
---> Package policycoreutils.x86_64 0:2.5-29.el7_6.1 will be an update
--> Processing Dependency: libsepol >= 2.5-10 for package: 
policycoreutils-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libselinux-utils >= 2.5-14 for package: 
policycoreutils-2.5-29.el7_6.1.x86_64
---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
--> Processing Dependency: libselinux >= 2.5-14.1 for package: 
setools-libs-3.3.8-4.el7.x86_64
--> Running transaction check
---> Package audit-libs.i686 0:2.8.1-3.el7_5.1 will be updated
---> Package audit-libs.x86_64 0:2.8.1-3.el7_5.1 will be updated
--> Processing Dependency: audit-libs(x86-64) = 2.8.1-3.el7_5.1 for package: 
audit-2.8.1-3.el7_5.1.x86_64
---> Package audit-libs.i686 0:2.8.4-4.el7 will be an update
---> Package audit-libs.x86_64 0:2.8.4-4.el7 will be an update
---> Package libselinux.i686 0:2.5-12.el7 will be updated
---> Package libselinux.x86_64 0:2.5-12.el7 will be updated
--> Processing Dependency: libselinux(x86-64) = 2.5-12.el7 for package: 
libselinux-python-2.5-12.el7.x86_64
--> Processing Dependency: libselinux(x86-64) = 2.5-12.el7 for package: 
libselinux-devel-2.5-12.el7.x86_64
---> Package libselinux.i686 0:2.5-14.1.el7 will be an update
---> Package libselinux.x86_64 0:2.5-14.1.el7 will be an update
---> Package libselinux-utils.x86_64 0:2.5-12.el7 will be updated
---> Package libselinux-utils.x86_64 0:2.5-14.1.el7 will be an update
---> Package libsemanage.x86_64 0:2.5-11.el7 will be updated
---> Package libsemanage.x86_64 0:2.5-14.el7 will be an update
---> Package libsepol.i686 0:2.5-8.1.el7 will be updated
---> Package libsepol.x86_64 0:2.5-8.1.el7 will be updated
--> Processing Dependency: libsepol(x86-64) = 2.5-8.1.el7 for package: 
libsepol-devel-2.5-8.1.el7.x86_64
---> Package libsepol.i686 0:2.5-10.el7 will be an update
---> Package libsepol.x86_64 0:2.5-10.el7 will be an update
--> Running transaction check
---> Package audit.x86_64 0:2.8.1-3.el7_5.1 will be updated
---> Package audit.x86_64 0:2.8.4-4.el7 will be an update
---> Package libselinux-devel.x86_64 0:2.5-12.el7 will be updated
---> Package libselinux-devel.x86_64 0:2.5-14.1.el7 will be an update
---> Package libselinux-python.x86_64 0:2.5-12.el7 will be updated
---> Package libselinux-python.x86_64 0:2.5-14.1.el7 will be an update
---> Package libsepol-devel.x86_64 0:2.5-8.1.el7 will be updated
---> Package libsepol-devel.x86_64 0:2.5-10.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                 Arch   Version                    Repository      Size
================================================================================
Installing:
 docker                  x86_64 2:1.13.1-75.git8633870.el7.centos
                                                           RHEL-76-x86_64  16 M
Installing for dependencies:
 atomic-registries       x86_64 1:1.22.1-25.git5a342e3.el7.centos
                                                           RHEL-76-x86_64  35 k
 audit-libs-python       x86_64 2.8.4-4.el7                RHEL-76-x86_64  76 k
 checkpolicy             x86_64 2.5-8.el7                  RHEL-76-x86_64 295 k
 container-selinux       noarch 2:2.68-1.el7               RHEL-76-x86_64  36 k
 container-storage-setup noarch 0.11.0-2.git5eaf76c.el7    RHEL-76-x86_64  35 k
 docker-client           x86_64 2:1.13.1-75.git8633870.el7.centos
                                                           RHEL-76-x86_64 3.8 M
 docker-common           x86_64 2:1.13.1-75.git8633870.el7.centos
                                                           RHEL-76-x86_64  93 k
 libsemanage-python      x86_64 2.5-14.el7                 RHEL-76-x86_64 113 k
 oci-register-machine    x86_64 1:0-6.git2b44233.el7       RHEL-76-x86_64 1.1 M
 oci-systemd-hook        x86_64 1:0.1.17-2.git83283a0.el7  RHEL-76-x86_64  33 k
 oci-umount              x86_64 2:2.3.3-3.gite3c9055.el7   RHEL-76-x86_64  32 k
 policycoreutils-python  x86_64 2.5-29.el7_6.1             RHEL-76-x86_64-updates
                                                                          456 k
 python-pytoml           noarch 0.1.14-1.git7dea353.el7    RHEL-76-x86_64  18 k
 setools-libs            x86_64 3.3.8-4.el7                RHEL-76-x86_64 620 k
 skopeo-containers       x86_64 1:0.1.31-1.dev.gitae64ff7.el7.centos
                                                           RHEL-76-x86_64  17 k
 subscription-manager-rhsm-certificates
                         x86_64 1.21.10-3.el7_6            RHEL-76-x86_64 212 k
Updating for dependencies:
 audit                   x86_64 2.8.4-4.el7                RHEL-76-x86_64 250 k
 audit-libs              i686   2.8.4-4.el7                RHEL-76-x86_64 101 k
 audit-libs              x86_64 2.8.4-4.el7                RHEL-76-x86_64 100 k
 libselinux              i686   2.5-14.1.el7               RHEL-76-x86_64 166 k
 libselinux              x86_64 2.5-14.1.el7               RHEL-76-x86_64 162 k
 libselinux-devel        x86_64 2.5-14.1.el7               RHEL-76-x86_64 187 k
 libselinux-python       x86_64 2.5-14.1.el7               RHEL-76-x86_64 236 k
 libselinux-utils        x86_64 2.5-14.1.el7               RHEL-76-x86_64 152 k
 libsemanage             x86_64 2.5-14.el7                 RHEL-76-x86_64 151 k
 libsepol                i686   2.5-10.el7                 RHEL-76-x86_64 294 k
 libsepol                x86_64 2.5-10.el7                 RHEL-76-x86_64 297 k
 libsepol-devel          x86_64 2.5-10.el7                 RHEL-76-x86_64  77 k
 policycoreutils         x86_64 2.5-29.el7_6.1             RHEL-76-x86_64-updates
                                                                          916 k

Transaction Summary
================================================================================
Install  1 Package  (+16 Dependent packages)
Upgrade             ( 13 Dependent packages)

Total size: 26 M
Total download size: 23 M
Is this ok [y/d/N]: y
Downloading packages:


(1/17): atomic-registries-1.22.1-25.git5a342e3.el7.centos. |  35 kB   00:00     
(2/17): container-storage-setup-0.11.0-2.git5eaf76c.el7.no |  35 kB   00:00     
(3/17): audit-libs-python-2.8.4-4.el7.x86_64.rpm           |  76 kB   00:00     
(4/17): container-selinux-2.68-1.el7.noarch.rpm            |  36 kB   00:00     
(5/17): checkpolicy-2.5-8.el7.x86_64.rpm                   | 295 kB   00:00     
(6/17): docker-common-1.13.1-75.git8633870.el7.centos.x86_ |  93 kB   00:00     
(7/17): docker-client-1.13.1-75.git8633870.el7.centos.x86_ | 3.8 MB   00:01     
(8/17): oci-systemd-hook-0.1.17-2.git83283a0.el7.x86_64.rp |  33 kB   00:00     
(9/17): oci-register-machine-0-6.git2b44233.el7.x86_64.rpm | 1.1 MB   00:00     
(10/17): oci-umount-2.3.3-3.gite3c9055.el7.x86_64.rpm      |  32 kB   00:00     
(11/17): python-pytoml-0.1.14-1.git7dea353.el7.noarch.rpm  |  18 kB   00:00     
(12/17): setools-libs-3.3.8-4.el7.x86_64.rpm               | 620 kB   00:00     
(13/17): skopeo-containers-0.1.31-1.dev.gitae64ff7.el7.cen |  17 kB   00:00     
(14/17): subscription-manager-rhsm-certificates-1.21.10-3. | 212 kB   00:00     
(15/17): libsemanage-python-2.5-14.el7.x86_64.rpm          | 113 kB   00:02     
(16/17): policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm  | 456 kB   00:00     
(17/17): docker-1.13.1-75.git8633870.el7.centos.x86_64.rpm |  16 MB   00:10     
--------------------------------------------------------------------------------
Total                                             2.1 MB/s |  23 MB   00:11     

Running transaction check
Running transaction test
Transaction test succeeded
Running transaction

  Updating   : libsepol-2.5-10.el7.x86_64                                  1/43 
  Updating   : libselinux-2.5-14.1.el7.x86_64                              2/43 
  Updating   : audit-libs-2.8.4-4.el7.x86_64                               3/43 
  Updating   : libsemanage-2.5-14.el7.x86_64                               4/43 
  Updating   : libselinux-utils-2.5-14.1.el7.x86_64                        5/43 
  Updating   : policycoreutils-2.5-29.el7_6.1.x86_64                       6/43 
  Installing : libsemanage-python-2.5-14.el7.x86_64                        7/43 
  Installing : audit-libs-python-2.8.4-4.el7.x86_64                        8/43 
  Installing : setools-libs-3.3.8-4.el7.x86_64                             9/43 
  Installing : 2:oci-umount-2.3.3-3.gite3c9055.el7.x86_64                 10/43 
  Installing : 1:oci-systemd-hook-0.1.17-2.git83283a0.el7.x86_64          11/43 
  Updating   : libselinux-python-2.5-14.1.el7.x86_64                      12/43 
  Updating   : libsepol-devel-2.5-10.el7.x86_64                           13/43 
  Installing : subscription-manager-rhsm-certificates-1.21.10-3.el7_6.x   14/43 
  Installing : 1:oci-register-machine-0-6.git2b44233.el7.x86_64           15/43 
  Installing : python-pytoml-0.1.14-1.git7dea353.el7.noarch               16/43 
  Installing : 1:atomic-registries-1.22.1-25.git5a342e3.el7.centos.x86_   17/43 
  Installing : checkpolicy-2.5-8.el7.x86_64                               18/43 
  Installing : policycoreutils-python-2.5-29.el7_6.1.x86_64               19/43 
  Installing : 2:container-selinux-2.68-1.el7.noarch                      20/43 
  Installing : 1:skopeo-containers-0.1.31-1.dev.gitae64ff7.el7.centos.x   21/43 
  Installing : container-storage-setup-0.11.0-2.git5eaf76c.el7.noarch     22/43 
  Installing : 2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64     23/43 
  Installing : 2:docker-client-1.13.1-75.git8633870.el7.centos.x86_64     24/43 
  Updating   : libsepol-2.5-10.el7.i686                                   25/43 
  Installing : 2:docker-1.13.1-75.git8633870.el7.centos.x86_64            26/43 
  Updating   : libselinux-devel-2.5-14.1.el7.x86_64                       27/43 
  Updating   : audit-2.8.4-4.el7.x86_64                                   28/43 
  Updating   : libselinux-2.5-14.1.el7.i686                               29/43 
  Updating   : audit-libs-2.8.4-4.el7.i686                                30/43 
  Cleanup    : policycoreutils-2.5-22.el7.x86_64                          31/43 
  Cleanup    : libselinux-devel-2.5-12.el7.x86_64                         32/43 
  Cleanup    : libsepol-devel-2.5-8.1.el7.x86_64                          33/43 
  Cleanup    : libselinux-2.5-12.el7                                      34/43 
  Cleanup    : libsemanage-2.5-11.el7.x86_64                              35/43 
  Cleanup    : libselinux-utils-2.5-12.el7.x86_64                         36/43 
  Cleanup    : libselinux-python-2.5-12.el7.x86_64                        37/43 
  Cleanup    : libselinux-2.5-12.el7                                      38/43 
  Cleanup    : audit-2.8.1-3.el7_5.1.x86_64                               39/43 
  Cleanup    : libsepol-2.5-8.1.el7                                       40/43 
  Cleanup    : audit-libs-2.8.1-3.el7_5.1                                 41/43 
  Cleanup    : audit-libs-2.8.1-3.el7_5.1                                 42/43 
  Cleanup    : libsepol-2.5-8.1.el7                                       43/43 
  Verifying  : 2:docker-common-1.13.1-75.git8633870.el7.centos.x86_64      1/43 
  Verifying  : 2:container-selinux-2.68-1.el7.noarch                       2/43 
  Verifying  : container-storage-setup-0.11.0-2.git5eaf76c.el7.noarch      3/43 
  Verifying  : policycoreutils-2.5-29.el7_6.1.x86_64                       4/43 
  Verifying  : 1:skopeo-containers-0.1.31-1.dev.gitae64ff7.el7.centos.x    5/43 
  Verifying  : libselinux-2.5-14.1.el7.i686                                6/43 
  Verifying  : checkpolicy-2.5-8.el7.x86_64                                7/43 
  Verifying  : audit-libs-2.8.4-4.el7.x86_64                               8/43 
  Verifying  : audit-2.8.4-4.el7.x86_64                                    9/43 
  Verifying  : 2:docker-client-1.13.1-75.git8633870.el7.centos.x86_64     10/43 
  Verifying  : python-pytoml-0.1.14-1.git7dea353.el7.noarch               11/43 
  Verifying  : setools-libs-3.3.8-4.el7.x86_64                            12/43 
  Verifying  : policycoreutils-python-2.5-29.el7_6.1.x86_64               13/43 
  Verifying  : libsemanage-python-2.5-14.el7.x86_64                       14/43 
  Verifying  : libsemanage-2.5-14.el7.x86_64                              15/43 
  Verifying  : 1:oci-register-machine-0-6.git2b44233.el7.x86_64           16/43 
  Verifying  : 2:oci-umount-2.3.3-3.gite3c9055.el7.x86_64                 17/43 
  Verifying  : libsepol-2.5-10.el7.x86_64                                 18/43 
  Verifying  : audit-libs-2.8.4-4.el7.i686                                19/43 
  Verifying  : libsepol-2.5-10.el7.i686                                   20/43 
  Verifying  : 1:oci-systemd-hook-0.1.17-2.git83283a0.el7.x86_64          21/43 
  Verifying  : libsepol-devel-2.5-10.el7.x86_64                           22/43 
  Verifying  : 1:atomic-registries-1.22.1-25.git5a342e3.el7.centos.x86_   23/43 
  Verifying  : libselinux-python-2.5-14.1.el7.x86_64                      24/43 
  Verifying  : audit-libs-python-2.8.4-4.el7.x86_64                       25/43 
  Verifying  : libselinux-utils-2.5-14.1.el7.x86_64                       26/43 
  Verifying  : subscription-manager-rhsm-certificates-1.21.10-3.el7_6.x   27/43 
  Verifying  : libselinux-devel-2.5-14.1.el7.x86_64                       28/43 
  Verifying  : 2:docker-1.13.1-75.git8633870.el7.centos.x86_64            29/43 
  Verifying  : libselinux-2.5-14.1.el7.x86_64                             30/43 
  Verifying  : libsemanage-2.5-11.el7.x86_64                              31/43 
  Verifying  : libselinux-python-2.5-12.el7.x86_64                        32/43 
  Verifying  : libsepol-devel-2.5-8.1.el7.x86_64                          33/43 
  Verifying  : policycoreutils-2.5-22.el7.x86_64                          34/43 
  Verifying  : audit-2.8.1-3.el7_5.1.x86_64                               35/43 
  Verifying  : libsepol-2.5-8.1.el7.x86_64                                36/43 
  Verifying  : libselinux-2.5-12.el7.i686                                 37/43 
  Verifying  : libselinux-devel-2.5-12.el7.x86_64                         38/43 
  Verifying  : libsepol-2.5-8.1.el7.i686                                  39/43 
  Verifying  : audit-libs-2.8.1-3.el7_5.1.x86_64                          40/43 
  Verifying  : audit-libs-2.8.1-3.el7_5.1.i686                            41/43 
  Verifying  : libselinux-2.5-12.el7.x86_64                               42/43 
  Verifying  : libselinux-utils-2.5-12.el7.x86_64                         43/43 

Installed:
  docker.x86_64 2:1.13.1-75.git8633870.el7.centos                               

Dependency Installed:
  atomic-registries.x86_64 1:1.22.1-25.git5a342e3.el7.centos                    
  audit-libs-python.x86_64 0:2.8.4-4.el7                                        
  checkpolicy.x86_64 0:2.5-8.el7                                                
  container-selinux.noarch 2:2.68-1.el7                                         
  container-storage-setup.noarch 0:0.11.0-2.git5eaf76c.el7                      
  docker-client.x86_64 2:1.13.1-75.git8633870.el7.centos                        
  docker-common.x86_64 2:1.13.1-75.git8633870.el7.centos                        
  libsemanage-python.x86_64 0:2.5-14.el7                                        
  oci-register-machine.x86_64 1:0-6.git2b44233.el7                              
  oci-systemd-hook.x86_64 1:0.1.17-2.git83283a0.el7                             
  oci-umount.x86_64 2:2.3.3-3.gite3c9055.el7                                    
  policycoreutils-python.x86_64 0:2.5-29.el7_6.1                                
  python-pytoml.noarch 0:0.1.14-1.git7dea353.el7                                
  setools-libs.x86_64 0:3.3.8-4.el7                                             
  skopeo-containers.x86_64 1:0.1.31-1.dev.gitae64ff7.el7.centos                 
  subscription-manager-rhsm-certificates.x86_64 0:1.21.10-3.el7_6               

Dependency Updated:
  audit.x86_64 0:2.8.4-4.el7                                                    
  audit-libs.i686 0:2.8.4-4.el7                                                 
  audit-libs.x86_64 0:2.8.4-4.el7                                               
  libselinux.i686 0:2.5-14.1.el7                                                
  libselinux.x86_64 0:2.5-14.1.el7                                              
  libselinux-devel.x86_64 0:2.5-14.1.el7                                        
  libselinux-python.x86_64 0:2.5-14.1.el7                                       
  libselinux-utils.x86_64 0:2.5-14.1.el7                                        
  libsemanage.x86_64 0:2.5-14.el7                                               
  libsepol.i686 0:2.5-10.el7                                                    
  libsepol.x86_64 0:2.5-10.el7                                                  
  libsepol-devel.x86_64 0:2.5-10.el7                                            
  policycoreutils.x86_64 0:2.5-29.el7_6.1                                       

Complete!



- Utilização de uma imagem para virtualização com o software Docker: Depois de instalar o Docker é necessário puxar uma imagem existente para virtualização. Neste artigo utilizaremos a imagem  phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full

[root@oc8226237722 ~]# docker pull phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full
Trying to pull repository phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient ... 
full: Pulling from phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient
4c851099615d: Pull complete 
f22562ec5726: Pull complete 
ecaf948a6376: Pull complete 
0523cfba9a7b: Pull complete 
5cc059e87718: Pull complete 
40fde7f8968a: Pull complete 
8257cc2c348c: Pull complete 
006c509ee636: Pull complete 
327ac893dadd: Pull complete 
df8f385b3400: Pull complete 
942ed172ad5e: Pull complete 
000ecb121309: Pull complete 
21ca946a8b49: Pull complete 
585313811f7d: Pull complete 
9472199e9ad7: Pull complete 
53a7553bad7f: Pull complete 
485560c4134a: Pull complete 
e152e9eb3b79: Pull complete 
464039b4cdc2: Pull complete 
6910ba0139a1: Pull complete 
1206d486d92c: Pull complete 
Digest: sha256:490cf9de59a35c46cad5421a4013e91c09ea65e2bec07422d2a8c377c17123d1
Status: Downloaded newer image for phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full



Criação de um diretório para armazenar o arquivo de wallet:

[root@oc8226237722 ~]# mkdir -p /tmp/wallet



Inicialize o container enquanto o diretório do arquivo de wallet está sendo criado:

[root@oc8226237722 ~]# docker run -it -p 3050:3050 -v 
~/tmp/wallet:/opt/oracle/techdatabasketvm/database/wallet  
phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full /bin/bash
bash-4.2# 
bash-4.2# 



Verificando o status do Docker: Algumas informações  sobre os comando

  • docker info: Fornece  informações sobre o software Docker;
  • systemctl status docker.service: Verifica o status do software Docker;
  • systemctl start docker.service: Inicializa o serviço caso não esteja inicializado.
  • docker images -a: Fornece informações sobre as imagens virtualizadas existentes.

[root@oc8226237722 ~]# docker info 
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. 
Is the docker daemon running?

[root@oc8226237722 ~]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: http://docs.docker.com

[root@oc8226237722 ~]# docker images -a
REPOSITORY                                      		TAG     IMAGE ID       CREATED
docker.io/docker                                		latest  6742c45f63ej   5 days ago
phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full   full    338e9abb4e77   7 weeks ago

SIZE
171 MB
1.14 GB

[root@oc8226237722 ~]# systemctl start  docker.service

[root@oc8226237722 ~]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-04-04 12:10:31 CEST; 6s ago
     Docs: http://docs.docker.com
 Main PID: 30161 (dockerd-current)
    Tasks: 21
   CGroup: /system.slice/docker.service
           ├─30161 /usr/bin/dockerd-current --add-runtime 
		docker-runc=/usr/libexec/docker/docker-runc-current 
                --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd 
                --userland-proxy-path=...
           └─30168 /usr/bin/docker-containerd-current -l 
		unix:///var/run/docker/libcontainerd/docker-containerd.sock 
                --metrics-interval=0 --start-timeout 2m --state-dir 
                /var/run/docker/libcontainerd/co...

Apr 04 12:10:29 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:29.654282057+02:00" level=info msg="libcontainerd: 
new containerd process, pid: 30168"
Apr 04 12:10:30 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:30.755627224+02:00" level=info msg="Graph migration to 
content-addressability took 0.00 seconds"
Apr 04 12:10:30 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:30.756764713+02:00" level=info msg="Loading containers: start."
Apr 04 12:10:30 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:30.787906039+02:00" level=info msg="Firewalld running: true"
Apr 04 12:10:30 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:30.973371092+02:00" level=info msg="Default bridge (docker0) is 
assigned with an IP address 172.17.0.0/16... IP address"
Apr 04 12:10:31 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:31.150353744+02:00" level=info msg="Loading containers: done."
Apr 04 12:10:31 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:31.194265410+02:00" level=info msg="Daemon has completed initialization"
Apr 04 12:10:31 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:31.194546603+02:00" level=info msg="Docker daemon" 
commit="8633870/1.13.1" graphdriver=overlay2 version=1.13.1
Apr 04 12:10:31 oc8226237722.techdatabasketblog.com dockerd-current[30161]: 
time="2019-04-04T12:10:31.202468424+02:00" level=info msg="API listen on /var/run/docker.sock"
Apr 04 12:10:31 oc8226237722.techdatabasketblog.com systemd[1]: Started 
Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.



Assim finalizamos a primeira parte da série de artigos sobre Oracle Autonomous Database no Oracle Cloud para DevOps. No próximo artigo continuaremos com o provisionamento do banco de dados.



Referências:

https://www.oracle.com/database/autonomous-database.html
https://www.docker.com/




Bruno Reis da Silva is a Database Cloud Support Engineer and professionally Certified Oracle Database Administrator who has worked on the South American continent and is now working on the European continent. He was awarded the first Oracle Ace Associate of Hungary in 2017. His interests are in RDBMS, mainly Oracle, operating systems (Linux, AIX, HPUX and Solaris) and High Availability Solutions implementations. In his free time he enjoys playing sports, going to the gym and traveling. His blog www.techdatabasket.com is dedicated to his sister Laura Vitoria and the main reason for blogging is because he believes in the quote “giving back to get back”. He also enjoys continuous learning and the interaction with others who share his interest.

Carlos Magno de Andrade Júnior is an Database Architect at eProseed Europe, with more than 15 years of experience in Oracle database on complex projects in countries such as Brazil, India, the Netherlands, Luxembourg , France and Italy, having worked in companies such as Oracle Corporation, IBM, HSBC, among others. Also share information on your blog ezdba.wordpress.com. Certifications: OCM 12c OCP 10g, 11g OCP, OCP 12c, OCE RAC, Exadata, ITIL and OEM 12c Cloud Control Implementation Specialist.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.