Behavior Change

OCW 19.28 contains a tiny behavior change with DB_UNIQUE_NAME

A colleague brought this to my attention the other week. And since the blog serves also as my partial memory, I wanted to put this out quickly. It is not a big deal, and most of you will never see this or be affected by it. Still, some may need to be aware that OCW 19.28 contains a tiny behavior change with DB_UNIQUE_NAME.

What has happened?

In the Oracle Clusterware (OCW) Release Update (RU) 19.28 and onward you will find a fix for Bug 34966087 – AH: CRS: FAIL START ACTION IF DB

Continue reading...

A kill-switch terminates blocking sessions during patching

You will find a good number of datapatch posts on my blog. And with Oracle AI Database 26ai from RU 23.26.0.0.0 onward (the October 2025 RU), we introduce a new functionality when you run datapatch: A kill-switch terminates blocking sessions during patching.

A kill-switch terminates blocking sessions during patching

Photo by Yuko Tanaka on Unsplash

What is changing?

From Oracle AI Database 26ai onwards by default the invocation of datapatch will terminate any session currently holding a requested KGL X lock (Kernel Generic Library cache), an exclusive lock on an SQL or an PL/SQL procedure.

In reality this means:

  1. You invoke
Continue reading...

ORA-43907: Potential behavior change with Oracle RU 19.28.0

As I said multiple times, we have the best and most knowledgeable customers out there. Julian Frey is one of them, and there is a good and legit reason why he is an ACE Director since (I think) two years. Julian alerted me the other day about an ORA-43907: Potential behavior change with Oracle RU 19.28.0. And I guess, some of you would like to learn about this, too.

What you may see?

Oracle Database 19c Release Update 19.28 contains a fix for Bug 36386077 – ORA-43907 NEEDS TO BE RAISED FOR CONVERSION

Continue reading...

RMAN speaks a bit more to you since 19.25

Not a big deal – but Samo has brought this to my attention. And the RMAN development and PM team was happy to help and shed some light here. But one after another – what actually is the topic here? Well, RMAN speaks a bit more to you since 19.25 – which isn’t bad but may need some additional explanation.

What has been changed or added?

With Oracle Database RU 19.25 (and of course, all following RUs) the Oracle Recovery Manager (RMAN) has gotten a tiny little change for the better. RMAN now includes …

Continue reading...

DB_LOST_WRITE_PROTECT default change in RU 19.26.0

ORAdiff is an amazing tool I use at least once a day. And if you did the same before applying 19.26.0 or moving from 19.25.0 to 19.27.0, you may have spotted this change as well. There is a DB_LOST_WRITE_PROTECT default change in RU 19.26.0.

DB_LOST_WRITE_PROTECT default change in RU 19.26.0

Photo by Andrew Neel on Unsplash

What is DB_LOST_WRITE_PROTECT?

This is quite a useful parameter, especially for Data Guard environments. The parameter enables or disabled the data block write-protection. It is meant to prevent such situations: A data block lost write occurs when an I/O subsystem acknowledges the completion of the block write, while in …

Continue reading...

Small Pages not allowed for SGA from 19.27 and newer on Exadata

Having good friends in Oracle is key. And honestly one of the best things in my role. Philippe Fierens, product manager for Oracle’s Fleet Patching and Provisioning mailed me yesterday night sharing that there is an interesting change coming with Database Release Update 19.27: Small Pages not allowed for SGA from 19.27 and newer on Exadata.

What does this mean?

