Datapatch

Datapatch return codes and helpful queries

The other week I was visiting a customer in Germany who had specific questions for datapatch. And luckily, Alejandro Diaz who is the Product Manager for Data Pump in our team has a history in datapatch.  He helped me with Datapatch return codes and helpful queries.

Datapatch return codes

Yes, datapatch generates various return codes you can use to verify the outcome in case you program or maintain an automation.

  • 0 for success
  • 1 for prereq failure
  • 2 for non-ignorable error during patch installation
  • 255 runtime error

I may …

Continue reading...

OJVM patching fails with ORA-1403 in 19.30 if JAVAVM is not installed

Thanks to all the people (Jeff, Daniele, Lothar and others) who alerted me about this topic. Some of you had even created their own fix already. So, this is about an issue which happens only if you have no JAVAVM installed in your database or PDB but you still apply the OJVM Bundle on to of the Oracle Database 19.30 Release Update. You may find then: OJVM patching fails with ORA-1403 in 19.30 if JAVAVM is not installed.

When does this happen?

This issue happens when you apply the OJVM bundle together with …

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

Final blog post about datapatch cleanup and purge?

Uh … this was a long journey. In September 2022 Jannes Arends contacted me showing me his growing SYSTEM tablespace with every patch cycle. And not only for the CDB$ROOT only but in every PDB. Over time, I wrote some blog posts I link at the end of this blog post. But finally, we should have a working solution without any additional risk. So, I am hoping that this will be my final blog post about datapatch cleanup and purge.

Final blog post about datapatch cleanup and purge?

Photo by Clay Banks on Unsplash

What’s the point (summary)?

With every patch run, datapatch stores the entire collection …

Continue reading...

More about cleaning up datapatch patching files

One of the reasons why I love my job: We have the smartest customers out there. Incredible. When I blogged the other day (after a longer pause) about Cleanup datapatch patching files in your database some of you commented the other day with either success messages, or tried out to rollback – or simply missed steps in the README. And since we have also smart developers at Oracle, I received some additional facts from the datapatch architect which I let him explain below.

The README file

Well, Devin commented on the previous blog post…

Continue reading...

Cleanup datapatch patching files in your database

A while back I wrote about datapatch stores rollback patching files in the database, and the amount of space it may consume over time, especially if you patch frequently. I am fully aware that it took a bit longer, but finally since a few months, there is a relief. You can now Cleanup datapatch patching files in your database, and reclaim the space as well.

A quick recap

In my blog post from January 2024 I shared queries to check the space consumed by previous patches in your database. In brief, to allow …

Continue reading...

Your chance – in-person Oracle 23c upgrade workshops in Warsaw and Munich

We have a rare offer for you. Not Santa but Daniel and I are coming to town. So, this is your chance – in-person Oracle 23c upgrade workshops in Warsaw and Munich. You are signing up for a packed day of tech. No marketing slides – just facts and features, not only Oracle Database 23c, the new upcoming long-term support release. But certainly we’ll have enough for all those you are just in the process of moving to Oracle Database 19c.

When?

We are absolutely excited to offer you a full-day in-person all-tech …

Continue reading...

datapatch stores rollback patching files in the database

I held back this blog post for a longer while. A customer (Thanks Jannes!) reported this to me many months ago but the fix was not as trivial as we thought initially, and there were several unlucky circumstances delaying it multiple times. But now it is time to tell you how datapatch stores rollback patching files in the database. And of course, how to cleanup.

Why is this important?

At first, you may ask yourself: Why should I care? And you are right. This is normally nothing you should care about. …

Continue reading...

Patching process changes with MRPs

I blogged about the Monthly Recommended Patches (MRP) several times before. And due to the feedback you and we had given, a few things got changed. The main change is from having the MRP bundled as a system patch making opatchauto a requirement. See below what Patching process changes with MRPs were implemented recently.

Before …

As you could read already in:

the introduction of the MRPs added one major flaw: They’ve been built as system patches which made …

Continue reading...

Virtual Classroom Seminar 16: Release and Patching Strategy for Oracle 19c and 23c

There are just two days left to sign up for our Virtual Classroom Seminar 16: Release and Patching Strategy for Oracle 19c and 23c. We’ll talk to you on Wednesday, May 10 at 16:00h CET.

What’s the topic?

We’ll try to cover everything for your best release and patching strategy with Oracle Database 19c of course, but also moving forward to Oracle Database 23c. Our big focus will be several aspects of patching. You’ll hear us talking not only about standard database patching but especially about patching in RAC environments.

We’ll put together a …

Continue reading...

Datapatch may be slower when Traditional and Unified Auditing are on

I wrote several times especially about Unified Auditing in the past. It is a very efficient and useful way to audit operations in the database. But you need to be a bit careful about what’s on, and what isn’t. Now we recently had a customer case where it was clearly proven that Datapatch may be slower when Traditional and Unified Auditing are on. But how can this happen?

Recapping Traditional Auditing

At first, I am neither a security not an auditing expert. But I played quite a bit with Unified Auditing over the …

Continue reading...

ORA-13516 “CATPROC not valid” during datapatch or autoupgrade to 19.18.0

I thought I could relax this week using my leftover vacation days from 2022. But this issue is triggering me since some of you mailed me already. Maybe this blog post can prevent others from being trapped by this issue: ORA-13516 “CATPROC not valid” during datapatch or autoupgrade to 19.18.0. And as a prolog, you will NOT see the below issue when you started your database in NORMAL mode for the execution of datapatch.

 

What is the symptom?

Regardless of whether you patch to Oracle Database RU 19.18.0 manually or with …

Continue reading...

Applying the MRP from December 2022 to Oracle 19c

Well, couldn’t there be a nicer pre-Christmas present than the December 2022 Monthly Recommended Patches (MRP)? You know, I’m just kidding. But since I received the first questions from customers – and before I send an email internally – I wanted to try out Applying the MRP from December 2022 to Oracle 19c.

 

Download the December MRP

Actually you need to access MOS Note: 888.1 -Primary Note for Database Proactive Patch Program since the link is not in MOS Note: 555.1 – Oracle Database 19c Important Recommended One-Off Patches even though it …

Continue reading...

Patching all my environments with the October 2022 Bundle Patches

Oh yes, it is patching time (again). And this time I somehow missed the slot since the quarterly critical patch updates got released right during Oracle Cloud World. Since I didn’t want to stretch the hotel WiFi too much – and since I wouldn’t have had enough time to install and write-up this blog post, I do it now with a week of delay. So as usual every quarter, follow me for patching all my environments with the October 2022 Bundle Patches.

As usual, an important annotation upfront: I patch in-place due to …

Continue reading...

Two recent issues you may need one-off patches for

Uh … my blog counter tells me I have 57 unanswered comments in the queue at the moment. Forgive me, but July and August so far were really very busy months with some travel activity as well. And another proof that I’m not used to travel anymore: Last week I forgot the power adapter for my Mac at home and just realized it when I pulled out my Mac to do emails. Anyhow, this is a short Monday-vacation-time-blog post about two recent issues you may need one-off patches for since you otherwise may get trapped by them as well. Both …

Continue reading...

Patching most of my environments with the July 2022 Bundle Patches

It’s brutally hot out there. It must be July. And I sit in my cool basement office and start my quarterly patching journey hoping that you can enjoy the sun and the sea somewhere. It is time to do my usual exercise, this time Patching most of my environments with the July 2022 Patch Bundles.

As usual, an important annotation upfront: I patch in-place due to space issues. But in reality, you please patch always out-of-place with a separate home. Please see this blog post about how to apply the RU directly …

Continue reading...

How to speed up datapatch – and much more information

Ok, I promised to write more about patching speed. And this blog post will be just the root post targeting datapatch speed. I will link also to blog posts I’ve written before but also share knowledge which may not be obvious at first stage. The overall topic will be How to speed up datapatch – and much more information.

.

What is datapatch

Let me start at the ground level and explain what datapatch is and why it exists.

When you are still on Oracle Database 11g, you may wonder what datapatch …

Continue reading...

How to speed up your database and GI patching

Several of you mailed me already and commented. And I know that I promised this blog post for weeks, if not longer. So let me try to explain How to speed up your database and GI patching. Since this blog post has a longer history, I’d say far over 6 months, it will be a bit longer than the usual posts. At when I started writing it, I decided to split it up into several pieces to make it more digestible but also to allow easier finding of certain topics. I hope it may help easing some recent patching …

Continue reading...

Patching all my environments with the April 2022 Patch Bundles

Easter time is patching time. And since I was hiking and biking every day the last week up in the Northern Italian mountains, this blog post is coming with a slight delay. But better late than never. Time to show you my usual exercise, this time Patching all my environments with the April 2022 Patch Bundles.

As usual, an important annotation upfront: I patch in-place due to space issues. But in reality, you please patch always out-of-place with a separate home. Please see this blog post about how to apply the RU …

Continue reading...

What does datapatch do when you have different components in PDBs?

The last weeks, literally weeks, I have spent a lot of time with several patching topics. And in order to clean up my inbox a bit I will dump the learning into several blog posts. This one today will be about an interesting case I came across when a customer ran into problems with the runtime of datapatch in an ExaCC environment. Hence, today’s topic will be: What does datapatch do when you have different components in PDBs?

Annotation

If you are on 19.16.0 or higher, than you can safely ignore this blog post …

Continue reading...

Patching all my environments with the January 2022 Patch Bundles

It’s patching time. When I checked an SR and had a quick discussion with a customer yesterday, Peter reminded me that it’s patching day. And at about 20:00h CET the new patch bundles appeared on MOS. So let me show you again Patching all my environments with the January 2022 Patch Bundles for 11.2.0.4, 12.2.0.1, 19c and 21c.

As usual, an important annotation upfront: I patch in-place due to space issues. But in reality, you please patch always out-of-place with a separate home. Please see this blog post about how to apply the …

Continue reading...

Patching all my environments with the October 2021 Patch Bundles

My calendar has no error or NLS conversion issue – I was just way to busy the past two months with seminars. But today a colleague asked me whether my 21.4 install reports a 21.3 Build Label in the trace files. And this reminded me that I should now finally apply the patch bundles from October 2021 to our Hands-On Lab environment. So again, another blog post about Patching all my environments with the October 2021 Patch Bundles.

Patching all my environments with the October 2021 Patch Bundles

Photo by NCI on Unsplash

As usual, an important annotation upfront: I patch in-place due to space issues. But in reality, you …

Continue reading...

Patching all my environments with the July 2021 Patch Bundles

It’s patching day again. Hurray! Or not. I realize that at patching day, the 19c bundles are all missing. So wrote this blog post a bit after the usual release day. In my case this will include Oracle 19.12.0 RU and the July 2021 RU for Oracle 12.2.0.1. Please find the details about Patching all my environments with the July 2021 Patch Bundles below.

As usual, an important annotation upfront: I patch in-place due to space issues. But in reality, you please patch always out-of-place with a separate home. Please see this blog post …

Continue reading...

Workaround for sdoloadj.sql errors with Datapatch in 19.9.0 and 19.10.0

The other week a customer from my hometown alerted me about an issue they saw when applying the 19.9.0 RU. A long sequence of errors in the datapatch run, all of them signaled from sdoloadj.sql. They opened an SR. And Support had an – understandable – recommendation the customer didn’t want to implement: Install JAVAVM. But thanks to my PM mate, Hans Viehmann (Mr Spatial), here is a simple Workaround for sdoloadj.sql errors with Datapatch in 19.9.0 and 19.10.0. And it may even apply to later releases, too.

What happens?

Take …

Continue reading...