Patch

Apply Patch 31088341 before Upgrade to prevent ORA-1403

As I learned from a customer this week, this patch is a must have when you use Partitioning and you attempt to upgrade to Oracle 19.9.0 or earlier. So please apply patch 31088341 before Upgrade to prevent ORA-1403 happening.

Apply Patch 31088341 before Upgrade to prevent ORA-1403

Photo by Grant Durr on Unsplash

What is the issue?

This applies to all 19c upgrades at least until 19.9.0. You may see this error pattern in catupgrd0.log:

==Error from catupgrd0.log===

=================================================================
20:34:11 SQL> Rem BEGIN bug 28757685: repair tabpart$
20:34:11 SQL> Rem
=========================================================================
20:34:11 SQL> /* bug 28757685: tabpart$.hiboundval and tabpart$.hiboundlen
are incorrect
20:34:11 SQL> * when tables are 
Continue reading...

ORA-29702 – and your instance does not startup in the cluster anymore

This is the right blog post for a Friday 13th. And please forgive me – I wanted to put this on the blog earlier as two of my customers hit this weeks ago already. But it must have fallen through the cracks. Still, now it is hopefully not too late to tell you what you should do if you hit ORA-29702 – and your instance does not startup in the cluster anymore. Especially when you tested a database upgrade – and after a restore, the database doesn’t want to start, no matter what you try.

Continue reading...

Why is the 19.9.0 Release Update not available yet for MY platform?

I’ve had a week off and tried to relax and stay away from work topics (which worked quite well this time). The downside is 300+ emails in the inbox. And I spotted several ones already asking: Why is the 19.9.0 Release Update not available yet for MY platform?

Details for Patch 123456789 not found.

At first, this is not a uncommon question. And the root cause is two-fold. As you know from my quarterly blog posts such as Patching all my environments with the October 2020 Patch Bundles, these notes are important:

Continue reading...

Solution for ORA-02303 from JSON_OBJECT_INVALID in upgrade to 19c

I just learned yesterday about this error – and as it seems to happen occasionally, you may want to read more about the Solution for ORA-02303 from JSON_OBJECT_INVALID in upgrade to 19c.

What happens?

You are upgrading a database to Oracle 19c, and you see this error pattern:

CREATE OR REPLACE TYPE JSON_Object_T AUTHID CURRENT_USER UNDER JSON_Element_T(
*
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents

This is coming when catjson.sql gets executed.

Why does it happen?

Unfortunately the FORCE option is missing when we create …

Continue reading...

APAC OUG: Welcome to the Jungle – Database Patching Insights

October 19-30 – APAC Virtual Groundbreakers Tour

Continue reading...

Pitfall: ORA-1843 – NOT A VALID MONTH in Oracle 19.4 – 19.8

Today, I’d like to write about a tiny little issue – which can cause some real trouble in Oracle 19c. This blog post is about the Pitfall: ORA-1843 – NOT A VALID MONTH in Oracle 19.4 – 19.8.

The Testcase

My testcase is super-simple – and you can reproduce it even without any object in 2 seconds (one for “copy“, the other for “paste“). Simply execute this query:

select to_date('20191120','RRMMDD') from dual;

Or this one where I replace “RR” with the more common “YY”:

select to_date('20191120','YYMMDD') from dual;
Continue reading...

MGA Issue – and it is fixed with Oracle 19.8.0 and newer

Where do I start? One of the customer accounts I worked the longest time with recently upgraded to Oracle 19c on Exadata. They are an Exadata customer since 2009. After going live on 19c, a few days later they hit an MGA Issue – and it is fixed with Oracle 19.8.0 and newer. But question no.1 was: Why hasn’t Oracle warned us – and how could we have learned about it?

MGA Issue - and it is fixed with Oracle 19.8.0 and newer

Photo by Scott Webb on Unsplash

What is the MGA?

OK, I have heard of SGA and PGA. But MGA? The first two hits when I search with …

Continue reading...

Install and Patch in one single action with OUI

This is such a common case: You want to install a new Oracle Home and you’d like to apply the most recent patch bundle to it as well. But as we don’t officially offer Gold Images to download where the RU is included already, you have to do three tasks instead of one. But you can avoid this and Install and Patch in one single action with OUI.

Recommendation and 3 standard actions

We always recommend that you apply the most recent RU. Hence, usually you will download Oracle Database 19.3.0 from …

Continue reading...

Patching all my environments with the July 2020 Patch Bundles

Quarterly routine: When the new security alert get published, then it is patching time again. I’ll show you as usual how Patching all my environments with the July 2020 Patch Bundles works. And I heard your comments – in the next round in October, I will do this for GI and OJVM most likely, too. If not earlier …

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

Security Alert July 2020

This is the Security Alert for

Continue reading...

Special characters show junk in CLOB columns after upgrade to Oracle 19.7.0 with JDBC

When you’d copy & paste the above title into a search engine, you may come across a very similar sounding blog post I wrote two years ago. Today, my dear colleague Dirk asked me on behalf of a customer if it’s possible that this bug is back in 19.7.0. Of course, I said “No”, for sure not. Bug 26380097 was fixed in Oracle 18c already. Gladly, Dirk insisted. So I checked the SR his customer opened.

And now I can write an unplanned blog post about Special characters show junk in CLOB columns

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

JDK patching happens with every RU since January 2020

A while ago, a customer asked me whether he needs to apply JDK patches separately. He discovered that the JDK in the $ORACLE_HOME is quite outdated. But there was no clear answer available. And the MOS Note he pointed me to, seemed to be quite incomplete. But times have changed. And JDK patching happens with every RU since January 2020.

JDK patching happens with every RU now

Photo by David Billings on Unsplash

JDK who?

JDK stands for Java Development Toolkit. As the Wikipedia article explains, “the JDK includes a private JVM and a few other resources to finish the development of a Java Application”. …

Continue reading...

OPatch Alert: Be aware of cleanup issues – and the JDK version

This is just a quick alert blog post for Friday with an OPatch Alert: Be aware of cleanup issues – and the JDK version. And thanks to several people who either commented or mailed me directly and asked if I could alert others as well.

OPatch Alert: Be aware of cleanup issues - and the JDK version

Photo by Hugo Jehanne on Unsplash

OPatch cleanup issue

At first, you may have read earlier this week my article about patching my environments with the April 2020 bundle patches. For my patch activity, I’ve had to exchange my OPatch versions for 11.2.0.4, 12.2.0.1 and 19.7.0. And I guess, I would have had …

Continue reading...

Upgrade: What if your time zone in source is newer than in target?

Sometimes there is just a simple question at the beginning. Like Daniel and I discussed this morning. Does AutoUpgrade check if the time zone file in source is higher than in target? While we discussed this, I downloaded the patches already to try it out. And in addition, I could double-check whether the time zone patches for 19c are now RU-independent finally. But the question remains for Upgrade: What if your time zone in source is newer than in target?

Upgrade: What if your time zone in source is newer than in target?

Photo by Srikanta H. U on Unsplash

My intention wasn’t initially to write a longer blog post. But read below …

Continue reading...

Issues with seed databases, patch bundles and OJVM in 19c

I really rely on people telling me about issues they saw. And in this case, it happened twice within a few days. At OOW London, a customer came after my talk and told me about invalid objects and an incredible long recompilation time. In fact, he had to apply an OJVM patch in order to solve this. When I returned home, Jure commented on the blog about a very similar issue. I spent some time on the weekend to check it out. And I realized: There are issues with prebuilt seed databases and OJVM in 19c.

Issues with seed databases, patch bundles and OJVM in 19c

Photo by Max

Continue reading...

Do you need STARTUP UPGRADE for OJVM?

Actually I carry around this topic with me since the October 2019 workshop in Dubai. We’ve had one of these OJVM Patching discussions I’d like to escape usually. Anyhow, during this session, it dawned me that the STARTUP UPGRADE requirement in the OJVM readme may be not correct anymore. So the question will be: Do you need STARTUP UPGRADE for OJVM?

Do you need STARTUP UPGRADE for OJVM?

Photo by Nik Shuliahin on Unsplash

A little bit of history

You will find a good amount of blog posts about OJVM here. OJVM stands for Oracle Java Virtual Machine. It is a very powerful thing and allows you …

Continue reading...

Patching all my environments with the January 2020 Patch Bundles

I was traveling last week and had not enough time to download and apply the January 2020 Release Updates and PSUs. Yes, I’m one week late. But nevertheless, I’d like to check whether patching my databases with the January 2020 RUs will work fine.

Patching all my environments with the January 2020 Patch Bundles

Wörthsee near Munich in January 2020 – Water temperature is 3.4°C

Security Alert January 2020

My usual approach is to start with the Security Alerts for January 2020. It leads me to the January 2020 Critical Patch Advisory. As I’m a database guy, this is the line I’m interested in: Oracle Database Server, versions 11.2.0.4,

Continue reading...

GI Patch 28553832 may be needed before you upgrade to 19c

Thanks to my colleague Sebastian Alasino who works in the MAA team out of the UK. Sebas highlighted this issue to. And I’d like to share it with you when you attempt to upgrade Grid Infrastructure to Oracle 19c. If you have the Docker RPM  installed and you were lazy on patching, then GI Patch 28553832 may be needed before you upgrade to 19c.

GI Patch 28553832 may be needed before you upgrade to 19c

Photo by Daniel Frank on Unsplash

What is the issue?

If the Docker Engine RPM is installed and your GI version is 12.1.0.2, 12.2.0.1 or 18c below a certain patch level, the CSSD demon fails to …

Continue reading...

ORA-1722 when upgrading to 19.4.0 or 19.5.0 on Windows

Oh boy – I try to avoid blogging about errors on a specific platform. But as this topic was brought to my attention now 3x in 2 weeks, I think I’ll send it out. And I hope you won’t hit this ORA-1722 when upgrading to 19.4.0 or 19.5.0 on Windows.

ORA-1722 when upgrading to 19.4.0 or 19.5.0 on Windows

What is failing?

The database upgrade only on the MS Windows platform fails when you attempt to upgrade to 19.4.0 or 19.5.0. This means, you downloaded and installed 19.3.0. And then you followed our advice and applied one of the most recent Release Update – ideally 19.5.0, the October …

Continue reading...

Save Patching Downtime with Oracle Multitenant?

At OOW 2019 we announced that you can have up to 3 user-created pluggable databases (PDBs) per container database (CDB) without having a Multitenant license. And in this blog post I’d like to demonstrate how you can save patching downtime with Oracle Multitenant.

The Concept

The idea this entire process settles on is very simple. When you create a fresh container database in the target (already patched!) environment, you don’t have to patch this one. You only have to relocate the PDB from the source into the target CDB. In addition, only datapatch needs to be executed. As the …

Continue reading...

Database Migration from non-CDB to PDB – Migration with Data Pump

You may have realized that there are a few techniques missing describing how to do a Database Migration from non-CDB to PDB – Migration with Data Pump is one of them. I will explain the most simple approach of going to Single- or Multitenant. It isn’t the coolest – and it isn’t very fast as soon as your database has a significant size. But it is not complex. And it allows you to move even from very old versions directly into an Oracle 19c PDB – regardless of patch levels or source and destination platform.

Database Migration from non-CDB to PDB – Migration with Data Pump

High Level Overview

Endianness change
Continue reading...

Database Migration from non-CDB to PDB – Various Pitfalls

There are several pitfalls when you plugin a non-CDB into a CDB environment. I’d like to highlight some of them – and show you potential workarounds as well. This is part of a series of blog posts to make your migration from non-CDB to PDB a bit smoother.

Database Migration from non-CDB to PDB - Various Pitfalls

Photo by timJ on Unsplash

Database Migration from non-CDB to PDB – Various Pitfalls

In all the previous blog posts of this series I tried to explain specific pitfalls, and how you can workaround them. This article is meant to collect the “leftovers”, the minor issues and pitfalls which you may not …

Continue reading...

Database Migration from non-CDB to PDB – The Patch Level Pitfall

There are several pitfalls when you plugin a non-CDB into a CDB environment. I’d like to highlight some of them – and show you potential workarounds as well. This is part of a series of blog posts to make your migration from non-CDB to PDB a bit smoother.

Database Migration from non-CDB to PDB - The Patch Level Pitfall

Photo by Piron Guillaume on Unsplash

Database Migration from non-CDB to PDB – The Patch Level Pitfall

When you consolidate on a larger scale, it is very likely that you have different patch levels in your database environments. But when you attempt to plugin a non-CDB into a CDB, you may see …

Continue reading...

Database Migration from non-CDB to PDB – The Component Pitfall

There are several pitfalls when you plugin a non-CDB into a CDB environment. I’d like to highlight some of them – and show you potential workarounds as well. This is part of a series of blog posts to make your migration from non-CDB to PDB a bit smoother.

Database Migration from non-CDB to PDB - The Component Pitfall

Photo by Brett Jordan on Unsplash

The Component Pitfall

With component we mean the database component which you can find in DBA_REGISTRY – or CDB_REGISTRY. When Multitenant became available over 5 years ago, a decision had been made to make all options/components mandatory in a container database. This decision had to …

Continue reading...

Database Migration from non-CDB to PDB – The Time Zone Pitfall

There are several pitfalls when you plugin a non-CDB into a CDB environment. I’d like to highlight some of them – and show you potential workarounds as well. This is part of a series of blog posts to make your migration from non-CDB to PDB a bit smoother.

Database Migration from non-CDB to PDB - The Time Zone Pitfall

Photo by Allef Vinicius on Unsplash

Database Migration from non-CDB to PDB – The Time Zone Pitfall

Interestingly, there is no issue with different time zone settings within a single CDB. Your CDB$ROOT can be on DST V.32 whereas a PDB you plugin can be already on DST V.33. But only

Continue reading...