My two last posts (about the GI update) used the GOLD IMAGE (link post#1, and post#2), where we basically deploy a patched image of the desired version. But this is different when we use the Release Update patch. Below I will describe how to do this, covering all the steps, using the silent install (easily adapted for automation), and with Zero-Downtime Oracle Grid Infrastructure Patching – ZDOGIP (that can easily bypassed if you want).
Category Archives: 23ai
23ai, Zero-Downtime Oracle Grid Infrastructure Patching – GOLD IMAGE with Silent Install
My previous post was about the Zero-Downtime Oracle Grid Infrastructure Patching (ZDOGIP) for 23ai using the gold image. In that case, I used the GUI interface to do the installation and patch, but as you know, this is not good for the automation process. So, here in this post, I will describe how to do the same operation using the silent mode for the installation. I will show what parameters you need to set in the response file and all the other steps.
Important details
The focus of this post is to show how to do the same process as my previous post using the silent mode. I will not “prove” (like I made in the last one) that databases continue to receive inserts or details about the AFD/ACFS drivers not being updated. I really recommend that you read my previous post to understand all of these details. Here I will show how to do in silent mode what I made in the previous post.
23ai, Zero-Downtime Oracle Grid Infrastructure Patching – GOLD IMAGE
As you know, the 23ai was released for Cloud and Engineered Systems (Exadata and ExaCC) first, I already explored these in previous posts as well. And since the patches already started to be released, now with the patch for 23.6, we can re-test the feature Zero-Downtime Oracle Grid Infrastructure Patching (ZDOGIP). The steps here are not specific to the Exadata version and can be used for any 23ai version.
I already demonstrated how to use it for 21c (using graphical, and silent mode) and the same can be done for 19c as well.
But now, I will show how to do for 23ai, and this post includes:
- Install the Grid Infrastructure 23.6.0.24.10, using the Gold Image
- Upgrade the GI from 23.5.0.24.07 to 23.6.0.24.10 using the Zero-Downtime Oracle Grid Infrastructure Patching
This will be done while the database is running to show that we can patch the GI without downtime. I will show how to do this:
Manually upgrading Oracle GI from 19c to 23ai
With the official release of Oracle 23ai to Exadata on-prem, it is now possible to manually upgrade Grid Infrastructure (GI) from 19c to 23ai. Nowadays the process is simpler than it was in the past, and I already published several examples of how to do this:
- Upgrading to GI 23ai at ExaCC using CLI
- Upgrading to GI 23ai at ExaCC
- 21c, Zero-Downtime Oracle Grid Infrastructure Patching – Silent Mode
- 21c, Zero-Downtime Oracle Grid Infrastructure Patching
- 21c Grid Infrastructure Upgrade
- 19c Grid Infrastructure Upgrade
- Reaching Exadata 18c (this includes upgrades of GI from 12.1 to 12.2, and also from 12.2 to 18c)
So, several examples that you can use as a guide to reach from GI 12.1 to 19c. In this post, I will upgrade from GI 19.23 (19.23.0.0.240416) to GI 23.5 (23.5.0.24.07).
23ai, orapwd and the format value
Recently I was playing with 23ai at ExaCC and got a strange error reporting format mismatch for the password file for my standby. Digging over it I saw that the orapwd has a different default value than dbca.
First, check below my database created with dbca (the same process that I described in the previous post):
[oracle@exxc05db01 ~]$ sqlplus / as sysdba SQL*Plus: Release 23.0.0.0.0 - Production on Tue Jul 23 16:32:29 2024 Version 23.4.0.24.05 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 23ai EE Extreme Perf Release 23.0.0.0.0 - Production Version 23.4.0.24.05 SQL> col file_name format a80 SQL> set linesize 255 SQL> select * from V$PASSWORDFILE_INFO; FILE_NAME FORMAT IS_AS IS_EX CON_ID -------------------------------------------------------------------------------- ------ ----- ----- ---------- +DATAC5/ORCL23A/PASSWORD/pwdorcl23a.1071.1172152403 12 TRUE FALSE 0 SQL> exit Disconnected from Oracle Database 23ai EE Extreme Perf Release 23.0.0.0.0 - Production Version 23.4.0.24.05 [oracle@exxc05db01 ~]$
23ai, DBCA and TDE
With the 23ai it is possible to create a database protected with TDE from the beginning. In a previous post, for OCI Cloud and ExaCC, was already described what are the options and what can be used. Here, let’s discuss other options, and troubleshoot some other details.
OCI Cloud and ExaCC
To contextualize. The OCI, by default, requires that databases are encrypted. When calling the dbca for 23ai, it detects that it is executing in the cloud, and forces it to use TDE. And since ExaCC is considered cloud, it is needed there as well. The previous post already described this in detail.
23ai + DBCA + TDE
When running the 23ai on-prem more options are available. The examples below were made using the Free Edition of 23ai, but when the full release of 23ai will be available, the options will be the same.
Exadata Exascale, The Game-Changer
Yes, it is a game-changer. It is for DBAs. It is for DevOps. It is for Enterprises too. And it is not because of new internal services, new ways to access data, or the scalability. But because it changes and improves a lot the way that databases can be refreshed, the way that databases are cloned, how to do CI/CD, and how to deliver databases.
Forget all the slowness and painful process when it is needed to clone production databases over lower environments, or when it is required to clone the dev database to another one. Let’s discover below what can be done with Exascale.
Exascale, the basic information
Exascale is built on top of Exadata software. So, all the software features from Exadata are there, the smartscan, the bloom filter, the resource manager, the AI Vector, the JSON, the RDMA, and the RoCE. Even details like the internal services, the MS, CS, and RS continue the same.
On top of that, comes the Exascale software. Several additional services are created to control the communication with the database and deliver the new features. Exascale can be used, deployed, and scaled the way that is needed. It can start, for example, with 300GB until hundreds of terabytes. So, scalability is not an issue.
At Exascale, the usable space is called Vault and the database clusters can share this Vault (imagine that it is the same as ASM diskgroup) to put datafiles redo’s and archivelogs. Going beyond, the storage can be shared (as block devices) by iSCSI to allow plug the Exascale into your network and facilitate the database migrations. When it is OCI, virtual machines can be booted using the Vault as a bootable device.
The communication with databases does not change too much, the Oracle database kernel talks directly with Exascale Vault. So, the first big change, ASM does not exist for 23ai and newer versions. All the redundant processes consuming CPU and memory (by ASM) are gone (imagine all the clusters of ExaCC/ExaCS/Exadata, all of them with their own ASM process). With Exascale they don’t exist anymore because, now, the databases talk directly with Exascale and the Vault. For the 19c database, the ASM is still in place. But at the same Exadata Exascale appliance can have clusters running in 23ai, and others in 19c.
23ai, DBCA, Cloud, and TDE
The 23ai is already available at Cloud and ExaCC as well. It is On-Prem, but it is Cloud too, so, we can use it. Recently I needed to create some databases manually (not using the ExaCc dbaas* utilities) and encountered some interesting details when using dbca. Mainly because at Cloud we are forced to have encrypted databases. You can skip directly to the end to see how to solve and create databases with TDE enabled since the beginning when using dbca, or read the rest of the post to check the root cause and the troubleshooting.
19c and traditional dbca
Just to remember, if you want to create a database using the dbca, you have a lot of options but nothing related to TDE:
[oracle@o8p1-19c ~]$ which dbca /u01/app/oracle/product/19.18.0.0/dbhome_2/bin/dbca [oracle@o8p1-19c ~]$ [oracle@o8p1-19c ~]$ dbca -silent -createDatabase -help |grep -i TDE [oracle@o8p1-19c ~]$
23ai and traditional dbca usage
So, when I tried to create the database with dbca I tried to use it with the same parameters that I used in all my previous years. But it failed telling that “ORA-28361: Master key not yet set”:
[oracle@exxc05db01-]$ which dbca /u02/app/oracle/product/23.0.0.0/dbhome_1/bin/dbca [oracle@exxc05db01-]$ [oracle@exxc05db01-]$ dbca -silent -createDatabase -templateName TEMPLATE_23ai.dbt -gdbName DBN234I -adminManaged -sid DBN234I -sysPassword oracle23ai -systemPassword oracle23ai -createAsContainerDatabase TRUE -useLocalUndoForPDBs TRUE -characterSet AL32UTF8 -emConfiguration NONE -sampleSchema false -storageType ASM -diskGroupName DATAC4 -recoveryGroupName RECOC4 -nodelist exxc05db01,exxc06db01 -databaseConfigType RAC [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. Prepare for db operation 4% complete Creating and starting Oracle instance 5% complete 6% complete 8% complete Creating database files [WARNING] ORA-28361: Master key not yet set. 9% complete [FATAL] ORA-00959: tablespace 'USERS' does not exist 12% complete 100% complete [FATAL] ORA-00959: tablespace 'USERS' does not exist 8% complete 4% complete 0% complete Look at the log file "/u02/app/oracle/cfgtoollogs/dbca/DBN234I/DBN234I.log" for further details. [oracle@exxc05db01-]$
23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST
In my previous post, I talked about why use the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST for Oracle 23ai. I spoke about how to configure them and the benefits. Here you will find additional details about these two parameters and what they change for internal views and the restore points.
23ai, new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST
Oracle database has the Oracle Flashback Technology that allows you to view old images of your data without the need to restore your database. You can use restore points, restore tables, and rows, and do a lot of things. To use it (in a simple way), you need to enable the archivelog and flashback mode for your database and Oracle will create additional logs while you change the data.
Unfortunately, it is exactly these logs that create some issues. Jonathan Lewis already described this issue, and in resume, while changing the data you need to write more because you will use UNDO + Flashback logs. In essence, you write more every time.
Until Oracle 23ai, it was not possible to change the place where you write these logs, (more or less) it will always be where you write your archivelogs (when using the fast recovery area). So, archivelogs and flashback logs are tight where they reside. Luckily this changed, and the new features of 23ai explain:
The idea is to put the flashback logs in a dedicated (and fast) disk to reduce the impact of writing them.