ODA (Oracle Database Appliance) – Simulator: Part 1

Share on:

ODA Simulator

ODA (Oracle Database Appliance) is an engineered machine designed for small and medium organizations to host their databases. This engineered machine enables to host databases with HA feature (RAC).  

Make sure not to mix this up with Exadata, Exadata is a more powerful engineered machine designed for large workloads example: DSS (Decision Support System) and Dataware House environments.

 

Different between Exadata and ODA (Oracle Data Appliance)

Oracle Database Appliance is not Exadata. Exadata is a pre-configured combination of hardware and software that provides an infrastructure solely for running an Oracle Database. Oracle Database Appliance (ODA) is an integrated highly available (HA) database and applications system in a single box. Exadata is not an appliance, the ODA is. An “appliance” is a server meant for specific responsibilities; compared to a purpose-based database system, like Exadata, which is a high-performance server specifically to handle the database. The ODA is geared towards small and medium-sized environments, whereas Exadata is for large environments with an eye on extreme performance.

To discover the essential administration tasks for the Oracle Database Appliance (ODA) by working through real-world exercises on an ODA Simulator that is delivered from Oracle Cloud. This is a really good simulator to get more hands-on before moving to production. 

Let me illustrate how we can configure the ODA – Simulator. This simulator hosted as a docker container gives more flexibility in testing many administration tasks.

 

Deploy the Simulator

Navigate to OCI marketplace and launch OCI Instance.

ODA Simulator 2

 

Launching Instance

ODA Simulator 3

 

Select shape

ODA Simulator 4

 

Before selecting VCN you should create a VCN. This helps you to access this server via the internet.

ODA Simulator 5

 

Generate SSH keys, use below mention url to create ssh keys.

Generating an SSH Key Pair for Oracle Compute Cloud Service Instances

ODA Simulator 6

 

This figure shows deploying the instance. Once this completes this will turn to green, indicating the instance is ready to use.

ODA Simulator 7

 

VNC Network Rules

Simulator we need to create security rules to enable some ports ODA access. 

Create Ingress rule as mentioned below, Allowing all the ports.

ODA Simulator 8

 

Create an egress rule as mentioned below, allowing all the ports.

ODA Simulator 9

 

Once the instance creation is successful, login to the environment via and verify the docker instance.

ODA Simulator 10

 

Deploy ODA

Cleanup

First cleanup the oda simulator by running cleanup_odasimulator_sw.sh script.

########### cleanup 
./cleanup_odasimulator_sw.sh

 

Expected Output

###################################################################
 Removes all existing Docker containers and volumes from the system
###################################################################

Are you sure you want to continue (yes/no) :
yes

Deleting all docker containers
e9e24d59a43f

Deleting all docker volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
Deleted Volumes:
jre-vol
odasimswbits
perl-vol
persistent-odasim-1-vol

Total reclaimed space: 688MB
[root@oda-simu simulator_19.12.0.0.0]#

 

Setup ODA Simulator

################ Setup ODA
./setup_odasimulator_sw.sh noportainer

Installing docker engine:
Loaded plugins: langpacks, ulninfo
ol7_MySQL80                                                                                                                                                                                                            | 3.0 kB  00:00:00
ol7_MySQL80_connectors_community                                                                                                                                                                                       | 2.9 kB  00:00:00
ol7_MySQL80_tools_community                                                                                                                                                                                            | 2.9 kB  00:00:00
ol7_UEKR6                                                                                                                                                                                                              | 3.0 kB  00:00:00
ol7_addons                                                                                                                                                                                                             | 3.0 kB  00:00:00
ol7_ksplice                                                                                                                                                                                                            | 3.0 kB  00:00:00
ol7_latest                                                                                                                                                                                                             | 3.6 kB  00:00:00
ol7_oci_included                                                                                                                                                                                                       | 2.9 kB  00:00:00
ol7_optional_latest                                                                                                                                                                                                    | 3.0 kB  00:00:00
ol7_software_collections                                                                                                                                                                                               | 3.0 kB  00:00:00
Running Setup for ODA Simulator

