Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: why administrator refuse to give permission on PLUSTRACE

Re: why administrator refuse to give permission on PLUSTRACE

From: DA Morgan <>
Date: Sun, 04 Nov 2007 11:58:10 -0800
Message-ID: <>

Peter J. Holzer wrote:
> On 2007-11-03 20:19, DA Morgan <> wrote:

>> Peter J. Holzer wrote:
>>> On 2007-11-03 16:25, DA Morgan <> wrote:
>>>> Listen to yourself for a second. A Java developer writes code that runs
>>>> on an application server.

> [...]
>>>> This person's knowledge of wait events is precisely zero. Likely they
>>>> can't even construct a decent WHERE clause.
>>> If they can't do this they have no business writing software which sends
>>> SQL queries to an RDBMS. Let somebody else who does have some clue about
>>> databases design a middle tier which they can connect to. Or send them
>>> to training or fire them - but for heaven's sake don't let them write
>>> code which runs on your hallowed production database.
>> Do you know a single Java developer that knows how to run an Explain 
>> Plan?

> You got me there. The competent programmers I know mostly seem to avoid
> Java when they can.
> But since at least half of the Java Programmers I know do have a
> background in PL/SQL programming I should hope they know how to use
> Explain Plan. I wouldn't bet on it, though.

In October I spoke at user group meetings in four separate states. In several of those I asked for a show of hands from developers as to whether they use DBMS_XPLAN. The number that raised their hands was an embarrasement to the Oracle community and indicates that most SQL and PL/SQL programmers can not actually run a real explain plan.

> And I do know a FORTRAN programmer who knows very well how to use
> explain plan and probably a lot more about Oracle performance than most
> DBAs. I'd expect C programmers (which was the other language you
> mentioned) also generally to know what they are doing.

Sadly you would be mistaken. Survey after survey indicates exactly the opposite. The majority of those using Oracle think this script,

SELECT LPAD(' ',2*(level-1)) || operation || ' ' || options ||' ' || object_name || ' ' ||
DECODE(id,0,'Cost = ' || position) QUERY_OUTPUT FROM plan_table
AND statement_id = 'abc'
CONNECT BY PRIOR id = parent_id
AND statement_id = 'abc';

or some variation on it is relevant. Well they were a decade ago but not today.

Daniel A. Morgan
University of Washington (replace x with u to respond)
Puget Sound Oracle Users Group
Received on Sun Nov 04 2007 - 13:58:10 CST

Original text of this message