Video : Resource Manager : SQL Quarantine in Oracle Database 19c Onward

In today’s video we give a quick demonstration of using the SQL Quarantine features of Oracle Database 19c.

It’s a follow-on to last week’s video.

Today’s video is a cut down of this article.

These might come in handy too.

The star of today’s video is Martin Widlake. I put out a message to “The Family” as I had run out of “.com” clips, and Martin was the first one back. He sent three, but this one had me laughing, and suited the quarantine theme. 🙂

Cheers

Tim…

PS. If you want to send me a clip with you saying “.com”, you know where I am.

Video : Hybrid Partitioned Tables in Oracle Database 19c

In today’s video we’ll give a quick demonstration of Hybrid Partitioned Tables, introduced in Oracle Database 19c.

The video is based on this 19c article.

The video only has a single example using external partitions pointing to CSV data. The article also includes and example using a Data Pump file.

The star of today’s video is Oren Nakdimon, who was taking a day off from being a God of Edition-Based Redefinition. 🙂

Cheers

Tim…

Video : Using Podman With Existing Dockerfiles (Oracle Database and ORDS)

Today’s video shows me using some of my existing Docker builds with Podman. Specifically a 19c database container and an Oracle REST Data Services (ORDS) container.

For those with an understanding of Docker, it should look really familiar, but it does introduce a twist in the form of a pod.

The video is based on this article.

You can see more information about containers here.

The star of today’s video is Bart Sjerps. It was really hard to find a piece of this recording that didn’t have James Morle wittering over everyone on it. 🙂

Cheers

Tim…

Oracle Database 19c on Fedora 32

Fedora 32 was released at the end of April (see here). Here comes the standard warning.

Here are the usual things I do when a new version of Fedora comes out.

I pushed a Vagrant build to GitHub.

So now you know how to do it, don’t. 🙂

Cheers

Tim…

Oracle Linux 8 (OL8) : Vagrant and Docker builds for 19c Database

A couple of days ago I mentioned the certification of Oracle database 19c on Oracle Linux 8 (OL8) with UEK6.

I’ve had a bunch of OL8 articles and builds for a while, but up until now they’ve included warnings to say they weren’t certified. Over the last couple of evenings I’ve made some changes, so I thought I would summarise then here.

Database 19c on OL8 Article

My article on installing 19c on OL8 (from July last year) now includes the new preinstall package. It also mentions that the installation will work without patches, but it will not be supported unless you include the 19.7 patches, and are using UEK6.

Oracle Database 19c Installation On Oracle Linux 8 (OL8)

Vagrant Build

I’ve had a vagrant build of 19c on OL8 since last year. This has been amended to use the new preinstall package, and to optionally include the 19.7 patches if you’ve downloaded them. By default the patch script is commented out, so folks without a support contract can still use the build. This isn’t meant to be a “supported build”, so I’m not personally bothered about the patches for it, but it seemed a little wrong to not include them, even if it is lip-service.

https://github.com/oraclebase/vagrant/tree/master/database/ol8_19

The base box is ‘bento/oracle-8’, which hasn’t been updated to 8.2 and UEK6 yet. Once again, this doesn’t phase me. The ‘bento/oracle-8’ image tracks the latest release (8.0, 8.1, 8.2 etc.), so at some point it will updated to the latest spin and UEK6.

My go-to Vagrant build has typically been the “ol7_19” build. I’m now going to switch to the “ol7_19” build.

I’ve also added 19c Data Guard build on OL8.

https://github.com/oraclebase/vagrant/tree/master/dataguard/ol8_19

Container (Docker/Podman) Build

Similar to the Vagrant build, I’ve updated by Docker build. It also uses the new preinstall package and includes and optional patch script. I’ve also switched back from the “oraclelinux:8” image to the “oraclelinux:8-slim” base image, which means I had to make some changes, like using “microdnf” instead of “dnf”. Similar to the vagrant build, I’ve left the patch script commented out by default, because I only use this build for playing and demos.

https://github.com/oraclebase/dockerfiles/tree/master/database/ol8_19

My go-to container combination was “ol7_19” plus “ol7_ords”. I’m now going to switch to “ol8_19” plus “ol8_ords” for running APEX 20.1 using containers.