Installing docker engine:
Loaded plugins: langpacks, ulninfo
Package docker-1.6.1-1.0.1.el7.x86_64 is obsoleted by docker-engine-19.03.11.ol-13.el7.x86_64 which is already installed
Nothing to do
Loaded plugins: langpacks, ulninfo
Package docker-engine-19.03.11.ol-13.el7.x86_64 already installed and latest version
Nothing to do
Loaded image: oraclelinux:7

[root@oda-simu simulator_19.12.0.0.0]#

 

Create ODA Nodes.

[root@oda-simu simulator_19.12.0.0.0]# ./createOdaSimulatorContainer.sh -help
Usage:
 createOdaSimulatorContainer.sh -f [file_containing_user_emails || -n num_of_simulators]
 User either -f OR -n option.
 If no parameters are specified, the script creates a single docker container with name starting with "odasim".

 -f  :          File containing user emails(Sample sample_emails.txt provided for reference)
 -n  :          Number of ODA simulators to deploy, default is 1

 Optional parameters:
 -t  :          Deployment type : "single" or "ha", default is "single"
 -e  :          Admin Email to be used for sending deployment info
 -d  :          Department using the simulators : sales/OU/odapm
 -p  :          Starting port number to consider
 -i  :          Public IP of the host running the simulators
 -o  :          'noportainer' : do not configure portainer
 -h  :          Show help
[root@oda-simu simulator_19.12.0.0.0]#

 

Expected Output

[root@oda-simu simulator_19.12.0.0.0]# ./createOdaSimulatorContainer.sh -d oda -t ha -o noportainer
Error: No such volume: jre-vol
Create Persistent volumes to store jre
jre-vol
Copy jre to jre-vol
Error: No such volume: perl-vol
Create Persistent volumes to store Perl
perl-vol
Copy Perl to perl-vol
Error: No such volume: odasimswbits
Create Persistent volumes odasimswbits
odasimswbits
Copy ODA simulator bits to odasimswbits
Copy ODA Lab to odasimswbits
STEP: Creating docker container: oda-1-node0
Create Docker container oda-1-node0
Create Docker volume persistent-oda-1-node0-vol
persistent-oda-1-node0-vol
Start Docker container oda-1-node0
oda-1-node0
Copying following port file to the container:
7094
con_long_id : b0ef1e0cda9d6800a1de370f0c211f2ab4457746d1b12a2725dd5922663c1710
userid:
Copying node id file "node_0" to the container
STEP: Creating docker container: oda-1-node1
Create Docker container oda-1-node1
Create Docker volume persistent-oda-1-node1-vol
persistent-oda-1-node1-vol
Start Docker container oda-1-node1
oda-1-node1
Copying following port file to the container:
7096
con_long_id : a5b256be82ec68f21ee949520a72b199abe570d8ad26b71afde032eeb6a2a0c8
userid:
Copying node id file "node_1" to the container
Copy Simulator bits...
Extract MySQL for ODA...
Create group and user odamysql
Starting MySQL for ODA
Starting Zookeeper
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Starting DCS agent
Starting DCS controller
generating credentials for dcs-cli and dcs-agent
done generating credentials for dcs-cli and dcs-agent
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
DCS-10001:Internal error encountered: Fail to start hand shake to localhost:7070.
Agent is not yet ready
Agent is ready to serve the requests.
Disabling RHP for simulator mode
Job details
----------------------------------------------------------------
                     ID:  94b9f1b3-e128-460e-8f73-e8aba92e88d1
            Description:  Update agent configuration parameter values [FEATURE:RHP]
                 Status:  Created
                Created:  December 10, 2021 6:22:07 PM UTC
                Message:
Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
RHP                            false                                                             Allow Oracle's Fleet Patching and Provisioning (FPP)                   December 10, 2021 6:20:47 PM UTC
RHP                            false                                                                                                                                    December 10, 2021 6:22:07 PM UTC
***********************************************
ODA Simulator system info:
Executed on: 2021_12_10_06_15_PM
Executed by:
num=          1
dept=       oda
hostpubip=    


USERS:
Container : oda-1-node0
ODA Console: https://:7095/mgmt/index.html
ODA cli access: Connect to the host and run following command:
sh connectContainer.sh -n oda-1-node0
Container : oda-1-node1
ODA Console: https://:7097/mgmt/index.html
ODA cli access: Connect to the host and run following command:
sh connectContainer.sh -n oda-1-node1
***********************************************
STEP: Updating user metadata file
STEP: Create docker container file with container IDs and IP addresses
ODA Simulator setup is READY
[root@oda-simu simulator_19.12.0.0.0]#

 

Use Docker Commands to verify the Nodes

############### Docker process verification

[root@oda-simu simulator_19.12.0.0.0]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                            NAMES
a5b256be82ec        oraclelinux:7       "/bin/bash"         13 minutes ago      Up 12 minutes       0.0.0.0:7096->7070/tcp, 0.0.0.0:7097->7093/tcp   oda-1-node1
b0ef1e0cda9d        oraclelinux:7       "/bin/bash"         13 minutes ago      Up 13 minutes       0.0.0.0:7094->7070/tcp, 0.0.0.0:7095->7093/tcp   oda-1-node0
[root@oda-simu simulator_19.12.0.0.0]#

 

Connect to Container

########## connect 
[root@oda-simu simulator_19.12.0.0.0]# ./connectContainer.sh -n oda-1-node1
[root@oda-1-node1 /]#

 

Configure Network

############## configure network 

[root@oda-simu simulator_19.12.0.0.0]# ./connectContainer.sh -n oda-1-node0
[root@oda-1-node0 /]# odacli configure-firstnet
bonding interface is:
Using bonding public interface (yes/no) [yes]:
Select the Interface to configure the network on () [btbond1]:
Configure DHCP on btbond1 (yes/no) [no]:
INFO: You have chosen Static configuration
Use VLAN on btbond1 (yes/no) [no]:
Enter the IP address to configure : 192.168.0.100
Enter the Netmask address to configure : 255.255.255.0
Enter the Gateway address to configure[192.168.0.1] :
INFO: Restarting the network
Shutting down interface :           [  OK  ]
Shutting down interface em1:            [  OK  ]
Shutting down interface p1p1:           [  OK  ]
Shutting down interface p1p2:           [  OK  ]
Shutting down loopback interface:               [  OK  ]
Bringing up loopback interface:    [  OK  ]
Bringing up interface :     [  OK  ]
Bringing up interface em1:    [  OK  ]
Bringing up interface p1p1: Determining if ip address 192.168.16.24 is already in use for device p1p1...    [ OK  ]
Bringing up interface p1p2: Determining if ip address 192.168.17.24 is already in use for device p1p2...    [ OK  ]
Bringing up interface btbond1: Determining if ip address 192.168.0.100 is already in use for device btbond1...     [  OK  ]
INFO: Restarting the DCS agent
initdcsagent stop/waiting
initdcsagent start/running, process 20423
[root@oda-1-node0 /]#

 

Deploy Grid and Database Home

############## deployment

[root@oda-1-node1 /]# ls -l  /opt/oracle/dcs/patchfiles/
total 44
-r-xr-xr-x. 1 113105 wheel 230 Jul 27 20:26 oda-sm-19.12.0.0.0-210720-server.zip
-r-xr-xr-x. 1 113105 wheel  61 Mar 22  2021 odacli-dcs-19.11.0.0.0-210420-DB-12.1.0.2.zip
-r-xr-xr-x. 1 113105 wheel  61 Mar 22  2021 odacli-dcs-19.11.0.0.0-210420-DB-12.2.0.1.zip
-r-xr-xr-x. 1 113105 wheel  62 Mar 22  2021 odacli-dcs-19.11.0.0.0-210420-DB-18.14.0.0.zip
-r-xr-xr-x. 1 113105 wheel  62 Mar 22  2021 odacli-dcs-19.11.0.0.0-210420-DB-19.11.0.0.zip
-r-xr-xr-x. 1 113105 wheel  62 Mar 22  2021 odacli-dcs-19.11.0.0.0-210420-GI-19.11.0.0.zip
-r-xr-xr-x. 1 113105 wheel  54 May 25  2021 odacli-dcs-19.12.0.0.0-210328.1-ODAVM-19.12.0.0.zip
-r-xr-xr-x. 1 113105 wheel  61 May 25  2021 odacli-dcs-19.12.0.0.0-210720-DB-12.1.0.2.zip
-r-xr-xr-x. 1 113105 wheel  61 May 25  2021 odacli-dcs-19.12.0.0.0-210720-DB-12.2.0.1.zip
-r-xr-xr-x. 1 113105 wheel  62 May 25  2021 odacli-dcs-19.12.0.0.0-210720-DB-18.15.0.0.zip
-r-xr-xr-x. 1 113105 wheel  62 May 25  2021 odacli-dcs-19.12.0.0.0-210720-DB-19.12.0.0.zip
[root@oda-1-node1 /]#

 

