By Mouhamadou Diaw
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@dbi-oda-x8 ~] # 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 [root@dbi-oda-x8 ~] # |
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
[root@dbi-oda-x8 ~] # 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 [root@dbi-oda-x8 ~] # |
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
1
2
3
4
5
6
7
8
9
10
|
[root@dbi-oda-x8 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 [root@dbi-oda-x8 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 [root@dbi-oda-x8 mdi] # |
And then let’s update the repository with the files
For the GI stack
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@dbi-oda-x8 ~] # /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" } [root@dbi-oda-x8 ~] # |
Be sure that the job successfully finished
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@dbi-oda-x8 ~] # 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 [root@dbi-oda-x8 ~] # |
For the DB
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@dbi-oda-x8 ~] # /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" } [root@dbi-oda-x8 ~] # |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@dbi-oda-x8 ~] # 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 [root@dbi-oda-x8 ~] # |
And if we then verify available images, we should see the 21c images now available
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@dbi-oda-x8 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 [root@dbi-oda-x8 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
[root@dbi-oda-x8 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 } } [root@dbi-oda-x8 mdi] # |
To create the DB system following command is used
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@dbi-oda-x8 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 ---------------------------------------- ----------------------------------- ----------------------------------- ---------- [root@dbi-oda-x8 mdi] # |
A few minutes after, we can validate that the creation was successful.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
[root@dbi-oda-x8 ~] # 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 [root@dbi-oda-x8 ~] # |
We can describe the newly created DB system
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
[root@dbi-oda-x8 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 [root@dbi-oda-x8 mdi] # |
And that’s all. While connected to the DB system server, we can manage the database like any other one.
1
2
3
4
|
[root@mdidbi42 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 [root@mdidbi42 trace] # |
We can connect to the database and validate that the version is 21c
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[oracle@mdidbi42 ~]$ 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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
1
2
3
4
5
6
7
|
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