As you can read in MOS Note: 3081878.1 – Starting DBRU 19.27 Small Pages Are Not Allowed for RDBMS SGA In Exadata, from Release Update 19.27 onward (this is the April 2025 …

Continue reading...

How do find new features in Oracle Release Updates (RUs)?

I know, not everybody is a huge fan of new features in RUs. But how do find new features in Oracle Release Updates (RUs)? Are the listed anywhere? They are, no worries. At least since Oracle Database 19c.

New Features in RUs?

I can already sense that some of you will be tempted to comment and tell me that you don’t like any new features in Oracle Database Release Updates, in short: RUs. But on the other hand there is also something good with it. Rather than waiting for the next full database release …

Continue reading...

Different handling of UNLIMITED QUOTA when you revoke the DBA role between 11.2.0.4 and future releases

“Oh heck” you may think. “Why is he blogging about 11.2.0.4?”. But as a matter of fact, I work right now with a customer in Germany where we try to lift a fairly large database into Autonomous Database Serverless (ADB-S). And as I love to learn new things every day but (as most of us) have just limited brain capacity, I prefer to put things on the blog. Only challenge as Klaus from our team demonstrated to me yesterday: I need to remember that I wrote something about it. Anyhow, since we still have a number of customers on Oracle …

Continue reading...

Reuse Object IDs in Oracle Database 19c and 23ai

I love to learn something new every day. And thanks to my Dutch friend, Robert Pastijn, I learned about a limitation of how many objects you can create in an Oracle database. Nothing to worry about, the limit is very high at a little bit over 4.2 billion. But in order to prevent hitting it, we introduced a mechanism to Reuse Object IDs in Oracle Database 19c and 23ai.

Reuse Object IDs in Oracle Database 19c and 23ai

Photo by Rosie Sun on Unsplash

What is the mechanism?

First of all, this is ON and enabled in Oracle Database 23ai by default. But in case you need this …

Continue reading...

Silent ORA-918 behavior change in RU 19.17.0 and newer

I think we have the best customers out there. It is incredible what some people find. We would be lost without you, and this blog would contain only a fraction of the information we can share with you. In this case let me explain the silent ORA-918 behavior change in RU 19.17.0 and newer. And all credits go to Peter Lehmann from Deutsche Telekom who found this issue only a few days after we released 19.17.0.

What is happening?

Peter shared an awesome and simple test case with me. A query with ambiguously defined …

Continue reading...

UNDO_RETENTION not inherited to PDBs anymore since 19.9.0

Behavior changes introduced via a bug fix may not be something you like a lot. And thanks to Sreedhar from one of our most important customers I learned on the weekend: UNDO_RETENTION not inherited to PDBs anymore since 19.9.0.

UNDO_RETENTION not inherited to PDBs anymore since 19.9.0

Photo by Ben Wicks on Unsplash

What is happening before 19.9.0?

Until Oracle 19.8.0 you could change the UNDO_RETENTION in the CDB$ROOT, and it applied to all PDBs automatically. You may or may not have cared. But there are cases when you’d like to change an undo related parameter in the CDB$ROOT without its propagation into all PDBs.

This behavior …

Continue reading...

New parameters and features in Oracle Database 19.11.0

As usual, as soon as I apply the newest RU, I do also a quick check for New parameters and defaults in Oracle Database 19.11.0.

New parameters and features in Oracle Database 19.11.0

Photo by Roma Kaiuk on Unsplash

New Parameters in Oracle 19.11.0

Based on customer feedback, there is one really big improvement since this RU release. Not only new features but also parameter changes get listed. You will find them in the 19c New Features Guide.

In this RU you will find only 1 new parameter:

  • drcp_dedicated_opt
    The description says “Turn on/off dedicated optimization for DRCP” – and the default is “YES
Continue reading...

ORA-12638 on Windows only from Oracle 19.10.0 onwards

You like unexpected changes and surprises, don’t you? And especially those which aren’t in the patch notes or the docs. I blogged about such changes a few weeks ago. And thanks to the people reading this blog, I learned now about another change with Oracle 19.10.0 on the Windows platform. You may receive now an ORA-12638 on Windows only from Oracle 19.10.0 onwards.

What has been changed?

So at first, thanks to Ernst and Marcus for bringing this to my attention. This is an issue which happens on MS Windows only.

When you …

Continue reading...

Oracle Database 19.10.0 and Blockchain Tables and COMPATIBLE

Many of you recognized that we delivered a new feature with Oracle Database 19.10.0, the January 2021 Release Upgrade. So I’d like to put a few interesting things together from the upgrade and migration perspective regarding Oracle Database 19.10.0 and Blockchain Tables and COMPATIBLE.

What are Blockchain Tables?

At first, I don’t want to repeat what other people have blogged and written about already. You may just go through the blog posts of Connor McDonald and Tim Hall and others to learn more about this cool feature.

Continue reading...

New Parameters in Oracle 19.10.0 – and a default change

Oracle Database 19.10.0, the January 2021 Release Update (RU), does seem to change some well known rules. Especially when you have a closer look to a backported feature, Blockchain Tables. But I will write a bit more about this change next week. For now, let’s have a closer look at New Parameters in Oracle 19.10.0 – and a default change.

New Parameters in Oracle 19.10.0

This is the list of new parameters in the January 2021 Release Update 19.10.0:

Default
blockchain_table_max_no_drop maximum idle retention minutes for blockchain table NONE
container_data
Continue reading...

ORA-1555 won’t get reported into alert.log anymore since 19.4.0

Many thanks to a German customer for showing me this tiny behavior change with Oracle Database RU 19.4.0. From this RU on the well known ORA-1555 won’t get reported into alert.log anymore since 19.4.0. But if you still like to see the “snapshot too old” error, then you can use a workaround.

Why has this been changed?

Actually this is something I don’t understand completely. It may be just a side effect. Unpublished fix bug 29424999 – DUMP MINIMAL DIAGNOSTICS BY DEFAULT IN CASE OF ORA-01555 IN ADW/ATP ENV has been

Continue reading...

Do you love unexpected surprises? SYS_AUTO_STS in Oracle 19.7.0

Last week I recorded seminars – and I wanted to garnish the Performance part with demo recordings from our Hands-On Lab. I used the Hands-On Lab instructions we published. And while I edited a recording, I realized that there was something new I haven’t seen before. Do you love unexpected surprises? SYS_AUTO_STS in Oracle 19.7.0? Of course you do …!

Do you love unexpected surprises? SYS_AUTO_STS in Oracle 19.7.0

Photo by Pete Wright on Unsplash

What happened?

In my environment I run load against my database, I collect statements from AWR and from Cursor Cache into two separate SQL Tuning Sets (STS). And then I upgrade my …

Continue reading...

DBMS_JOB one-off patch needed for Oracle 19.3.0 – 19.7.0

A while ago I blogged already about this behavior change for DBMS_JOB in Oracle Database 19c. Many of you are aware of this. But today I learned something new about it. Kudos to Alexey Makhmutov for bringing this to my attention. There is a very important fix you will need on top in 19c to avoid performance issues. If you rely on jobs with the old job interface, take note: DBMS_JOB one-off patch needed for Oracle 19.3.0 – 19.7.0

DBMS_JOB one-off patch needed for Oracle 19.3.0 - 19.7.0

Photo by Christopher Burns on Unsplash

What is the problem?

As you can read from there is a internal …

Continue reading...

Behavior Change in Oracle 18c/19c: No symbolic links for Data Pump directories

Most of you may have recognized the desupport of UTL_FILE_DIR with Oracle Database 18c. Reason is mostly that UTL_FILE_DIR opens a lot of possibilities to do insecure things. But this has another effect which may not be obvious to you. There’s a behavior change in Oracle 18c/19c: No symbolic links for Data Pump directories. Read further to learn more about it.

UTL_FILE_DIR Desupport

In Oracle Database 18c we announced the desupport of UTL_FILE_DIR initialization parameter. But as you can read as well in the Database Upgrade Guide, there’s this remark:

UTL_FILE Package Symbolic Link in Directory Paths Not Supported

Continue reading...

DBMS_JOB – Behavior Change in Oracle 19c during upgrade

DBMS_JOB - Behavior Change in Oracle 19c during upgrade

Actually I missed to blog about this change but luckily a colleague did ask a question the other week about the migration of jobs when you upgrade to Oracle 19c. Let me shed some light on DBMS_JOB – Behavior Change in Oracle 19c.

DBMS_JOB vs DBMS_SCHEDULER

Back in the 10g days, we introduced a new interface to run and monitor jobs in the database: The scheduler. The scheduler with DBMS_SCHEDULER is way more powerful than the old job interface. And we use it internally a lot as well. But as things appear in the real world. the introduction …

Continue reading...

Oracle Database 18c – Some important changes

I know that Oracle Database 18c is available in the Oracle Cloud and on Exadata engineered systems only right now. But actually I’ve had conversations with some customers who downloaded Oracle 18c on-prem software for Exadata and installed it on their systems. Therefore it may be useful to talk about Oracle Database 18c – Some important changes.

Oracle Database 18c – Some important changes

I will highlight some important changes but of course won’t cover all of them here.

Installation

You may recognize the first change after downloading the image: The installation and configuration of Oracle Database software is simplified …

Continue reading...

Automatic Maintenance Jobs are enabled after upgrade

This is a strange behavior – but it seems as automatic maintenance jobs are enabled after upgrade. A customer (thanks Naveen!!) sent me an email the other week asking if there’s a flag in DBUA to prevent this enabling as on some of their databases the automatic maintenance jobs are disabled on purpose.

Automatic Maintenance Jobs are enabled after upgrade

It sounded kind of strange to me – and my first test was to use the catctl.pl instead of the DBUA.

First of all I did check the status of the Automatic Maintenance Jobs in my 11.2.0.4 database:

SELECT client_name, 
Continue reading...

DBCA 12.2 does not update /etc/oratab in GI / RAC

DBCA 12.2 does not update /etc/oratab in GI / RACInteresting things happen. And I learned (credits to Arun Gupta and others) that there is a change in Oracle Database 12.2 environments I wasn’t aware: The DBCA 12.2 does not update /etc/oratab in GI / RAC environments. Let me give you some extra information and hints on this topic as it may cause some strange situations.

DBCA 12.2 does not update /etc/oratab in GI / RAC

Arun Gupta commented on the blog:

Another case in point. DBCA fails to update the /etc/oratab file in 12.2 when a database is created. There is no documentation of this behavior. So, I opened

Continue reading...

Behavior Change: READ privilege for user SYSTEM in Oracle 12.2

Behavior Change: READ privilege for user SYSTEM in Oracle 12.2All credits here go to Marcel Pils from Logicalis, a German Oracle partner. Thanks Marcel! In Oracle 12.2 there’s an interesting behavior change: READ privilege for user SYSTEM in Oracle 12.2.

Some Background Information

In Oracle 12.1 the READ privilege has been introduced. Please find more information in the Oracle 12.1 Security Guide: New READ Object Privilege and READ ANY TABLE System Privilege for SELECT Operations. The idea behind the READ object and the READ ANY TABLE system privileges is that you can enable users query database tables, views, materialized views, and synonyms. But they can’t lock rows …

Continue reading...

ORA-44787 – Don’t mess with the Default Oracle Service

ORA-44787 - Don't mess with the Default Oracle ServiceAt the moment I work with one of our reference customers, Swiss Mobiliar Insurance, on their Multitenant upgrade to Oracle Database 12.2.0.1. And we encountered an “interesting” issue. After upgrade we received an ORA-44787 making it impossible to switch between containers with “alter session set container=pdb1;” commands. Lesson learned now: If you don’t want ORA-44787 – Don’t mess with the Default Oracle Service.

What has happened?

Very simple case. We approach a database upgrade with a Multitenant deployment of over 90 PDBs. Source database version is Oracle Database 12.1.0.2.BP170117, destination version is Oracle Database 12.2.0.1.RU170718. …

Continue reading...