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.

Click here to read more…

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.

Click here to read more…

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
[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
[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.
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.
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.

Click here to read more…

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.

Click here to read more…


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.

Click here to read more…

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 for your diskgroups:

SQL> SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup;

NAME                           COMPATIBILITY                                                DATABASE_COMPATIBILITY
------------------------------ ------------------------------------------------------------ ------------------------------------------------------------


Diskgroup altered.


Diskgroup altered.


Click here to read more…

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:

Click here to read more…


WOW, what a year for 2023. The first thing to say for 2023 is Thank You. First, thanks to my family for all the support.

I need to say Thank You to Jennifer and all of the Oracle ACE Program. Begin of 2023 I became Oracle ACE Director, and it was an amazing journey to reach it. So, Jennifer and the Oracle ACE Program, Thank You for letting me reach this level. But was not alone, you (the reader) who access my blog and social media helped a lot. It helped me access my posts and pushed me harder to improve my writing skills in every post (like the last one for DG PDB and the new command). Last but not least here, Thank You so much Rodrigo Jorge and Tim Chien for the indication to be ACE Director thank you.

More or less over the same area, this year I could back to Oracle Cloud World as a speaker (after 7 years). It is just THE biggest event for Oracle. So, Thank You Mike Dietrich and Rodrigo Jorge for the invite. I could talk and share my experience and be on stage with you too. As I heard, the session was classified in the top 12 for the whole OCW. Thank you too Tim Chien for the invite to speak as well, was amazing to share the stage with you too.

And talking about sessions I need to say Thank You to POUG, DOAG, and UKOUG for accepting my session to speak at your events. Meeting old (and making new) friends is simply amazing. Hope to see you soon during other sessions.

And for my work, was a stunning year too. Big project delivery flawless (core banking migration), and several others during the year. Thank You to my coworkers, and friends there.

So, for 2024 I simply wish that I could do and deliver the same that I made during 2023. 2023 was simply amazing, hope the same for 2024.  And I wish you the same for you too.

21c, DG PDB, New Steps

When the DGPDB was released for 21c (at version 21.7) I wrote a blog post about how to use the feature (you can read it here). This was in August of 2022 and since that time, we got small changes and corrections, but with the update 21.12 (patch 35740258) we got new commands like “EDIT CONFIGURATION PREPARE DGPDB”.

Not just that, but Ludovico Caldara (Data Guard PM) recently wrote one blog post about new commands for Data Guard preparation that can be used with Broker. Is an evolution of the commands I covered in one previous blog post.

So, in this post, I will cover the new commands for DG PDB and the changes/improvements that appeared in the last version. It is a long post, but everything is covered here. No gaps or information are missing, all the steps, logs, and outputs are described and documented.

Click here to read more…


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.

Click here to read more…