Recently I shared several posts about the process to upgrade the GI from 19c to 23ai at ExaCC. My last post summarizes a lot of this, please read it here. But as you know, to use the 23ai you need to be running with OEL 8, and for ExaCC, the upgrade is quite simple. The goal is to reach this, “no updates” and “System up to date”:
Tag Archives: ExaCC
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-]$
Upgrading to GI 23ai at ExaCC using CLI
As you know, the 23ai is already available in several environments, mainly in Oracle Cloud, and one of these is the ExaCC. I already covered how to do the upgrade to 23ai for Grid Infrastructure (GI) using the Web interface, and Christian covered the upgrade of the OCI CLI. But here I will upgrade using the ExaCC CLI (dbaascli).
Again, first things first. Requirements
As discussed in the previous post, the first requirement is that your VM/domU is running the 23.1x version because it runs over the OEL 8. The second one is that the only available versions that are allowed to be installed in the cluster are the 19c and 23ai. The last one is that the attribute “compatible.rdbms” needs to be at least 19.0.0.0 for your diskgroups:
SQL> SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup; NAME COMPATIBILITY DATABASE_COMPATIBILITY ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ DATAC5 19.0.0.0.0 11.2.0.4.0 RECOC5 19.0.0.0.0 11.2.0.4.0 SQL> SQL> ALTER DISKGROUP DATAC5 SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0'; Diskgroup altered. SQL> ALTER DISKGROUP RECOC5 SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0'; Diskgroup altered. SQL>
Upgrading to GI 23ai at ExaCC
The 23ai was released last month and was only available at Oracle Cloud deployments and a few places for free edition, nothing besides that. Last year it was also released (focused on the Devs) as a formerly 23c free edition. Fortunately, it was released to be used at ExaCC. So, now we can upgrade Grid Infrastructure (GI) and install the database to play with it.
In all previous scenarios, we had some constraints. For Dev’s we didn’t have RAC, DG, and GI features at all. And for OCI, we didn’t have access to manually create databases or deploy GI buy ourselves. For ExaCC we are free to deploy our GI, install RAC databases, and so on. Here I will show how to upgrade your GI from 19c to 23ai. We will reach this:
Exadata, REQUIRED_MIRROR_FREE_MB and GRID 19.19
I already wrote about the issue introduced with GI 19.16 in my previous post (click here to read) where (only at Exadata) more space was allocated/reserved by Oracle to guarantee mirror/rebalance. Fortunately, after some months of discussion, they rollbacked the change and released one patch that can be applied at GI 19.19.
The patch was released on 12 of June and it is the number 35285795 and can be only applied at GI 19.19. But to have your space back again there is one important rule: your mirroring needs to be HIGH. This is necessary because the “Smart Rebalance” that allows your disk to be dropped without losing the mirroring. I will write another post just to talk about it.
Exadata, REQUIRED_MIRROR_FREE_MB and GRID 19.16
Starting with Grid Infrastructure/ASM 19.16 Oracle changed how the REQUIRED_MIRROR_FREE_MB is calculated and the impact is more than expected. Check below examples of the changes, and how this will impact you. This is valid for all GI/ASM starting with 19.16 and only for Exadata/ExaCC.
Please read my new post about this issue.
REQUIRED_MIRROR_FREE_MB
The REQUIRED_MIRROR_FREE_MB (according to 19c documentation) is:
“amount of space that must be available in a disk group to restore full redundancy after the worst failure that can be tolerated by the disk group without adding additional storage. This requirement ensures that there are sufficient failure groups to restore redundancy”.
And (at Exadata environment until 19.16) is calculated based on the disk redundancy that you have. If you choose the HIGH, the raw size of two disks (the largest in your diskgroup) is reserved; at NORMAL, is the raw size of one disk. At Exadata, it differs from other environments because does not consider the whole failgroup failure and the way that extends are written/spread (more info below and in another post).
But for now, understand that the required size is what you need to reserve (as raw space) at your diskgroup to ensure protection in case of disk failure. And it is directly related to the USABLE_FILE_MB because the space that you can allocate at your diskgroup (USABLE_FILE_MB) comes from (FREE_MB- REQUIRED_MIRROR_FREE_MB)/redundancy factor (3 for HIGH, 2 for NORMAL). So, when you increase the REQUIRED_MIRROR_FREE_MB you reduce the USABLE_FILE_MB. I will explain more later.