Infrastructure at your Service

One question we may ask is that if it is possible to deploy an Oracle 21c database in an ODA as the latest version for ODA is actually 19.x
The answer is Yes. Since ODA release 19.12, we can install a DB system with Oracle 21c while the bare metal system runs Oracle Grid Infrastructure 19.x.

To see the supported versions on the DB system just run the command describe-dbsystem-image

[[email protected] ~]# odacli  describe-dbsystem-image
DB System Image details
--------------------------------------------------------------------------------
Component Name        Supported Versions    Available Versions
--------------------  --------------------  --------------------

DBVM                  19.14.0.0.0           19.14.0.0.0

GI                    19.14.0.0.220118      19.14.0.0.220118
                      19.13.0.0.211019      19.13.0.0.211019
                      19.12.0.0.210720      not-available
                      19.11.0.0.210420      not-available
                      21.5.0.0.220118       not-available
                      21.4.0.0.211019       not-available
                      21.3.0.0.210720       not-available

DB                    19.14.0.0.220118      19.14.0.0.220118
                      19.13.0.0.211019      19.13.0.0.211019
                      19.12.0.0.210720      not-available
                      19.11.0.0.210420      not-available
                      21.5.0.0.220118       not-available
                      21.4.0.0.211019       not-available
                      21.3.0.0.210720       not-available

[[email protected] ~]#

In this blog I am showing some tests I did to install a DB system with Oracle 21c on a bare metal with ODA 19.14

[[email protected] ~]# odacli describe-component
System Version
---------------
19.14.0.0.0

System node Name
---------------
dbi-oda-x8

Local System Version
---------------
19.14.0.0.0

Component                                Installed Version    Available Version
---------------------------------------- -------------------- --------------------
OAK
                                          19.14.0.0.0           up-to-date

GI
                                          19.14.0.0.220118      up-to-date

DB {
[ OraDB19000_home2,OraDB19000_home4 ]
                                          19.14.0.0.220118      up-to-date
[ OraDB12201_home1 ]
                                          12.2.0.1.220118       up-to-date
[ OraDB19000_home3 ]
                                          19.13.0.0.211019      19.14.0.0.220118
}

DCSCONTROLLER
                                          19.14.0.0.0           up-to-date

DCSCLI
                                          19.14.0.0.0           up-to-date

DCSAGENT
                                          19.14.0.0.0           up-to-date

DCSADMIN
                                          19.14.0.0.0           up-to-date

OS
                                          7.9                   up-to-date

ILOM
                                          5.0.2.24.r141466      up-to-date

BIOS
                                          52050300              up-to-date

SHARED CONTROLLER FIRMWARE
                                          VDV1RL04              up-to-date

LOCAL DISK FIRMWARE
                                          1132                  up-to-date

SHARED DISK FIRMWARE
                                          1132                  up-to-date

HMP
                                          2.4.8.0.600           up-to-date


[[email protected] ~]#

To be able to create a DB system with Oracle 21c (21.5), we first have to update the repository with the required patches.
So let’s download following patches
– p33152235_1914000_Linux-x86-64.zip : Oracle Database Appliance 21.5.0.0.220118 GI Clone for DB Systems
– p33152237_1914000_Linux-x86-64.zip : Oracle Database Appliance 21.5.0.0.220118 Database Clone File for DB Systems

After the download we unpack the zip files

[[email protected] mdi]# unzip p33152235_1914000_Linux-x86-64.zip
Archive:  p33152235_1914000_Linux-x86-64.zip
 extracting: odacli-dcs-19.14.0.0.0-220127-GI-21.5.0.0.zip
  inflating: README.txt
[[email protected] mdi]# unzip p33152237_1914000_Linux-x86-64.zip
Archive:  p33152237_1914000_Linux-x86-64.zip
 extracting: odacli-dcs-19.14.0.0.0-220127-DB-21.5.0.0.zip
replace README.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: README.txt
[[email protected] mdi]#

And then let’s update the repository with the files

For the GI stack

[[email protected] ~]# /opt/oracle/dcs/bin/odacli update-repository -f /u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-GI-21.5.0.0.zip
{
  "jobId" : "c93133b6-be21-43cd-9a3a-9e58af6798fc",
  "status" : "Created",
  "message" : "/u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-GI-21.5.0.0.zip",
  "reports" : [ ],
  "createTimestamp" : "April 27, 2022 08:46:00 AM CEST",
  "resourceList" : [ ],
  "description" : "Repository Update",
  "updatedTime" : "April 27, 2022 08:46:00 AM CEST"
}
[[email protected] ~]#

Be sure that the job successfully finished

[[email protected] ~]# odacli describe-job -i "c93133b6-be21-43cd-9a3a-9e58af6798fc"

Job details
----------------------------------------------------------------
                     ID:  c93133b6-be21-43cd-9a3a-9e58af6798fc
            Description:  Repository Update
                 Status:  Success
                Created:  April 27, 2022 8:46:00 AM CEST
                Message:  /u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-GI-21.5.0.0.zip

Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Unzip bundle                             April 27, 2022 8:46:00 AM CEST      April 27, 2022 8:46:26 AM CEST      Success

[[email protected] ~]#

For the DB

[[email protected] ~]# /opt/oracle/dcs/bin/odacli update-repository -f /u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-DB-21.5.0.0.zip
{
  "jobId" : "413f472f-7351-46f1-92e4-44d464b268bc",
  "status" : "Created",
  "message" : "/u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-DB-21.5.0.0.zip",
  "reports" : [ ],
  "createTimestamp" : "April 27, 2022 08:47:59 AM CEST",
  "resourceList" : [ ],
  "description" : "Repository Update",
  "updatedTime" : "April 27, 2022 08:47:59 AM CEST"
}
[[email protected] ~]#
[[email protected] ~]# odacli describe-job -i "413f472f-7351-46f1-92e4-44d464b268bc"

Job details
----------------------------------------------------------------
                     ID:  413f472f-7351-46f1-92e4-44d464b268bc
            Description:  Repository Update
                 Status:  Success
                Created:  April 27, 2022 8:47:59 AM CEST
                Message:  /u03/app/oracle/mdi/odacli-dcs-19.14.0.0.0-220127-DB-21.5.0.0.zip

Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Unzip bundle                             April 27, 2022 8:48:00 AM CEST      April 27, 2022 8:48:28 AM CEST      Success

[[email protected] ~]#

And if we then verify available images, we should see the 21c images now available

[[email protected] mdi]# odacli describe-dbsystem-image
DB System Image details
--------------------------------------------------------------------------------
Component Name        Supported Versions    Available Versions
--------------------  --------------------  --------------------

DBVM                  19.14.0.0.0           19.14.0.0.0

GI                    19.14.0.0.220118      19.14.0.0.220118
                      19.13.0.0.211019      19.13.0.0.211019
                      19.12.0.0.210720      not-available
                      19.11.0.0.210420      not-available
                      21.5.0.0.220118       21.5.0.0.220118
                      21.4.0.0.211019       not-available
                      21.3.0.0.210720       not-available

DB                    19.14.0.0.220118      19.14.0.0.220118
                      19.13.0.0.211019      19.13.0.0.211019
                      19.12.0.0.210720      not-available
                      19.11.0.0.210420      not-available
                      21.5.0.0.220118       21.5.0.0.220118
                      21.4.0.0.211019       not-available
                      21.3.0.0.210720       not-available

[[email protected] mdi]#

interface. But you can also find some json templates in Oracle documentation.
Of course you can also directly create the DB system with the GUI

[[email protected] mdi]# cat mdi-dbi-ip42.json
{
    "system": {
        "name": "mdi-dbi-ip42",
        "systemPassword": "******",
        "timeZone": "Europe/Zurich",
        "diskGroup": "DATA",
        "cpuPoolName": "cpuninja",
        "enableRoleSeparation": true
    },
    "database": {
        "name": "MDIDB1",
        "uniqueName": "MDIDB1_42",
        "domainName": "dbi-lab.ch",
        "adminPassword": null,
        "version": "21.5.0.0.220118",
        "edition": "EE",
        "type": "SI",
        "dbClass": "OLTP",
        "shape": "odb2",
        "role": "PRIMARY",
        "targetNodeNumber": null,
        "enableDbConsole": false,
        "enableFlashStorage": false,
        "redundancy": null,
        "characterSet": {
            "characterSet": "AL32UTF8",
            "nlsCharacterset": "AL16UTF16",
            "dbTerritory": "AMERICA",
            "dbLanguage": "AMERICAN"
        },
        "rmanBackupPassword": null,
        "enableTDE": false,
        "isCdb": true,
        "pdbName": "PDB1",
        "pdbAdminUser": "pdb1admin",
        "tdePassword": null
    },
    "network": {
        "domainName": "dbi-lab.ch",
        "ntpServers": [
            "216.239.35.0"
        ],
        "dnsServers": [
            "8.8.8.8",
            "8.8.4.4"
        ],
        "nodes": [
            {
                "name": "mdidbi42",
                "ipAddress": "10.36.0.242",
                "netmask": "255.255.255.0",
                "gateway": "10.36.0.1",
                "number": 0
            }
        ],
        "publicVNetwork": "pubnet"
    },
    "grid": {
        "language": "en",
        "enableAFD": false
    }
}
[[email protected] mdi]#