What’s Next?

I’ve got a few things in the pipeline.

  • RAC on OL8 Vagrant Build. I’m unsure at the moment if I will include the patching for this, as it makes it more complicated. I might just stick with the base release. It’s definitely not production, so I’m not sure how much I care about making the build slower and more complicated.
  • I’ve got some Podman stuff I want to talk about that relates to both Vagrant and Docker, but that is better served in a separate post.

Cheers

Tim…

PS. I don’t feel I should need to say this, but experience tells me I should. This stuff on GitHub is just a playground for me. There is no error checking. It’s purposely kept simple so people can read it easily. It’s not production ready. I don’t support it. It’s not scripture. If you find value in it, that’s great. If you don’t, don’t use it. 🙂

PPS. I used the pirate costume as I thought it looked funny. There was no deeper meaning behind this. It was nearly a Pharaoh.

Oracle Linux 8 (OL8) : Updates – UEK6, Podman, Database 19c Certification

Last week I had a quick email exchange with Simon Coter from Oracle about a few things related to Oracle Linux 8. I’ve been a little out of the loop over the last few weeks because of some important world event or another, so I had a bit of catching up to do.

UEK6 Went GA

UEK6 had been in preview for a while. In March it went GA, and I managed to miss that until recently. Even if you don’t care directly about the Linux kernel, this was a big thing because it was the first UEK release on Oracle Linux 8, and most of us outside Oracle were thinking this would mark the start of certification of Oracle products on OL8 (see below).

Downloads

About a month ago Oracle announced you can download the Oracle Linux ISO images from yum.oracle.com. See here.

This is much cleaner than using eDelivery, but form experience eDelivery is a lot quicker for downloads!

Podman

In Oracle Linux 8 the Oracle supplied Docker engine has been replaced by Podman. I was blindly expecting Docker CE support, like we had with OL7, once UEK6 was released. When I asked about this I got educated about Podman. About a day later someone else mentioned it on Twitter.

I’ve got a separate blog post coming about Podman.

Oracle Linux 8.2

A few days ago Oracle Linux 8.2 was born (here).

Oracle Database 19c Certified on Oracle Linux 8

In my email exchange Simon told me WebLogic was already certified on OL8, but there had been no official announcement about the database certification yet.

Today I noticed Mike Dietrich had a blog post about this. The database is now certified on OL8. 🙂

This is the certification of 19c (19.7) database on OL8 with UEK6. I don’t know what will happen with previous database versions, but I kind-of hope they don’t certify them. I want to forget older releases exist.

Once I heard this I went on to the OL8 Yum repository and noticed the “oracle-database-preinstall-19c” package is now in the repo. Happy days.

I’ve got a separate post coming about this.

Conclusion

There’s been a lot happening while I was looking in the other direction. 🙂 The moral of this story is don’t blink, and keep looking at the Oracle Linux Blog.

Cheers

Tim…

PS. There is a lot more stuff on the Oracle Linux blog. I’ve just mentioned the things that directly affect me…

Oracle Database 18c and 19c on Fedora 31

Fedora 31 was released a couple of weeks ago and I’ve done some Oracle installations on it.

Just a warning to explain why this is a bad idea for anything real.

With that out of the way, here are the articles.

Not much has changed since Fedora 30 as far as these installations go.

I’ve pushed some stuff up to GitHub for Fedora 31.

So now you know how to do it, please don’t. 🙂

Cheers

Tim…

Multitenant : Massive Changes in 19c and 20c

Is it safe to talk about this now? The announcement has happened and Mike Dietrich has posted about it, so I think so…

A couple of massive things have happened regarding the multitenant architecture in Oracle 19c and 20c.

19c

Prior to 19c, you were only allowed to have a single user-defined pluggable database (plus a root container and a proxy) without having to license the full multitenant option. I’ve been a big proponent of single-tennant or lone-PDB, but I can understand the reluctance of people to go that way, as it’s harder to realise the benefits, even though they do exist.

Oracle have now announced from 19c onward you can have 3 user-defined PDBs, without having the multitenant option. This is similar to what we got with 18c XE. As Mike points out, the documentation has already been changed to reflect this.

