Comments in hint

| Jan 31, 2012


It seems that CBO can work with the line comment inside sql hints.

Let’s see. I create a table with 3 indexes:

--drop table ttt purge;
create table ttt
  a number not null,
  b number not null,
  c number not null

insert into ttt
  select 1,1,1
    from dual connect by level <= 10000;

create index iiia on ttt(a);
create index iiib on ttt(b);
create index iiic on ttt(c);

And then I’m able to switch access paths by commenting:

explain plan for
select /*+
from ttt;
select * from table(dbms_xplan.display);


The Art of Self-preservation

This post is aimed at all those poor souls that find themselves facing Oracle ADF coming from a PL/SQL background (Forms, APEX or plain old database development).
Normal First Reactions
Despair. Most of us have felt it in the beginning, and it is considered perfectly normal. The feeling of constant (more...)

FRM-92095: Oracle Jnitiator version too low – please install version or higher

A customer of mine who deploys Oracle Forms 10g  on the wild wild web, ran into a little problem.
They don't have control over the java plugin being installed on the client machine and with the latest java 1.7 update
they encountered the following forms error :

FRM-92095: Oracle Jnitiator version too low - please install version or higher

Doh - we're running java 1.7 - not Oracle's obscure Jnitiator.

This seems to be a know issue on metalink see 
FRM-92095 Error When Running Forms Using JRE 7 (JRE 1.7) [ID 1348436.1]

Statement level constraint consistency

| Jan 29, 2012
In the past week I've been investigating how Oracle fires triggers with the Merge and Multi-Table-Insert statements. Also took a look at 'statement-level constraint consistency' with these two types of statements. My findings are here:

Normal transmission on harmful triggers should resume shortly.

Extending Oracle Enterprise Manager (EM) monitoring.

I always found Oracle Enterprise Manager (EM) to be an interesting tool for different reasons. The only thing I missed was an easy way to create my own alerts.

It is very simple to create a KSH, Perl, etc script to do some customised monitoring and notify you by email, Nagios, NetCool, etc.

By integrating your scripts with OEM, you will have an easy way to enhance your monitoring and still have notification by email, SNMP traps, etc. as you would currently have if your company is using OEM for monitoring your systems.

The problem:
Develop an easy way to (more...)

How to rename SQL Tuning Set ( STS )

Rename SQL Tuning Set‎( STS )

We can use SQL Performance Analyzer (SPA) to evaluate impact on SQLs of 11g R2 database upgrade from 10.2 .So created some demo , example ( with full code ). EM was very good option , but still preferred sql,pl-sql, command / api.

We all know to, use SPA for 10.2 to 11.2 database upgrade , we need one intermeiate 11g DB.
So we can run trial remotely.So we collected SQL Tuning Set (STS ) ( using demo code ) from Multiple databases and import on intermediate 11g DB. (more...)

Reducing cluster waits by Granville Bonyata

If you’re seeing high cluster waits because you have multiple processes all inserting into the same set of tables, the cluster waits are resolved by pointing to a single node on the cluster. But just pointing to a single node defeats the rollover benefits of running on RAC. To that (more...)

Sybase and SQL Server Image Data Move

| Jan 27, 2012
SQL Developer can move data online and offline.
Online is really only for small amounts of data (<100mb).
For larger sets of data with greater performance and much better logging, the Offline Data Move feature should be used.

SQL Developer will create two sets of scripts.
One to dump out the data using Sybase/SQL Servers BCP tool to DAT files on the disk.
The second set of scripts to read the DAT files and load the data into the Oracle tables using Oracle SQL*Loader.
As the scripts are just plain text files they should be inspected and can be modified (more...)

The Future of Financials Applications: Excel

I just completed another great training session held by the Oracle User Experience (UX) team. I am privileged to be part of the Oracle Fusion User Experience Advocates team, so Oracle is putting a lot of effort into teaching us about Fusion UX.

One of the topics was the new (more...)

VMWARE connection problems

I noticed when connection a vmware to certain networks the network doesn’t like a loopback adapter running on the vmware. Although you will get a valid IP it can’t connect to anything….

Disabling the loopback did the trick.

Till Next Time

OBIEE101 I’m still around ;-)

Thanks everybody for the interest in my whereabouts.

Yep, I'm still around. Just very very busy on a huge OWB migration.

Hope to be back soon we some OBIEE stuff.

Till Next Time

Updated Statement of Direction

...Of sorts. Actually, I did not even know I had one until now. But here goes:
My long absence from this blog are based on all the right reasons. Family. Life. You know, the things that matters. And some reasons slightly off. Like ADF. Yup, Oracle Application Development Framework. Just (more...)

Managing Windows scheduled tasks – SCHTASKS output misleading

Here's a little gem - found on Windows Server SP2 but still there on Windows Server 2008 R2 SP1 at least.

I wanted to write a little script to disable some scheduled tasks (for maintenance) then after a predetermined time to re0-enable them. This is a common support problem, and I find I often complete the maintenance and forget to re-enable the tasks which results in alarms going off - but maybe not until the start of the next working day.

Anyhow, Windows gives you (at least) two ways of interacting with scheduled tasks:

  2. PowerShell and the PowerShellPack which (more...)

tnsping without the TNSNAMES.ORA entry

It isn't immediately obvious in the tnsping documentation, but it is possible to perform the ping without having the Transparent Network Substrate configuration in place (i.e net service name) on the client for the database in question.

$ORACLE_HOME/bin/tnsping <hostname>:<port>/<sid>

Resumes & Job Objectives

I've been reviewing a lot of resume's lately.  Please tell me, what is the purpose stating your "Job Objective"?  Isn't it implied that your objective is to find a new job, specifically my job? I assume you're dynamic and technical and your vast expertise will help my company conquer the world. Also, what is the purpose of summarizing your experience on the first page and then giving me eight

Minority Report

Ranking is a very usual requirement of BI reporting. People tends to sort things in order and focus on the top performers. Which sales region is generating the most of revenue? What are my most popular products? Who are my best performing employees? All these type of queries can be easily answered via invoking the Rank() function on relevant fact measure.
What about "the other 80%" (Pareto Principle)? We normally are not interested in the details of "insignificant" individual contributors. But the overall collective contribution of "the others" can be very valuable business information. One example can be (more...)

ORA-00600 [kgiinb_invalid_obj]

Another ORA-00600 error:

This error was recently reported to me,

ORA-00600: internal error code, arguments: [kgiinb_invalid_obj], [0x102BE8B38],
[0x12CF3EED8], [], [], [], [], [], [], [], [], []at
Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,
OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object
src, String procedure ....

Oracle Server - Enterprise Edition - Version:
This problem can occur on any platform.
Oracle Server Enterprise Edition - Version:

After some research I found that basically this is due to a bug (7420394) which can be fixed by applying the patch for it, or upgrading to 11.2.0.

Fast Recovery Area

I’d be grateful if anyone who is responsible for Oracle database backups could take a quick (3 question) survey on their use or otherwise of the Fast (Flash) Recovery Area feature. All responses are anonymous.

ORA-00700 [kesqsMakeSql-invstat:cpuTime]

ORA-00700: soft internal error, arguments: [kesqsMakeSql-invstat:cpuTime], [], [], [], [], [], [], [
] ... hmmm ... it looks impressive, overall considering that an ORA-00600 is not one that probably is going to make your DBA day.

Actually it is not as tragic and epic as it could seem to be at first glance, it has to do with a bug. In this particular case it showed up in an Oracle 11g Rel.1 ( version on a x64 windows platform. This error is triggered when the SYS_AUTO_SQL_TUNING_TASK runs, and it may spontaneously show up and keep on (more...)

Mounting Failures With Your Failgroups?

Last year I wrote a post about mirroring in ASM in the context of Exadata which discussed aspects of ASM mirroring, including failgroups, and the ability of ASM to cope with different failure scenarios. The post dealt with cases such as: Single disk failure in a single cell Multiple disk failure in a single cell [...]