To create the DB system following command is used

[[email protected] mdi]#  odacli create-dbsystem -p /u03/app/oracle/mdi/mdi-dbi-ip42.json
Enter password for system "mdi-dbi-ip42":
Retype password for system "mdi-dbi-ip42":
Enter administrator password for DB "MDIDB1":
Retype administrator password for DB "MDIDB1":

Job details
----------------------------------------------------------------
                     ID:  65360c5e-cdc0-4fe4-98f4-d1422070f980
            Description:  DB System mdi-dbi-ip42 creation
                 Status:  Created
                Created:  April 27, 2022 10:52:36 AM CEST
                Message:

Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------

[[email protected] mdi]#

A few minutes after, we can validate that the creation was successful.

[[email protected] ~]# odacli describe-job -i 65360c5e-cdc0-4fe4-98f4-d1422070f980

Job details
----------------------------------------------------------------
                     ID:  65360c5e-cdc0-4fe4-98f4-d1422070f980
            Description:  DB System mdi-dbi-ip42 creation
                 Status:  Success
                Created:  April 27, 2022 10:52:36 AM CEST
                Message:

Task Name                                Start Time                          End Time                            Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Create DB System metadata                April 27, 2022 10:52:36 AM CEST     April 27, 2022 10:52:36 AM CEST     Success
Persist new DB System                    April 27, 2022 10:52:36 AM CEST     April 27, 2022 10:52:36 AM CEST     Success
Validate DB System prerequisites         April 27, 2022 10:52:36 AM CEST     April 27, 2022 10:52:40 AM CEST     Success
Setup DB System environment              April 27, 2022 10:52:40 AM CEST     April 27, 2022 10:52:41 AM CEST     Success
Create DB System ASM volume              April 27, 2022 10:52:41 AM CEST     April 27, 2022 10:52:48 AM CEST     Success
Create DB System ACFS filesystem         April 27, 2022 10:52:48 AM CEST     April 27, 2022 10:52:57 AM CEST     Success
Create DB System VM ACFS snapshots       April 27, 2022 10:52:57 AM CEST     April 27, 2022 10:53:26 AM CEST     Success
Create temporary SSH key pair            April 27, 2022 10:53:26 AM CEST     April 27, 2022 10:53:27 AM CEST     Success
Create DB System cloud-init config       April 27, 2022 10:53:27 AM CEST     April 27, 2022 10:53:27 AM CEST     Success
Provision DB System VM(s)                April 27, 2022 10:53:27 AM CEST     April 27, 2022 10:53:28 AM CEST     Success
Attach disks to DB System                April 27, 2022 10:53:28 AM CEST     April 27, 2022 10:53:29 AM CEST     Success
Add DB System to Clusterware             April 27, 2022 10:53:29 AM CEST     April 27, 2022 10:53:29 AM CEST     Success
Start DB System                          April 27, 2022 10:53:29 AM CEST     April 27, 2022 10:53:30 AM CEST     Success
Wait DB System VM first boot             April 27, 2022 10:53:30 AM CEST     April 27, 2022 10:54:42 AM CEST     Success
Setup Mutual TLS (mTLS)                  April 27, 2022 10:54:42 AM CEST     April 27, 2022 10:55:01 AM CEST     Success
Export clones repository                 April 27, 2022 10:55:01 AM CEST     April 27, 2022 10:55:01 AM CEST     Success
Setup ASM client cluster config          April 27, 2022 10:55:01 AM CEST     April 27, 2022 10:55:04 AM CEST     Success
Install DB System                        April 27, 2022 10:55:04 AM CEST     April 27, 2022 11:22:46 AM CEST     Success
Cleanup temporary SSH key pair           April 27, 2022 11:22:46 AM CEST     April 27, 2022 11:22:47 AM CEST     Success
Set DB System as configured              April 27, 2022 11:22:47 AM CEST     April 27, 2022 11:22:47 AM CEST     Success

[[email protected] ~]#

We can describe the newly created DB system

[[email protected] mdi]# odacli describe-dbsystem -n mdi-dbi-ip42
DB System details
--------------------------------------------------------------------------------
                       ID:  731cdd55-7094-44fa-87c4-6941a422931b
                     Name:  mdi-dbi-ip42
                    Image:  19.14.0.0.0
                    Shape:  odb2
             Cluster name:  dbs0fab9fed3
             Grid version:  21.5.0.0.220118
                   Memory:  16.00 GB
             NUMA enabled:  YES
                   Status:  CONFIGURED
                  Created:  2022-04-27 10:52:36 CEST
                  Updated:  2022-04-27 11:22:47 CEST

 CPU Pool
