While upgrading an environment to Oracle 12c, one thing that needs to be done is to upgrade the RMAN catalog. One change introduced by Oracle is that there are new features used in the version 12 RMAN catalog. So if you try to upgrade an RMAN catalog running on Oracle Standard Edition, you will encounter the following error:
RMAN> upgrade catalog;
error creating create_deleted_object_seq
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-06004: ORACLE error from recovery catalog database: ORA-00439: feature not enabled: Partitioning
Mike Dietrich from the Oracle Upgrade blog has written an excellent article concerning this issue. Most specifically, MOS Note 1927265.1 notes implicitly that Enterprise Edition is a requirement:
Read the rest of this entry
Even though I am not really happy about the new recertification requirements from Oracle, I took it to myself to refresh my OCP certificate. I completed the exam 1Z0-060 and can call myself now a “Oracle Database 12c Administrator Certified Professional”.
Although I am not allowed to disclose information about the exam, I must say that the I found this exam easier than previous exams. Since the exam is a multiple-choice exam, one can often answer the questions by just guessing or by exclusion principle…
So today I tried to install the Oracle Preinstall RPM on a freshly installed Oracle Linux 7 machine. However, when I executed yum search rdbms
the preinstall package was nowhere to be seen!
It turns out that we need to enable the Oracle Linux 7 “addons” repository in order to find the package. Swiss blogger Martin Berger put me on the right track.
To enable the repository, open the file /etc/yum.repos.d/public-yum-ol7.repo
and find the following repository entry:
Read the rest of this entry
As of PSU 12.1.0.2, Oracle introduced “PDB State Management Across CDB Restart”, which will automatically put a pluggable database in a previously defined state on database startup. To show the current saved state of the PDBs, you can query the documented view cdb_pdb_saved_states
:
SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;
CON_NAME INSTANCE_NAME STATE
------------------------------ ------------------------------ --------------
P1 cdb2 OPEN
P2 cdb2 OPEN
But beware: When you unplug and plug in the database, this saved state will be lost.
I think this is one of the more awesome improvements in 12.1.0.2, since the original startup trigger was more of a workaround than a real solution.
Storage costs are a major matter of expense in any large database environment. Therefore, in order to operate a cost-optimized environment, it makes sense to regularly review all databases in terms of datafile sizes. Usage of these files can vary dramatically, depending on the application using the database. Therefore, we need a way to quickly identify datafiles which we can shrink in order to save storage costs.
Because we cannot really influence how Oracle places the extents in a datafile, we cannot simply look at the “used” size of the datafile and resize it to that value, but need to find the HWM (high water mark) of each datafile.
Read the rest of this entry
A friendly developer (Hello Dannes :)) notified me that there is a new version of the Tanuki wrapper available. So I hereby provide the latest version 3.5.26 of the Tanuki Java Service Wrapper for Windows x64.
As always, I don’t guarantee anything, so please note:
Read the rest of this entry
So lately I have been working a lot more with Linux networking. Consider an iptables configuration like this:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7752:8249066]
[..]
-A RH-Firewall-1-FORWARD -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-FORWARD -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
[..]
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Nov 21 15:44:47 2014
Ever noticed the brackets right next to the chain? What are those? What do the numbers mean?
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7752:8249066]
The answer is pretty easy and pretty obvious in hindsight. These numbers report
- packet counter for the chain
- byte counter for the chain
So in our example above, the OUTPUT
chain matched 7752 packets and 8249066 bytes.
Since Google shut down its Reader service, I am a regular user of the Tiny Tiny RSS reader. Having my own RSS reader installation gives me more power regarding my privacy and the services I am using. Consider me a happy user.
However, there are some issued regarding full UTF8 support when using MySQL. When a feed uses UTF8 emoijs, tt-rss will throw up and report an error. Unfortunately, this only manifests itself with log entries like this:
Read the rest of this entry
So often when issuing a emctl
(Enterprise Manager Command Line Utility) command, one needs to specify a target type. This is often the case when the command affects a certain target (for example emctl reload agent dynamicproperties ...
).
The most often used target types are the following:
- oracle_database (Oracle Instance)
- oracle_emd (Agent)
- host (Host Machine)
However, there are a lot of other target types available. We can get all available target types for Oracle Enterprise Manager Cloud Control 12c if we query the SYSMAN.EM_TARGET_TYPES
table in the Enterprise manager repository:
Read the rest of this entry
So today I was disappointed to read that Oracle introduced a recertification requirement for the Oracle Database Administrator certificates:
The Oracle Certification Program is implementing a recertification requirement for our Oracle Database Administration credentials.
[..]
This new policy requires you as an Oracle Database credential holder to demonstrate your currency with the most recent trends, techniques and best practices in Oracle Database technology.
More details can be found on the new website for these new requirements.
Recertification, really? And probably you’ll then proceed to tell me that I need to attend an Oracle University course to upgrade my certification to a newer release, yeah? This is bullshit…