“For all offerings, if you are not licensed for Oracle Multitenant, then you may have up to 3 PDBs in a given container database at any time.”

Database Licensing Information User Manual

I think this is will be a massive boost for the uptake of the multitenant architecture. I’ve got some 19c stuff that will probably make use of this within days of me getting back to work!

!!!!!Amazing!!!!!

20c

Are you one of those people that have been saying, “Screw that multitenant stuff. I’m sticking with non-CDB architecture!” Good luck with that. In 20c the non-CDB architecture will be desupported.

You probably know the non-CDB architecture was deprecated since 12.1.0.2, but in 20c non-CDB is no longer an option, unless you are happy about running without support I guess.

This means your 20c upgrade will also include a migration to the multitenant architecture. What I would suggest is you start down that road today by moving to multitenant in 19c, then when you have to move to the next long term support release (2?c), you won’t be getting any surprises. What’s more, the 3 PDBs thing in 19c makes that all the more attractive!

If this announcement has made you panic, don’t worry. I’ve written a bunch of stuff about multitenant over the years, and there’s a YouTube playlist too.

Cheers

Tim…

PS. Smiles smugly to himself that he invested the time into learning multitenant from 12.1 onward…

PPS. I will be going through my existing articles amending any mention of licensing and PDB limits and desupport etc. Those changes won’t happen overnight. 🙂

Enterprise Manager Cloud Control 13.3 on Oracle Database 19c

I’ve had some articles about Enterprise Manager Cloud Control 13.3 on the site for quite a while now. The first installation and upgrade articles were posted over a year ago.

More recently I posted about a Vagrant build and a silent upgrade.

At the time, the certification matrix said Oracle 19c was not certified to hold the OMS repository, so my article and Vagrant build didn’t include it. A few days ago someone asked me if it would work on 19c, and I was just about to reply and say it wasn’t certified, but I thought I better check first. It is now certified (if you are on the latest versions of the DB plugin), so I thought I better give it a run through.

The process was the same for 19c, so all I had do was unzip the 19c media into the renamed ORACLE_HOME and the rest went fine. I’ve done some minor updates to the articles and the Vagrant build to reflect this.

So if you are on OL7/RHEL7, you are good to upgrade to 19c for the OMS repository. 😉

Happy days!

Cheers

Tim…

Update: JE in the comments pointed out the requirement to be on the latest plugins for 19c to work (see here). They also pointed out the loss of the Top Activity screen. From my perspective:

  • I always run with the latest plugins if possible.
  • The Top Activity screen is replaced by the ASH Analytics screen, which does all the same things, but I would say the window adjustment makes it a bit better. It took a little time to get used to it, but I use it in the same way I used the Top Activity screen on versions from 11.2 to 19c with no drama.

Q: Is the CREATE JOB privilege required in 19c? A: No!

A couple of people have already written about a new feature in oracle 19c, which converts jobs created using DBMS_JOB into DBMS_SCHEDULER jobs.

I finally got round to writing up my notes about it here.

The conversion comes with rather interesting consequences.

The scheduler side of things is tighter. As Connor pointed out you now need the CREATE JOB privilege to use the DBMS_JOB package. That’s nice, but isn’t that the opposite of the title of this post? Yes, but…

The problem is the re-implementation of materialized refresh groups using the DBMS_REFRESH package didn’t seem to follow the same approach. You can create a refresh group, which creates a DBMS_SCHEDULER job, without needing the CREATE_JOB privilege. Once you own a job, you can amend it, which means there is now a method to create DBMS_SCHEDULER jobs without needing the CREATE JOB privilege. Doh! You can see an example of it in 19.3 here.

Thoughts:

  • It’s clearly a bug, and I’m sure it will be picked up in a future release.
  • Although it seems pretty bad, remember the DBMS_REFRESH and DBMS_JOB packages are available by default and in previous releases you didn’t need the CREATE JOB privilege to them.
  • If this is a problem you can revoke execute on DBMS_REFRESH from PUBLIC, like you may have been doing for DBMS_JOB already.

Cheers

Tim…

PS. SR raised.

SR 3-20860955641 : Jobs can be created without the CREATE JOB privilege.

PPS. This is now Bug 30357828 and is being worked on.