--------------------------
                     Name:  cpuninja
          Number of cores:  4

                     Host:  dbi-oda-x8
        Effective CPU set:  21-24,31-34
              Online CPUs:  21, 22, 23, 24, 31, 32, 33, 34
             Offline CPUs:  NONE

 VM Storage
--------------------------
               Disk group:  DATA
              Volume name:  S0FAB9FED3
            Volume device:  /dev/asm/s0fab9fed3-390
                     Size:  200.00 GB
              Mount Point:  /u05/app/sharedrepo/mdi-dbi-ip42

 VMs
--------------------------
                     Host:  dbi-oda-x8
                  VM Name:  x0fab9fed3
             VM Host Name:  mdidbi42.dbi-lab.ch
            VM image path:  /u05/app/sharedrepo/mdi-dbi-ip42/.ACFS/snaps/vm_x0fab9fed3/x0fab9fed3
             Target State:  ONLINE
            Current State:  ONLINE

 VNetworks
--------------------------
                     Host:  dbi-oda-x8
                  VM Name:  x0fab9fed3
                   Public:  10.36.0.242     / 255.255.255.0   / ens3 / BRIDGE(pubnet)
                      ASM:  192.168.17.10   / 255.255.255.128 / ens4 / BRIDGE(privasm) VLAN(priv0.100)

 Extra VNetworks
--------------------------
                     Host:  dbi-oda-x8
                  VM Name:  x0fab9fed3
                   pubnet:  10.36.0.242     / 255.255.255.0   / PUBLIC

 Databases
--------------------------
                     Name:  MDIDB1
              Resource ID:  f964b35e-7209-4d2d-9fca-5387c61c2148
              Unique name:  MDIDB1_42
              Database ID:  3671723533
              Domain name:  dbi-lab.ch
               DB Home ID:  51c91da9-af48-42b4-86b5-01e1cafe7711
                    Shape:  odb2
                  Version:  21.5.0.0.220118
                  Edition:  EE
                     Type:  SI
                     Role:  PRIMARY
                    Class:  OLTP
                  Storage:  ASM
               Redundancy:
         Target node name:
            Character set:  AL32UTF8
        NLS character set:
                 Language:  AMERICAN
                Territory:  AMERICA
          Console enabled:  false
             SEHA enabled:  false
      Associated networks:  Public-network
         Backup config ID:
       Level 0 Backup Day:  sunday
       Autobackup enabled:  true
              TDE enabled:  false
                 CDB type:  true
                 PDB name:  PDB1
           PDB admin user:  pdb1admin

[[email protected] mdi]#

And that’s all. While connected to the DB system server, we can manage the database like any other one.

[[email protected] trace]# ps -ef | grep pmon
root      6218 23103  0 11:36 pts/0    00:00:00 grep --color=auto pmon
oracle   90406     1  0 11:21 ?        00:00:00 ora_pmon_MDIDB1
[[email protected] trace]#

We can connect to the database and validate that the version is 21c

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 21.0.0.0.0 - Production on Wed Apr 27 11:36:30 2022
Version 21.5.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.


Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.5.0.0.0

SQL>

The database component version

SQL>  select comp_name,version,status from dba_registry;

COMP_NAME                           VERSION    STATU
----------------------------------- ---------- -----
Oracle Database Catalog Views       21.0.0.0.0 VALID
Oracle Database Packages and Types  21.0.0.0.0 VALID
Oracle Real Application Clusters    21.0.0.0.0 VALID
JServer JAVA Virtual Machine        21.0.0.0.0 VALID
Oracle XDK                          21.0.0.0.0 VALID
Oracle Database Java Packages       21.0.0.0.0 VALID
OLAP Analytic Workspace             21.0.0.0.0 VALID
Oracle XML Database                 21.0.0.0.0 VALID
Oracle Workspace Manager            21.0.0.0.0 VALID
Oracle Text                         21.0.0.0.0 VALID
Oracle Multimedia                   21.0.0.0.0 VALID
Oracle OLAP API                     21.0.0.0.0 VALID
Spatial                             21.0.0.0.0 VALID
Oracle Locator                      21.0.0.0.0 VALID
Oracle Label Security               21.0.0.0.0 VALID
Oracle Database Vault               21.0.0.0.0 VALID

16 rows selected.

The RU version

SQL> select description from dba_registry_sqlpatch;

DESCRIPTION
--------------------------------------------------------------------------------
Database Release Update : 21.5.0.0.220118 (33516412)

SQL>

Conclusion

We have seen that even if my ODA is running with a 19.x version, we can deploy a 21c database

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Mouhamadou Diaw
Mouhamadou Diaw

Senior Consultant