As DBAs we are always being recommended by Oracle and also recommending to clients to update their databases, but we have to be aware about new features and their effects. This is the case of Adaptive Query Optimization and in this particular case on SQL Plan Directives.
SQL Plan Directives are one of the functionalities that compose the Adaptive Query Optimization in Oracle Database 12c. The basic idea is pretty interesting: The SQL Optimizer keeps reviewing bad (“suboptimal”, as they like to say) plans, tipically incorrect cardinality estimations and generates SQL plan directives, like for missing histograms or extended statistics.
In my case, just after the upgrade to 12c (made on Jan 27th), the CPU usage increased for the same report always ran in the database:
Ok, how to check it?
After discover your new 12c targets you are facing target status down for MGMT targets, similar to image below?
And checking on server all looks to be ok, right?
Ok, now it’s everyone upgrading to 12c, right? Thanks God, this version was released in 2013!
But there is some things to be aware when planning an upgrade, specially regarding old applications and legacy. But pay attention! Not all of the requirements are necessary inside database. It’s the case os JDBC version requirement.
The database 12c documentation explicit mentions that JDBC versions 11.1.x and below are not supported anymore. It doesn’t mean that they don’t work, it’s only unsupported and you’ll have no assistance from MOS if you need. It’s better to avoid, right?
Anyway, if you check the JDBC support matrix, if you are in version 11.2 or below you are not supported since August/2015. So the Database 12c is helping you, that don’t have patching policy, to keep on right way. Thanks to Database 12c!
If this is your situation, I highly recommend you to upgrade the directly to JDBC version 7, the last available by now. See JDBC matrix version as:
But test! Test in you dev/test/QA environments before upgrading in Production environment!
Why? Because JDBC also have his compatibility matrix. JDBC 7, for example, demands your JDK to be at least in version 7 (released in 2011!). So, it’s needed to be at least in JDK version 6, as you can see below.
(Click in the image to access the link)
Some interesting links for you:
Verifying a JDBC Client Installation
What are the various supported Oracle database version vs JDBC compliant versions vs JDK version supported?
Checking the Oracle JDBC Driver Version on a Weblogic Server (by Cristóbal Soto)
Reset the AdminServer Password in WebLogic 11g and 12c:
mv data data-old
java weblogic.security.utils.AdminAccount weblogic .
Restart the AdminServer.
If the weblogic has the file boot.properties in $DOMAIN_HOME/servers/AdminServer/security/, should be adjusted the credentials of user and password, before restart the AdminServer.
OBS: Check the post on decrypt datasource password, which can also be used to decrypt the credentials of boot.properties file, avoiding making the above procedure, if this file exists.
That’s all for today.
Today I’m going to introduce the Coherence Server Out-of-Process configuration.
Once this configuration has changed a lot between versions 11G to 12C, the post will be a little bit more detailed (than usual).
The table below summarize these changes:
||Coherence Cache Config resource
||Coherence Cluster resoruce
|Out-Of-Process Cache Server
||New WLS node/cluster
Follow the steps:
While creating an integrated extract in Goldengate 12C on a Puggable database 12C I came across the follow error, stating that the needed catalog name is mandatory and was not being informed.
ERROR OGG-02636 Oracle GoldenGate Capture for Oracle, ext1.prm: The TABLE specification ‘TABLE table_name’ for the source table ‘table_name’ does not include a catalog name. The database requires a catalog name.
There is two ways to solve this case: The first , besides less indicated, is to add the name of pluggable database (Catalog) before the owner name on the table maps, for example:
GGSCI (host1.net) 1> edit param ext1
Not really enjoying this solution and after searching for long hours without any other result , our friend Maiquel DC indicated a parameter that identifies the catalog name for all tables in the extract ;
Add the following parameter in extract configuration file:
GGSCI (host1.net) 1> edit param ext1
Thats all folks.
Do you know what mean the parameters on installing 12c?
This parameter controls the kernel’s behaviour when an oops or bug is encountered:
- 0: try to continue operation
- 1: panic immediately. If the `panic’ sysctl is also non-zero then the machine will be rebooted.
OOPS is a deviation from correct behavior of the Linux kernel, one that produces a certain error log.
The better-known kernel panic condition results from many kinds of oops, but other instances of an oops event may allow continued operation with compromised reliability.
This is recommended in a system where we want to have node evicted in case of any hardware failure or any other issue.
To adjust as recommended by Oracle?
1. Put an entry in sysctl.conf for having it permanent:
kernel.panic_on_oops = 1
2. Refresh running command: