In case you miss DBMS_OPTIM_BUNDLE … again …?!?

In case you miss DBMS_OPTIM_BUNDLE ... again ...?!?

Photo by Caleb Woods on Unsplash

I’m tempted to copy and paste my blog post about DBMS_OPTIM_BUNDLE from February 2019, and exchange only 12.2.0.1 with 19c. But in this case the root cause is different. So this blog post is meant for Oracle 19.3.0 to be precise – in case you miss DBMS_OPTIM_BUNDLE … again … ?!?

Information about DBMS_OPTIM_BUNDLE

You will find a lot of information about DBMS_OPTIM_BUNDLE, what it does, since which release it exists and much more in these blog posts:

Where’s DBMS_OPTIM_BUNDLE in Oracle 19.3.0?

Several colleagues from ACS Support and Consulting called or mailed me the past weeks with a question: Where is DBMS_OPTIM_BUNDLE in Oracle 19.3.0? And all of them were right: It is not there.

To make things a bit more complicated, the well known workaround did not work either. In previous release you could create the package with:

@?/rdbms/admin/dbmsoptim.sql
@?/rdbms/admin/prvtoptim.plb

But these scripts don’t exist in Oracle 19c.

Big confusion.

What has happened?

Actually the creation of DBMS_OPTIM_BUNDLE via these two scripts was just a workaround. As the package has to exist since Oracle 12.1.0.2, the only file where it must be created within is catproc.sql. I won’t explain why it didn’t make it into catproc. But for Oracle 19c the code got changed. And once the code was adjusted, a problem with PRAGMA got detected. This led to the unfortunate situation that the package is not in 19.3.0. And of course, the scripts don’t exist either as they are not meant to be there anymore.

But … this is not a real issue as there are no optimizer fixes in 19.3.0 to enable or disable with DBMS_OPTIM_BUNDLE.

The package will appear again in 19.4.0 – and will be in catproc.sql for databases created since 19.4.0.

–Mike

Share this: