Recursion with recursive WITH

I recently had the opportunity to talk with Tom Kyte (!), and in the course of our conversation, he really made me face up to the fact that the SQL syntax I use every day is frozen in time: I’m not making much use of the analytic functions and other syntax that Oracle has introduced since 8i. read more

Posted by on 24 May 2016 | 4:03 am

SQL*Plus error logging – New feature release 11.1

One of the most important things that a developer does apart from just code development is, debugging. Isn’t it? Yes, debugging the code to fix the errors that are raised. But, in order to actually debug, we need to first capture them somewhere. As of now, any application has it’s own user defined error logging table(s). Imagine, if the tool is rich enough to automatically capture the more

Posted by on 2 May 2014 | 9:39 am

Finding gaps with analytic functions

Finding gaps is classic problem in PL/SQL. The basic concept is that you have some sort of numbers (like these: 1, 2, 3, 5, 6, 8, 9, 10, 15, 20, 21, 22, 23, 25, 26), where there’s supposed to be a fixed interval between the entries, but some entries could be missing. The gaps problem involves identifying the ranges of missing values in the sequence. For these numbers, the solution will be as follows: START_GAP END_GAP 4 4 7 7 11 14 16 19 24 24 First, run the following code, to create tab1 table: CREATE TABLE tab1 ( read more

Posted by on 12 January 2014 | 6:20 am

Inverted tables: an alternative to relational structures

The inverted table format can deliver fast and flexible query capabilities, but is not widely used. ADABAS is probably the most successful implementation, but how often do you see that nowadays? Following is a description of how to implement inverted structures within a relational database. All code run on Oracle Database 12c, release read more

Posted by on 8 September 2013 | 3:52 am

Three impossibilities with partitioned indexes

There are three restrictions on indexing and partitioning: a unique index cannot be local non-prefixed; a global non-prefixed index is not possible; a bitmap index cannot be global. Why these limitations? I suspect that they are there to prevent us from doing something idiotic. read more

Posted by on 1 September 2013 | 11:22 am

Are older releases of the database really unsupported?

I see posts on Oracle related forums about various releases (anything that isn't 11.x or 12.x) being "unsupported". This is wrong. Of course you should upgrade any 9i or 10g databases, but you don't have to. read more

Posted by on 28 July 2013 | 5:19 am


In this post, I will demonstrate a new feature introduced in 12c : In database archiving. It enables you to archive rows within a table by marking them as invisible. This is accomplshed  by means of a hidden column ORA_ARCHIVE_STATE. These invisible rows are not visible to the queries but if needed, can be viewed , by setting a session parameter ROW ARCHIVAL VISIBILITY. Overview: -- Create test user uilm, tablespace ilmtbs -- Connect as user uilm -- create and populate test table (5 rows) ilmtab with row archival clause read more

Posted by on 28 July 2013 | 3:42 am


When you create a PDB, the database automatically creates and starts a service inside the CDB.The service has the same name as the PDB. It is possible that the name of the service will collide with an existing service name which is registered with the same listener. For example if two or more CDBs on the same computer system use the same listener, and the newly established PDB has the same service name as another PDB in these CDBs, then a collision occurs. You must not attempt to operate a PDB that causes a collision with an existing service name. read more

Posted by on 28 July 2013 | 3:37 am

Top 12 New Features of Oracle 12c Summarized

Top 12 Features of Oracle 12C Summarized. This article is also available at Summary: The Oracle 12C means different things to different people. It all depends on which areas you are looking at, as there are improvements in many areas. Summarized below is the list of Top 12 Features of Oracle 12C as I see it. I have summarized below, the top 12 which I found interesting. 01. Pluggable Databases Through Database Consolidation: Oracle is doing every thing to jump into the cloud more

Posted by on 14 July 2013 | 2:29 am

About Apps 11i Clone – A Human Touch

Apps clone is like cloning a human being. Please read the detail below. 1) Run adpreclone on DB/CM/AP tiers This is pre-requisite step of cloning 11i prod and will not change anything in any system. This script will only create on $COMMON_TOP, a directory called "clone", with a basic structure of executable, scripts, templates and java more

Posted by on 21 March 2013 | 6:56 am