I’ve previously written about manually rewriting an OR condition into a UNION ALL using LNNVL.
This is a description of a performance issue observed in the real world from the optimizer coming up with a CONCATENATION operation against many child operations including an INLIST operator and other children which then (more...)
Attention all data modellers - we are pleased to announce the release of SQL Developer Data Modeler 3.3. This release includes a new search, reports can be generated from search results, extended Excel import and export capabilities and more control and flexibility in generating your (more...)
In the previous post
I've demonstrated an unexpected Nested Loop Join caused by an extreme data distribution. Although unexpected at first sight, the performance of the execution plan selected by the optimizer is decent - provided the estimates are in the right ballpark.Here is another case of an unexpected execution plan, this time about Merge Joins
In order to appreciate why the execution plan encountered is unexpected, first a quick summary about (more...)
Recently I came across some interesting edge cases regarding the costing of joins. They all have in common that they result in (at first sight) unexpected execution plans, but only some of them are actual threats to performance.
The first one is about outer joins
with an extreme data distribution. Consider the following data setup:
create table t1
rownum as id
, rpad('x', 100) as filler
, case when rownum > (more...)
Oracle 10g introduced the QB_NAME
hint that can come handy in case hints need to be applied to more complex statements, in particular when possibly multiple layers of views / subqueries are involved.Jonathan Lewis has a older blog post
that describes more details.Just in case you wonder why sometimes apparently the QB_NAME
hint - along with all other hints that refer to the assigned query block name - seems to be ignored: One (more...)
See the blog post over at Oracle for details, and be sure to send Christopher Jones an email (via the address in his post) stating you're an active user of the client. As Christopher mentions in his post,
You can really help us justify resources for the OS X bundle if you email me letting me know you are a fan. Since Instant Client is a free download, it is tricky for us to know how widely it gets used.
Jump to OTN to download, but please remember to email Christopher as well, if you're interested in seeing the client (more...)
This post is the third in a short series about Oracle 11g ADR. These posts are based on the presentations I gave at the NoCOUG Summer Conference in August 2011 and at the RMOUG Training Days in February 2012.
One of the benefits of the new ADR system is the (more...)
This post is the second in a short series about Oracle 11g ADR. These posts are based on the presentations I gave at the NoCOUG Summer Conference in August 2011 and at the RMOUG Training Days in February 2012.
Wherever the DIAGNOSTIC_DEST is (remember that the default is the $ORACLE_BASE (more...)
Original Post can be viewed at 11.2 AQ – Messages stuck in PROCESESED,WAIT State
I had been working today on AQ issue where messages were not moving from WAIT to READY State.This was on 22.214.171.124 database running on RHEL5u6(64 bit). I thought of quickly documenting it for easy reference When you enqueue record, you can specify delay after which record should be ready for dequeue. During this time, MSG_STATE [...]
Original Post can be viewed at Using SQL commands on ADRCI
While working with ADRCI , I came to know that we can run normal SQL commands for some of the operation.e.g To display current purge policy , you can run select * from adr_control instead of show control. adrci> desc ADR_CONTROL Name Type NULL? ----------------------------- --------------- ----------- ADRID number SHORTP_POLICY number LONGP_POLICY number LAST_MOD_TIME timestamp [...]
[I originally posted this over at the Pythian blog. If you're not following it, you should! Way more content, by far smarter people than lil ol' me.]
After reviewing my blog post about running EBS OVM templates in VirtualBox, two of my teammates suggested that I work on something with potentially broader appeal. Their basic message was, "This is really cool for us EBS nerds, but what about the Core DBAs?"
So how does "11gR2 RAC in an hour" sound? In this post, I'll demonstrate how to deploy the pre-built Oracle VM templates to create a two-node (more...)
Do you see a slow start of your weblogic managed server for forms & reports on unix derivate? We have this problem on Suse SLES 11 and forms and reports 11.1.2.
In November I attended the annual DOAG (German Oracle User Group) conference in Nuremberg. There I’ve heare an interesting presentation from Jan-Peter Timmermann about “Performance with Forms 11gR2 Weblogic 10.3.x”.
One snippet of the presentation was an bug in the jdk which slows down the start of managed weblogic servers. It has to do with the random number generator during loading the OPSS Policy Provider for (more...)
This post is the first in a short series about Oracle 11g ADR. These posts are based on the presentations I gave at the NoCOUG Summer Conference in August 2011 and at the RMOUG Training Days in February 2012.
The Automatic Diagnostic Repository, or "ADR", is a location on disk (more...)
A new version 2.0 of the XPLAN_ASH utility introduced here
is available for download.You can download the latest version here.
The change log tracks the following changes:- Access check- Conditional compilation for different database versions- Additional activity summary- Concurrent activity information (what is/was going on at the same time)- Experimental stuff: Additional I/O summary- More pretty printing- Experimental stuff: I/O added to Average Active Session Graph (more...)
Configure BPM engine to publish to BAM
By default the Oracle BPM engine (Business Process Management) is configured so it won’t publish events to BAM (Business Activity Management). So should you choose to use BAM and use these great dashboards, you have set the DisableActions property to false/empty. Here is (more...)
Here is an odd bug that can lead to some nasty side effects when using the EXCHANGE PARTITION
technique. It is probably there for a very long time, simply because it depends on the usage of virtual columns
, and the basic technique of virtual columns was introduced way back in the Oracle 8i
times with the introduction of Function Based Indexes
The problem isn't the exchange partition operation itself, but the accompanying swap of (more...)