JDBC executeBatch looks odd in AWR

A project team asked me to look at the performance of an Oracle database application that does a bunch of inserts into a table. But, when I started looking at the AWR data for the insert the data confused me.

The SQL by elapsed time section looked like this:


So, 1514 executions of an insert with 1 second of elapsed time each, almost all of which was CPU. But then I looked at the SQL text:


Hmm. (more...)

Installing the Oracle Database 12c STIG Compliance Standard Sample Code

In a recent post, I announced the release of some sample code that created two new compliance standards for DISA’s Oracle Database 12c Security Technical Implementation Guide. The sample code includes details on how to install the compliance standards, but I wanted to walk you through an example of installing it with screenshots and more commentary than is in the sample code. So let’s start off with some of the assumptions you need to (more...)

Troubleshooting Goldengate Memory Usage

I was paged for GoldenGate processes memory RSS 4507248 KBytes

Here are a few ways to check memory usage.

Initially, I used ps aux –sort -rss|head -5 and Goldengate process was at the top.

After extract was restarted, I used ps ax -o rss,user,command | grep [e]xtract to determine memory usage for Goldengate/

Before: 4,763,432 
After:     31,528  


$ ps aux --sort -rss|head -5
ggsuser   (more...)

Little things worth knowing: when a transient ASM disk failure cannot be fixed in time

In the previous blog post I used libvirt and KVM in my lab environment to simulate a transient disk failure and how to recover from it. This post takes this example a step further: I am simulating another disk failure, but this time won’t pretend I can fix the issue and put it back. In other words, I simulate the effect of the disk_repair_time hitting zero.

Most of what I am covering here is an (more...)

Adaptive Query Optimization Configuration: Parameters, Preferences and Fix Controls

The aim of this post is to summarize the knowledge about the 12.1 and 12.2 adaptive query optimizer configuration that, as far as I know, is spread over a number of (too many) different sources.

First of all, let’s shortly review which adaptive query optimization features exist:

  • Adaptive plans, which are only available in Enterprise Edition, include adaptive join methods (the ability to switch the join method from a nested
    loops to a (more...)

Set those Environment Variables

I fail to understand why people do not set environment variables or even update /etc/oratab with AGENT_HOME as an example.

It just makes thing so much easier.

Allow me to demonstrate. I have just awaken Frankenstein and don’t remember how he was configured.

As you can see, that last time I have used the system was back in Dec 2015 supposed.

I recall configuring XAG for the environment and not sure it was installed.

Having (more...)

Oracle Open World Ramblings – The end of life of some acronyms is near – OEM and DBA

I mean, for Oracle Enterprise Manager, I saw the end coming now Oracle is aggressively…

How to safeguard against malicious developers in #Oracle 12c

AUTHID_CURRENT_USER can be misused by developers. The new object privilege INHERIT PRIVILEGES ON <USER> was introduced in 12c to prevent that. I start with a demo to explain the problem that the new features solves. The playground:

[oracle@uhesse ~]$ sqlplus / as sysdba

SQL*Plus: Release Production on Fri Oct 7 10:36:28 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1. (more...)

My session workload

My old website (www.jlcomp.demon.co.uk) will be disappearing in a couple of weeks – but there are a couple of timeless articles on it that are worth saving and although the popularity of this one has probably been surpassed by Tanel Poder’s Snapper script, or other offerings by Tom Kyte or Adrian Billington, it’s still one of those useful little things to have around – it’s a package to takes (more...)

Rest of 2016!

On LinkedIn I wrote a note on the conferences I will be speaking in 2016. Read it here…. Dallas Oracle User Group – October 7 East Coast Oracle Conference – November 3 German Oracle User Group (DOAG) – November 17 Hope you see you in one of these conferences… 🙂  

EM13c Release 2 is here!

It’s been a long time coming, but finally we can announce than Enterprise Manager Cloud Control 13c Release 2 is here! So what are the main new features? Obviously I can’t cover them all in a single blog post, but here are the ones that are highlights to me.

Support for Transport Layer Security 1.2

For our security minded customers, this is functionality that people have been waiting a long time for. Communication between (more...)

Fabric … Simple #GoldenGate Administration over SSH


For awhile now, I’ve been looking at different approaches for automating some of my GoldenGate monitor tasks. Yes, there are tools out there that provide a wide variety of ways for interaction and monitoring of Oracle GoldenGate. However, the problem with Oracle GoldenGate is that you have at least two parts of the equation when interacting or monitoring an environment, i.e. source and target. If you are so lucky to have a multi-master (more...)

Upcoming Events and Speaking Engagements- Fall 2016

My sabbatical from speaking is about to end in another week and it will return with quite the big bang.


Oct. 14th

First up is Upper NY Oracle User Group, (UNYOUG) for a day of sessions in Buffalo, NY.  I’ll be doing three talks:

  1.  Virtualization 101
  2.  The Limitless DBA
  3.  AWR and ASH with Database 12c

Nov. 2nd

Next, I head into October with quite the number of talks. (more...)

Explore more about 12c Multitenant with useful MOS Docs

As part of on ongoing Exadata migration assignment, we have been exploring Oracle 12c multiteant capabilities a lot. I would like to share here some of selected useful MOS Doc about 12c multitenant concepts:

Below docs explains most of the 12c multitenant concepts:

  • Initialization parameters in a Multitenant database - Facts and additional information (Doc ID 2101596.1)
  • Initialization parameters in a Multitenant database - FAQ and Examples (Doc ID 2101638.1 (more...)

Oracle 12.2 Sharding Option

Lately I wrote a post about 12.2 new features. In the post I didn’t list sharding (probably one of the biggest features in this version), as I wanted to dedicate an entire post for it. In this post I will cover this option , but please note, as 12.2 is only released for the cloud … Continue reading Oracle 12.2 Sharding Option

Oracle Database – Generating JSON in the Database using SQL/JSON operators

Oracle 12.2 is available, although still only in the Oracle Cloud via Oracle’s Exadata Express…

Benchmarking Apache Kafka on OpenStack VM’s

I have been wanting to test Apache Kafka for sometime now and finally got around to it! In this blog post I give a very short introduction on what is Kafka, installation & configuration of Kafka cluster and finally benchmarking few near real-world scenarios on OpenStack VM's

Oracle Tidbits – September 2016

“Oracle *daily* TidBits” (#oratidbit) published at https://www.facebook.com/oraclenotes on weekdays in September 2016. You will also see these tidbits, one tidbit at a time, for each page refresh on the right side of this blog as well… Hope you find these helpful to learn something new or to remind you of its existence and use… TidBit #oratidbit VALIDATE DATABASE command […]

Extending an Exadata Eighth Rack to a Quarter Rack

In the past year I’ve done a lot of Exadata deployments and probably half of them were eighth racks. It’s one of those temporary things – let’s do it now but we’ll change it later. It’s the same with the upgrades – I’ve never seen anyone doing an upgrade from an eighth rack to a quarter. However, a month ago one of our customers asked me to upgrade their three X5-2 HC 4TB units from (more...)

Kill CPU

My old website (www.jlcomp.demon.co.uk) will be disappearing in a couple of weeks – but there are a couple of timeless articles on it that are worth saving and a method for soaking up all the CPU on your system with a simple SQL statement against a small data set is, surely, one of them. Here, then is a little script that I wrote (or, at least, formalised) 15 years (more...)