devops
Oracle Autonomous Database and DevOps: A Simple Usage Approach – Part 3
Category: Cloud Author: BRUNO REIS Date: 5 years ago Comments: 0

Oracle Autonomous Database and DevOps: A Simple Usage Approach - Part 3

This article is the third part of the series of articles on Oracle Autonomous Database and DevOps. For a better understanding, I recommend reading the articles “Oracle Autonomous Database and DevOps: A Simple Usage Approach – Part 1” and “Oracle Autonomous Database and DevOps: A Simple Usage Approach – Part 2” before proceeding with the steps of this article.
As in the previous article the provisioning of the Oracle Autonomous Database version 18c in the Oracle Cloud was discussed, in this article we will proceed with the use of the database wallet file created to make a secure connection to the provisioned instance and later the first tests with Oracle SQL Developer. However, before starting, let’s build some concepts:
What is Oracle SQL Developer?

 

            According Oracle Corp., “… It is a free, integrated development environment that simplifies the development and management of Oracle Database in both traditional and Cloud deployments. SQL Developer offers complete end-to-end development of your PL/SQL applications, a worksheet for running queries and scripts, a DBA console for managing the database, a report interface, a complete data modeling solution, and a migration platform for moving your 3rd party databases to Oracle. ” “

 

            Now that you have a brief understanding of what Oracle SQL Developer is, let’s start using the wallet file from the provisioned database and thus establishing a secure connection. To do this, follow these steps:
 
– Use of the wallet file of the provisioned database: In the Oracle Cloud menu click the option Autonomous Transaction Processing (last option in the figure below):
In the next menu, click the name of the provisioned instance. As mentioned in the previous article, the provisioned instance was called techdatabasketinstance:
In the next menu, click the name of the provisioned instance. As mentioned in the previous article, the provisioned instance was called techdatabasketinstance:
After that you can download the wallet file by clicking the “Download” button:
Before starting the download you will be asked to create a password to access the wallet file in the future:
 After the download, create a directory to store the wallet file. As mentioned in the previous article, the directory “/tmp/wallet” was created as an example:
[brunors@techdatabasketblog Downloads]$ pwd

/home/brunors/Downloads

[brunors@techdatabasketblog Downloads]$ cp Wallet_techdatabasket.zip /tmp/wallet

[brunors@techdatabasketblog Downloads]$ ls -ltr /tmp/wallet

total 20

-rw-rw-r--. 1 brunors brunors 19841 Apr 22 16:39 Wallet_techdatabasket.zip

[brunors@techdatabasketblog Downloads]$

 

 

Now that we have the wallet file in the desired location, we will proceed with the instance connection using Oracle SQL Developer:




- Oracle SQL Developer installation: If you do not have Oracle SQL Developer installed on your machine, simply check the basic requirements such as having Oracle JDK 1.8, the updated version 121 or higher.




 

 

[root@brunors Downloads]# yum install jdk-8u211-linux-i586.rpm

Loaded plugins: downloadkvmonly-background, techdatabasketblog-check-lotus-updates, techdatabasketblog-check-upgrade, techdatabasketblog-check-xorg-updates, techdatabasketblog-repository, langpacks, post-transaction-actions, refresh-packagekit, versionlock

Examining jdk-8u211-linux-i586.rpm: 2000:jdk1.8-1.8.0_211-fcs.i586

Marking jdk-8u211-linux-i586.rpm to be installed

Resolving Dependencies

--> Running transaction check

---> Package jdk1.8.i586 2000:1.8.0_211-fcs will be installed

--> Finished Dependency Resolution

 

Dependencies Resolved

 

============================================================================================================================================================================================================

 Package                                    Arch                                     Version                                                Repository                                                 Size

============================================================================================================================================================================================================

Installing:

 jdk1.8                                     i586                                     2000:1.8.0_211-fcs                                     /jdk-8u211-linux-i586                                     298 M

 

Transaction Summary

============================================================================================================================================================================================================

Install  1 Package

 

Total size: 298 M

Installed size: 298 M

Is this ok [y/d/N]: y

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : 2000:jdk1.8-1.8.0_211-fcs.i586                                                                                                                                                           1/1

