Top 60 Oracle Blogs

Recent comments

January 2010

Oracle Waits - latch : cache buffer chains

(article best formated at link:
Waits on the cache buffer chains latch, ie the wait event "latch: cache buffers chains" happen when there is extremely high and conncurrent access to the same block in a database. Access to a block is normally a fast operation but if concurrent users access a block fast enough, repeatedly then simple access to the block can become an bottleneck. The most common occurance of cbc (cache buffer chains) latch contention happens when multiple users are running nest loop joins on a table and accessing the table driven into via an index. Since the NL join is basically a
For all rows in i
look up a value in j where j.field1 = i.val
end loop
then table j's index on field1 will get hit for every row returned from i. Now if the lookup on i returns a lot of rows and if multiple users are running this same query then the index root block is going to get hammered on the index j(field1).

The Oracle Wait Interface Is Useless – News About Part Two

As many have probably noticed, the blogging experiment with Tanel hasn’t been quite as productive as it might optimally have been. Tanel doesn’t currently have the time to write part two of this article, so I’ll I’m going to pick up the baton and write the next part. Watch this space!

Miracle Åben Verden and other presentation news

I have several presentations coming up, but due to a dramatic set of circumstances in Denmark, I will be posting about them in reverse order. Miracle OpenWorld has been renamed due to possible 'mark' infringements on the term 'OpenWorld'.Therefore, I am pleased to announce that I will be giving a presentation on 'Measuring for Robust Performance' in April at Miracle Åben Verden! You can hear all


Ideas and quotes form original article by Guy Harrison on
Google's algorithms have been implemented in the open source project Hadoop.
For certain workloads, MapReduce and Hadoop can outperform even the most expensive commercial RDBMS software and associated hardware - and can do so using much cheaper commodity hardware, and without expensive software licenses.
Hadoops main drawback is a simple interface.

Hive, developed at Facebook, provides a SQL-like interface to Hadoop. If you are familiar with SQL, you can submit a SQL statement to Hive that will then be compiled to MapReduce jobs executed by Hadoop.


Just as MapReduce has been pivotal at Google, Hadoop seems poised to become a critical technology in the wider world of data processing. MapReduce and Hadoop will never replace the relational database for all workloads, but, there is little doubt they represent an economically compelling alternative for many "big data" applications.

The CPU Costing Model: A Few Thoughts Part V (Reality)

There’s plenty more I could talk about regarding the CBO CPU costing model and system statistics but I’ll make this my final little comment on this subject for now.   As previously discussed, the CPU costing model basically takes the time it takes to perform the all necessary I/O related activities and all the time it takes to [...]

Edition-Based Redefinition

Upgrading critical applications can be very difficult. One of the main problems is that for reasons of availability, long downtimes cannot be periodically scheduled. Therefore, for such applications, it is desirable to implement online upgrades. This requires that the application in question, as well as any software used by the application (e.g. the database engine) [...]

Data Visualization

All of my blog roll sites on the right are SQL and/or Oracle except for two. Those two are the data visualization
I'm always interested in new, innovative and powerful ways to display data that speeds up comprehension time, makes understanding easier and adds new insights into the data.

Join Elimination

In some specific situations the query optimizer is able to completely avoid executing a join even if a SQL statement explicitly calls for it. Two are the cases currently covered by this optimization technique, which is called join elimination. The first one was introduced in Oracle Database 10g Release 2, the second one in Oracle [...]

Dropping interval partitions

One of the nice Oracle11g new features is interval partitioning which is an extension to range partitioning. The advantage of interval partitioning over range partitioning is that new partitions are created automatically when new rows are inserted which don’t belong in an existing partition. The question, however, is how to get rid of old partitions? […]

Automatically Identifying Stored Statements & Using DBMS_STATS in PeopleSoft Cobol

It is not possible to reference a long column in a Oracle database trigger, but it is possible to reference LOBs. From PeopleSoft v9 Applications, the long columns have become CLOBs. Hence, it is now possible to have a database trigger fire on insert into the Stored Statement table and so automatically make certain changes to Stored Statements as they are loaded by Data Mover. Previously, these changes could be made by a PL/SQL script, but you had to remember to run in after any Stored Statements were reloaded. I have published a new script (gfc_stmtid_trigger.sql) on my website that creates two such database triggers.