How to Patch Oracle Database on the Oracle Cloud

I was waiting the latest PSU for Oracle Database on the Oracle Database Cloud Service, and today I noticed that it’s available. So let’s see how we can update our Oracle Databases in the cloud.

First we go to the database home to see if any updates is available. As you can see, in the administration box, there is an available patch. We click on it to see the details of the patch.

It’s the PSU Update! I can read the readme file of the patch (from Oracle support) when I click the readme link. On the right side, there’s an action menu to run a precheck (prerequisites check) and to apply the patch. I run the precheck first, so I can be sure that I won’t have any problem when applying the patch.

Oh, the prerequisites checks failed!

Honestly, this is not my first time to apply a patch on Oracle Database Cloud Service. In my previous try about 2 or 3 months ago, I applied the latest PSU without any problem. It was a very smooth process, took less than hour. This time, the prerequisites failed.

How to Create Storage Containers on the Oracle Cloud

When creating a Database Cloud Service, you have an option to select “cloud storage” as a backup destination. In this case, the database backups will be stored in “storage containers”. As I see, lots of Oracle Cloud users have problem with setting up storage containers as backup destination.

It’s possible to create a storage container before you create the database service or you can create it while provisioning the DB service. Whichever method you chose, you should first set up the Replication Policy.

Go to the home page of “Oracle Storage Cloud Service”, on the up right side, you’ll see the action menu button (). Click on it and set the replication policy. Be careful about choosing the data centers and replication policy, because the replication policy can not be changed once it is set!

EM13c: OMSCA Recovery Mode Parameters “-as” and “-ms”

In the official backup and recovery documents of Oracle Enterprise Manager Cloud Control, when omsca tool is used for recovery, it is used with “-as” and “-ms” parameters but they are not well documented. For example:

[box type=”shadow”]Run omsca in recovery mode specifying the export file taken earlier to configure the OMS:

<OMS_HOME>/bin/omsca recover –as –ms –nostart –backup_file <exportconfig file>[/box]

Some parameters have no need any explanation but what are “-as” and “-ms”? Can we use them separately?

-AS means we want to recover the “OMS weblogic admin server”. The admin server operates as the central control entity for the configuration of the entire Enterprise Manager domain.

-MS means we want to recover the managed server hosting Oracle Management Service (OMS). It’s a mandatory parameter for recovery operations!

It’s possible to recover managed servers without recovering admin server of EM13c. For example, if you have Multi OMS site and lost one of your additional OMS, you can recover it with “-ms” parameter.

If you need to recover admin server, you also need to recover the managed server on the host, so you should use “-as” and “-ms” parameters together.

Oracle 12.2 New Feature: SQL*Plus History

While playing with Oracle 12.2 Database on the Oracle Cloud, I noticed that SQL*Plus has a new feature which would be very useful for all DBAs. Now SQL*Plus can keep history of the commands executed, and let you see and run these commands from the history. Its usage and functionality is very similar to Unix history tool, but do not think that pressing the UP arrow will return to previous commands 🙂

The history feature is not enabled by default, so after you start SQL*Plus, you need to enable history by running “set hist[ory] on”:

After you issue the above command, all commands (except history commands) will be stored in the history list. The default length of the history list is 100. It means it stores 100 entries, and then first entry will be deleted to make space for the 101st one. You can write a number instead of “on” keyword, so the number will be the size of the history. For example, “set hist 10” command will enable history which will keep only last 10 entries.

You can run “show hist” to be sure that the history is enabled:

EM13c: SQL Monitoring Raises ORA-06553

After I have installed the EM13c R2, I noticed that I couldn’t access the SQL Monitoring page. I tested the SQL monitoring page for 11g to 12c database targets, and it gave the same error: ORA-06553: PLS-306: wrong number or types of arguments in call to ‘REPORT_SQL_MONITOR_LIST’. As you can guess I hit a bug, good thing is someone else already raised a service request and Oracle released Patch 24914115 to fix the bug. When I examined the patch, I saw that it’s also released for DB Plugin (OMS) Bundle. So if you applied this 161031 bundle for EM13 R1, you probably have the same bug, and you need to apply the patch.

I was planning to say a few words about the poor testing of EM13c releases, but I’m sure everyone already knows it, so I’ll just tell how I applied the Patch 24914115.

First of all, we need to update OPatch (in the Middleware Home) and OMSPatcher. To update OPatch, go to the Patch 6880880, and pick 13.9 release. It’s the OPatch for Enterprise Manager. I don’t think that Oracle Database will have 13.9 release so it seems 13.9 is reserved for Enterprise Manager 13c.

OPatch 13.9 is a different than previous OPatch releases. It comes with an installer. Download “”, unzip it to a temporary directory. You’ll see a file named “opatch_generic.jar”. Using JDK of Oracle Middleware Home, run the jar file: