Plagiarism and Posting

I received an interesting question as a comment on another post (which I’ll approve as soon as I post this one) and I thought it was interesting enough to add a completely separate post on my thoughts. In essence, the comment was along the lines of this: “With so much content and articles do you […]

Take Self-Absorption to New Lengths

Observing tourists around me, I’ve noticed that the regular selfie doesn’t cut it anymore. The essential travel accessory for the modern self-absorbed traveller is a selfie stick:

Of course, the whole selfie concept is the opposite of a traditional tourist snapshot: Not “see what I saw,” but “see me”. But while you are at it, why not make yourself a spectacle while you take the picture. Hence, the selfie stick.

The picture is pretty much (more...)

Opatchauto for OEM Management Servers

The quarterly PSU and any one-off patches are installed with the opatch utility for your management servers.  If your environment consists of a single OMS, executing opatchauto apply will execute all of the tasks required to install the patch on the management server and provide you with SQL to update the repository database.  When you have more than one server, that same command runs an analysis of your environment and generates detailed sequential instructions you (more...)

Support ID : How to enable and retrieve FND debug log messages

If you want to know about FND Debug log configuration in R12, this below document id is useful for you

How to enable and retrieve FND debug log messages (Doc ID 433199.1)

PERWSDOR form compile in r12



[appltrng@ebsdev bin]$   frmcmp_batch module=/u02/backup/appltrng/apps/apps_st/appl/au/12.0.0/forms/US/PERWSDOR.fmb userid=apps/Ace321b output_file=/u02/backup/appltrng/apps/apps_st/appl/per/12.0.0/forms/US/PERWSDOR.fmx module_type=form batch=no compile_all=yes

Compiling WHEN-BUTTON-PRESSED trigger on PREV_MONTH item in CALENDAR data block…
No compilation errors.

Compiling WHEN-BUTTON-PRESSED trigger on NEXT_MONTH item in CALENDAR data block…
No compilation errors.

Compiling WHEN-BUTTON-PRESSED trigger on NEXT_YEAR item in CALENDAR data block…
No compilation errors.

Compiling WHEN-BUTTON-PRESSED trigger on PREV_YEAR item in CALENDAR data block…
No compilation errors.
Created form file /u02/backup/appltrng/apps/apps_st/appl/per/12.0.0/forms/US/PERWSDOR.fmx

Productivity and Noise

Everyone likes to be productive, however pretty much everywhere we work there’s something with the ability to disrupt our concentration. Some are necessary – like most meetings – however others break our flow of thought and it takes a while to get ‘in the zone’ again.

I’ve recently changed jobs and the new company’s office is in Kings Cross, London. In many ways this is hugely advantageous, but it can be a bit noisy. I also (more...)

Associative arrays and Nested tables

A common criticism of PLSQL is that the "original" array datatype, now called associative arrays are perfect for passing stuff back and forth to 3GL environments (for example .Net),  but canno be used within SQL natively, for example:

SQL> create or replace
  2  package BLAH is
  3    type num_list is table of number index by pls_integer;
  4    type str_list is table of varchar2(30) index by pls_integer;
  6  procedure ODP_PROC(n out num_list, s out str_list);

Row cache lock

A rather odd performance issue happened at work a few days ago. All of a sudden, one of the databases started to work very slowly, and a quick look in ASH data showed that it was spending over 70% of its time waiting on “row cache lock” (not to be confused with “latch: row cache lock”).

It was a test database ( on an overloaded server with non-standard configuratioin, so my initial reaction (more...)

Exadata storage indexes and DML

Last week I’ve gotten a question on how storage indexes (SI) behave when the table for which the SI is holding data is changed. Based on logical reasoning, it can be two things: the SI is invalidated because the data it’s holding is changed, or the SI is updated to reflect the change. Think about this for yourself, and pick a choice. I would love to hear if you did choose the correct one.

First (more...)

New in Java 8 : Default and static methods in interfaces

Default method’s  (aka Defender methods) in interfaces are new in Java 8. They enable you to define a default implementation of a method in the interface itself.

If an interface is implemented by several classes, it’s hard to add method’s afterwards, as it will break the code and require all implementing classes to define the method as well. Adding a method to the interface, and defining a default implementation for it, will resolve this problem.


Patch applied or not in R12

you can get the patch applied details in EBS R12 from below command



Debugging Faulty Assumptions

I wanted to install Oracle JDevelper 12.1.3 – a version that I had been eagerly awaiting. Since my primary machine is a MacBook, I wanted to install it on OS X 10.9.3.

I downloaded the generic installer and found that the install didn’t run. Since OS X had disappeared from the documentation, I assumed that I would have to fiddle around until I found a combination of JDK and OS (more...)

No Hakan factor for IOT

Sadly there seems to be no concept of the Hakan factor for an IOT.

I have an application which merges into an IOT, the merge incrementally populating a swag of initially null columns, hence growing the rows in size.  Some simple benchmarking shows the overhead of this versus merging into a table with pre-populated values:

SQL> create table T1
  2   ( x int primary key,
  3     y1 number(10),
  4     y2 number(10),
  5     y3 number(10),

12c nasty with remote query optimization

We have a fairly common query process, where we run a MERGE command to compare a remote table to a local copy of it, as "poor mans" Golden Gate to bring that table up to date on a regular basis.  [Editors note: Writing MERGE's is more complicated but a lot cheaper than Golden Gate :-)]

After an upgrade to 12c, the performance of some of the MERGE’s went very bad…and you can see what (more...)

Testing…the surgeon’s approach

I played a lot of volleyball in a bygone life :-) and subsequently ruined my knees to the extent that I needed surgery. I got a shock when the surgeon (after a series of x-rays and checks) said to me: "Of course, we’ll only know once we’re in there".

So here’s a body part (a knee) that’s had hundreds of thousands of years to evolve, so you’d expect that knees are pretty much the same (more...)

SQL to find World Cup matches with comebacks

Lucas Jellema is writing a great series on SQL applied to the World Cup of football / soccer. In the article about finding matches with comebacks, he challenged readers to “find ‘dramatic comebacks’ where a team was two goals behind at some stage and yet managed to win the game.” Here is my reply, since replying […]

Employees Who Stay In Companies Longer Than Two Years Get Paid 50% Less

I came across an interesting article Employees Who Stay In Companies Longer Than Two Years Get Paid 50% Less and thought to share with you.

Let’s use the rule of 72 as an example.

Basically, the rule of 72 is a simple method of determining the number of years an investment will double by dividing 72 by the rate of return.

With a 4% annual salary increase, salary will double in 18 years (72/4).

With an (more...)

Caution: hot patches

For many Oracle database patches there is an option to apply them “online”, i.e. without stopping the database and related services (listener, ASM etc.).  This is very convenient when downtime is impossible or difficult to arrange. However, this convenience comes at a certain price, including some performance penalties. Such side effects of hot patching are not well understood, even by Oracle support engineers.

There is a MOS note 761111.1 where in addition to (more...)

Gimmick with offset and fetch N rows first in 12c

I was looking into some new features of 12c and I didn’t need to dig deep, in order to figure out how does the “fetch first” feature work:

QL> set autotrace on
SQL> select ename from emp offset 5 rows fetch next 5 rows only;


Elapsed: 00:00:00.03

Execution Plan
Plan hash value: 3611411408

| Id | Operation | Name | Rows | Bytes | Cost (more...)


Another wager lost to my daughter, this time an iPhone 5s.
Thank God she does not want the 6.

Learning the alphabets in school, A is for apple.
Earning straight A’s all the way through 8th grade.
Having dad pay for all the Apple toys – Priceless!