Unpacking JAR files...

            tools.jar...

            plugin.jar...

            javaws.jar...

            deploy.jar...

            rt.jar...

            jsse.jar...

            charsets.jar...

            localedata.jar...

  Verifying  : 2000:jdk1.8-1.8.0_211-fcs.i586                                                                                                                                                           1/1

 

Installed:

  jdk1.8.i586 2000:1.8.0_211-fcs                                                                                                                                                                           

 

Complete!

[root@brunors Downloads]#

 

 

Find out where the JDK was installed through the “find. -name ‘javac'” command. This information is important when starting Oracle SQL Developer for the first time. In the example below, the JDK was installed in /usr/java/jdk1.8.0_211-i586/bin.

 

 

[root@brunors /]# find . -name 'javac'

./etc/alternatives/javac

./usr/java/jdk1.8.0_211-i586/bin/javac

./usr/bin/javac

./var/lib/alternatives/javac

 

 

– Connecting the ATP instance with Oracle SQL Developer: Since the JDK is now installed, we will continue with the secure connection between Oracle SQL Developer and the ATP instance created in the Oracle Cloud. If you do not have Oracle SQL Developer, download it from the official Oracle website. Start Oracle SQL Developer and provide the JDK installation path:

 

[root@brunors sqldeveloper]# ./sqldeveloper.sh

 

 Oracle SQL Developer

 Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.

 

Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /root/.sqldeveloper/18.3.0/product.conf

/usr/java/jdk1.8.0_211-i586/   

 
After this Oracle SQL Developer starts:
Click Add Connection with the “+” button:
On the next screen you will be asked for the connection information of the ATP instance. Provide the following information:

 

Connection Name: It's just a name to identify the connection to the instance.

 

Username: admin

 

Password: ****************** (database creation password)

 

Connection Type: Cloud Wallet

 

Role: Default




Configuration File: Click "Browse" and choose the directory where the wallet file is located.




Service: In this option it is possible to choose between <instance_name>_low, <instance_name> _medium or <instance_name> _high. In this article we will be using the type of parallelism high. So, the chosen option will be techdatabasket_high.

 
 Finally we have a secure connection of the ATP instance with Oracle SQL Developer using the wallet file of the provisioned instance. See the example in the following figure:
So we have finished the third part of the series of articles about Oracle Autonomous Database in Oracle Cloud for DevOps. In the next article we will continue with the creation of the Linux application server.

 

References:
 
https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-download-wallet.html#GUID-B06202D2-0597-41AA-9481-3B174F75D4B1
 
https://www.oracle.com/database/technologies/appdev/sql-developer.html
 
https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/sqldev-install-linux-1969676.html
 

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 at 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 shares information on his blog ezdba.wordpress.com. Certifications : OCM 12c OCP 10g , 11g OCP , OCP 12c, OCE RAC , Exadata , ITIL and OEM 12c Cloud Control Implementation Specialist.


Oracle Autonomous Database and DevOps: A simple usage approach – Part 2
Category: Cloud Author: BRUNO REIS Date: 5 years ago Comments: 0

Oracle Autonomous Database and DevOps:
A simple usage approach – Part 2

            This article is the second part of the series of articles about Oracle Autonomous Database and DevOps. For a better understanding, I recommend reading the article “Oracle Autonomous Database and DevOps: A Simple Usage Approach – Part 1” before proceeding with the steps in this article.
 
As in the previous article the Docker configuration was handled, we will begin to provision the Oracle Autonomous Database version 18c in the Oracle Cloud.
 
– Provisioning the Oracle Autonomous Database in the Cloud: Before provisioning the database it is necessary to create a Compartment. If you have not yet created click on “Identity” and later on “Compartments” under the “Governance and Administration” tab of the menu:

 

 

Then click “Create Compartment” if there is no existing compartment: The root compartment is the first compartment created. From this it is possible to create other compartments by using it as an option in the “Parent Compartment” tab.
Fill in the required fields as the Name of the compartment, any description in the Description field and click on the “Create Compartment” link.
In the above example the name “brunoreis” was chosen as the name of the compartment. In addition, because Oracle recommends creating databases in compartments other than root, a compartment called TECHDATABASKET was created, represented by the image below:

 

Now with the compartment created we will proceed with the creation of the Autonomous Transaction Processing (ATP) instance.
 