Deploy Grid

  odacli update-repository -f /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-GI-19.11.0.0.zip

[root@oda-1-node1 /]# odacli update-repository -f /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-GI-19.11.0.0.zip
{
  "jobId" : "de5193d8-1b3b-453d-85e1-e0d231e9c839",
  "status" : "Running",
  "message" : "/opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-GI-19.11.0.0.zip",
  "reports" : [ ],
  "createTimestamp" : "December 10, 2021 18:34:56 PM UTC",
  "resourceList" : [ ],
  "description" : "Repository Update",
  "updatedTime" : "December 10, 2021 18:34:56 PM UTC"
}
[root@oda-1-node1 /]#

 

Deploy DB

odacli update-repository -f /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-DB-19.11.0.0.zip

[root@oda-1-node1 /]# odacli update-repository -f /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-DB-19.11.0.0.zip
{
  "jobId" : "ac6efb56-4d12-4322-afac-fbe0102a1078",
  "status" : "Running",
  "message" : "/opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-DB-19.11.0.0.zip",
  "reports" : [ ],
  "createTimestamp" : "December 10, 2021 18:35:30 PM UTC",
  "resourceList" : [ ],
  "description" : "Repository Update",
  "updatedTime" : "December 10, 2021 18:35:31 PM UTC"
}
[root@oda-1-node1 /]#

 

Check the Job Status

############ job Status  
--- DB
odacli describe-job   -i de5193d8-1b3b-453d-85e1-e0d231e9c839



[root@oda-1-node1 /]# odacli describe-job   -i de5193d8-1b3b-453d-85e1-e0d231e9c839
Job details
----------------------------------------------------------------
                     ID:  de5193d8-1b3b-453d-85e1-e0d231e9c839
            Description:  Repository Update
                 Status:  Success
                Created:  December 10, 2021 6:34:56 PM UTC
                Message:  /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-GI-19.11.0.0.zip
Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Unzip bundle                             December 10, 2021 6:34:57 PM UTC    December 10, 2021 6:34:57 PM UTC    Success
Unzip bundle                             December 10, 2021 6:34:57 PM UTC    December 10, 2021 6:34:58 PM UTC    Success

[root@oda-1-node1 /]# odacli describe-job   -i ac6efb56-4d12-4322-afac-fbe0102a1078
--- GRID
[root@oda-1-node1 /]# odacli describe-job   -i ac6efb56-4d12-4322-afac-fbe0102a1078
Job details
----------------------------------------------------------------
                     ID:  ac6efb56-4d12-4322-afac-fbe0102a1078
            Description:  Repository Update
                 Status:  Success
                Created:  December 10, 2021 6:35:30 PM UTC
                Message:  /opt/oracle/dcs/patchfiles/odacli-dcs-19.11.0.0.0-210420-DB-19.11.0.0.zip
Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Unzip bundle                             December 10, 2021 6:35:32 PM UTC    December 10, 2021 6:35:32 PM UTC    Success
Unzip bundle                             December 10, 2021 6:35:32 PM UTC    December 10, 2021 6:35:32 PM UTC    Success

[root@oda-1-node1 /]#

 

Configure Console Access ODA

Here we are setting up for oda-admin password. oda-admin is super user to manage, create the oda-base servers.

ODA Simulator 11

 

Create Appliance

Below mention screenshots below illustrate the appliance configuration steps.

ODA Simulator 12

 

ODA node configuration steps

ODA Simulator 13

Share on:
Back to Top