Collect enhancements in 11g release 2

Aggregate unique and ordered collection elements with the COLLECT function in 11g. November 2009

Installing VMware with Oracle Enterprise linux 64 bit

| Nov 29, 2009
Last few days I was busy with installating R 12 (12.1.1) on VMware. It was very hectic but learning experience for me. In my previous post I have put screens for installing VMware on Windows 7 and Oracle Enterprise linux over and above VM. Here are the explaination of all figures.
Fig 1 : This is the first screen which will see after you click on installation file for VMware 2.0.1, which I downloaded from
Fig 2 : It ask for location. I installed it on my USB external drive so I have (more...)

The £10 UKOUG Weak Joke Challenge

Oracle-WTF will pay the sum of £10 to the first person who makes the following weak Brummie joke to a conference audience at UKOUG:

Are there any Brummies here today?

Is it true that Ozzy Osbourne thought the Spice Girls were astronauts?

(Note for visitors to England: it's about the accent. And The Spice Girls used to be a pop group. And Ozzy Osbourne, oh never mind.)

Installing VMware with Oracle Enterprise Linux 64 bit

| Nov 29, 2009

Oracle PL/SQL unit testing with Ruby

Current PL/SQL unit testing options

Unit testing and TDD (test driven development) practices are nowadays one of the key software development practices. It is especially important if you are doing agile software development in small iterations where you need to automate unit testing as much as possible, as you cannot do manual regression testing of all existing and new functionality at the end of each iteration.

In some languages (like Java, Ruby, Python, C# etc.) there is quite good tools and frameworks support for unit testing and as a result there is quite high testing culture among top (more...)

How to change BPEL 11g preference values during deployment time

How you can set BPEL preferences in 11g during design time in JDeveloper and run-time in the EM console is described here (for the latter look in the comments for a reference).

Sometimes it is useful to change the preference values during deployment time, because preferences hold environment specific values. Actually, this is pretty easy by using composite deployment configuration plan(s). One for each target environment.

Right-click on the composite file and generate a deployment (more...)

Vive la diference!

And I'm not talking about the one between Mars and Venus!Some of the regular readers will no doubt recall my comments regarding the MOS introduction.Yes, dang right they were strong words! We pay Oracle YEARLY in excess of 6 figures in maintenance fees.A large chunk of which is for our access to Metalink/MOS/whatever.The last thing I need when that is unusable for a long period is some idiot

More Oracle data types supported by ruby-plsql gem

I have just released ruby-plsql gem version 0.4.0 which provides many new features. You can read about initial versions of ruby-plsql in previous blog posts.

Oracle complex data type support

Initial versions of ruby-plsql supported just simple Oracle types like NUMBER, VARCHAR2, DATE, TIMESTAMP, CLOB, BLOB as PL/SQL procedure parameters. Now support for many more complex data types is added. See examples below how to call PL/SQL procedures with these complex data types.

PL/SQL Record

Let’s assume you have PL/SQL procedure with PL/SQL record type parameter (which most (more...)

Convert Oracle Date Format to Excel Date Format

MS Excel uses a numeric format, called Serial Date format, when storing and dealing with dates and times.   Serial date is calculated by taking a given date and determining the number of days that have passed since that date and 01-Jan-1900 (actually 00-Jan1900, but that’s a story for another time).  Why is this important to an Oracle developer?  If you are using a tool such as the ExcelDocumentType to generate an Excel document with PL/SQL and you are trying to apply an Excel style to an Oracle Date data type … it will not work.  The (more...)

Oracle Fusion Middleware 11g end-to-end tracking using the ECID

In a previous posting I described how you could use composite sensors to enable end-to-end tracking for messages that move through the Oracle Fusion Middleware SCA engine and the B2B engine.

Today, I discovered that you can also use ECID for end-to-end tracking. The B2B application message contains all the tracking properties that are originated from the SCA composite that submitted the message to the B2B engine. With the B2B Report console you are able (more...)

How to configure an ebXML communication in Oracle Fusion Middleware B2B 11g

Oracle Fusion Middleware (OFM) B2B 11g supports many business document and messaging standards. ebXML (Electronic Business using Extensible Markup Language is a B2B messaging standard that is also supported by OFM B2B 11g. Shortly described ebXML enables XML messaging over the Electronic Business messaging Service (basically a SOAP extension), abbreviated as ebMS.

This posting describes how to set-up ebXML messaging using two local OFM B2B 11g (PS1) domains. For simplicity, I will extend my previous (more...)

Production Upgrade complete… hack obsolete!

It had to happen. I've moved away from very retro hardware requirements and a couple of hacks to something much simpler, and more applicable to "modern" computers ie. those with USB ;-)

No. 8 wire solution no longer needed ... luckily the wires aren't that thick :-)



Bonus points to Readers that guess the application of this stuff!

Catch ya!
This is a post from Gareth's blog at


Related Posts

Lawyers ate Oracle’s commitment to Oracle Forms

Oracle has for a long time offered “Statements of Direction” outlining their strategy in various areas. One the statements I have been following with interest is the one that applies to Oracle Forms and Reports.

The latest version of this reassuringly says about Forms and Reports: “Oracle has no plan (more...)

Collection sorter utility

A package of two functions to sort collections, including support for descending and distinct sorts. Works with versions from 9i Release 2 onwards but can be easily edited to support 8i. November 2009

Collection cardinality utility

A utility to provide the CBO with the correct cardinality of small collections used in TABLE() queries (such as variable in-lists). This helps to achieve better execution plans without having to use the undocumented CARDINALITY hint. Supports versions from 10g onwards. November 2009

RAC system load testing and test plan

Yesterday I was browsing through some docs in Metalink regarding RAC on Windows… then again came across the “RAC Starter Kit and Best Practices” notes…

RAC Assurance Support Team: RAC Starter Kit and Best Practices (Generic) (Doc ID 810394.1)
RAC Assurance Support Team: RAC Starter Kit and Best Practices (Windows) (Doc ID 811271.1)

On the Generic note, just recently they’ve uploaded a new version of the RAC System Load Testing white paper… you can also find on the attached docs the RAC System Test Plan

Both of these docs are good stuff.. we all know that critical (more...)

flex_ws_api now on

Tyler recently made me aware of It is a great place to share code projects, allow others to contribute and comment through discussion forums. I have set up a project for the flex_ws_api and all further development will take place there. I have created discussions for general (more...)

Presentación en el PEOUG Day 2009

El tiempo sí que vuela!, han pasado ya varias semanas sin actualizar el Blog producto de que las consultorías me vienen teniendo ocupado gran parte del día y lo que me quedaba libre lo he estado dedicando a la preparación de mi presentación para el PEOUG Day 2009 que finalmente se llevó a cabo ayer.

Mi participación en este evento fue gracias a la invitación de Miguel Palacios, presidente del PEOUG y flamante (more...)

My Oracle Support – Metalink to MOS survey results

Ouch! Metalink to My Oracle Support Survey Report.

Recording a Refund of a Prepayment or Advance

| Nov 18, 2009
The other day someone asked me how to do we collect a refund from an employee to whom we have made an advance payment (prepayment). There are a couple of approaches that can be used. The same approach applies to refund from suppliers as well.
Approach 1: Invoice to retire the prepayment and then Debit Memo for refund.
Step1: Create a standard invoice and apply the remaining amount of prepayment to it.
Step2: Then enter a debit memo and pay it with a Refund payment in the Payments window.The result will be that the outstanding prepayment / advance (more...)