On the Oracle Cloud menu, click Autonomous Transaction Processing:

 

Click the Create Autonomous Database button:
In the Create Autonomous Database tab fill in all requested information such as database name, CPU core, storage etc. An important note in this topic is that you can choose the type of workload as AUTONOMOUS DATA WAREHOUSE or AUTONOMOUS TRANSACTION PROCESSING. However, in this article we are only using the AUTONOMOUS TRANSACTION PROCESSING option.
Make sure you have provided all the information correctly and click on “Create autonomous database”:
 
 
During the creation of the database, we will be shown the status “Provisioning”
Once the provisioning is finalized, the status is changed to “Available”:
            In the next article we will discuss the connection between Oracle SQL Developer using the database wallet file created in the Oracle Cloud and also the creation of a Linux machine where the application will be implemented.
 
 
References:
 
https://www.oracle.com/databaose/autnomous-database.html
https://docs.cloud.oracle.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 at 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 shares information on his blog ezdba.wordpress.com. Certifications : OCM 12c OCP 10g , 11g OCP , OCP 12c, OCE RAC , Exadata , ITIL and OEM 12c Cloud Control Implementation Specialist.

 


Oracle Autonomous Database and DevOps: A simple usage approach – Part 1
Category: Cloud Author: BRUNO REIS Date: 5 years ago Comments: 0

Oracle Autonomous Database and DevOps:
A simple usage approach – Part 1

            This article explains the creation of an Oracle Autonomous Database instance in the Oracle Cloud  for the usage of programmers(some tests examples with some programming languages and Oracle SQL Developer). Let’s build some concept to start:

 

What is the Oracle Autonomous Database?

 

            According  to Oracle Corp, it is “the first standalone cloud data manager that provides application for patches, upgrades and tuning, including performing maintenance tasks on the database without human intervention.”. In addition, Oracle itself explains 3 features of this new database model that are:
  • According to the Oracle Corp. this is “
  • Self-Driving: Thus reducing human labor;
  • Self-Securing: Protecting yourself from third-party attacks;
  • Self-Repairing: Will try to keep the database running regardless of the error, as it will attempt to resolve the issue autonomously.

 

What is Docker?

 

It is a computer program that performs virtualization at the operating system level.
 
            Now that you have a brief understanding of what is the Oracle Autonomous Database we will begin to configure the database in the Oracle Cloud for programming purposes. To do this, we will follow the following steps:

 

Account configuration in the Oracle Cloud: In this step you will need to create the account  in the Oracle Cloud through the https://cloud.oracle.com/home link. I will not go into detail in this topic because  someone recently had an article published in OTN Brazil that details step by step this topic. The name of the article is “Using Oracle Autonomous Transaction Processing” and can be found on the following link:
https://www.oracle.com/technetwork/pt/articles/cloudcomp/utilizando-oracle-atp-5462247-ptb.html .

 

– Docker Software Installation: This software can be found on the manufacturer’s official website https://www.docker.com/ and the installation depends on the type of operating system. In this article we will be using the Red Hat 7 operating system. Here is an example below:

 

 

[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!



– Using an image for virtualization with the Docker software: After installing Docker you need to pull an existing image for virtualization. In this article we will use the image 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

 

Creating a directory to store the wallet file:

 

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

 

Initialize the container while the wallet file directory is being created:

 

[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#


Checking the status of Docker: Some information about the command
  • docker info: Provides information about Docker software;
  • systemctl status docker.service: Checks the status of the Docker software;
  • systemctl start docker.service: Initializes the service if it is not initialized.
  • docker images -a: Provides information about existing virtualized images.

 

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             SIZE

docker.io/docker                                latest                                          6742c45f63ej        5 days ago          171 MB

phx.ocir.io/oradbcloudtechdatabasket/openworld/atpclient:full   full                         338e9abb4e77        7 weeks ago         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.

 

 

So we finished the first part of the series of articles about Oracle Autonomous Database in Oracle Cloud for DevOps. In the next article we will continue with the provisioning of the database.

 

References:

 

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 at 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 shares information on his blog ezdba.wordpress.com. Certifications : OCM 12c OCP 10g , 11g OCP , OCP 12c, OCE RAC , Exadata , ITIL and OEM 12c Cloud Control Implementation Specialist.