Re: Oraperl / DBD / Perl5 Performance for Oracle query?
Date: 1998/01/19
Message-ID: <En1F4w.By1_at_ig.co.uk>#1/1
[Quoted] In article <68r3rr$6hv$1_at_rdsunx.crd.ge.com>,
Mark Kornfein <kornfein_at_.crd.ge.com> wrote:
>
> I've recently come on board a web project that uses the Oraperl emulation
> interface for DBD. The performance is horrible, a query that returns in 4-5
> seconds from sqlplus takes 50 seconds, This is just to do the "fetch"
> without calling any cgi scripts.
>
> The documentation hints at a "cache value" that one can set but then
> goes on to say that it not implemented yet. I should point out that the
> query is trival and just brings back a lot (about 1000) small rows (1 field)
> from Oracle.
There's no way that anything to do with the DBI or DBD::Oracle itself would cause such a slow down.
I'd hazzard a guess that this is the cause (from the README.help file):
Oracle 7.1 and 7.2: Connection takes a long time and may coredump
Oracle bug number: 227321 related to changing the environment before connecting to oracle.
To work around this bug, do not set any environment variables in your
oraperl script before you call ora_login, and when you do call
ora_login, the first argument must be the empty string. This means
that you have to be sure that your environment variables ORACLE_SID
and ORACLE_HOME are set properly before you execute any oraperl
script. It is probably also possible to pass the SID to ora_login as
part of the username (for example, ora_login("", "SCOTT/TIGER_at_PROD",
"")), although I have not tested this.
This workaround is based on information from Kevin Stock.
Tim. Received on Mon Jan 19 1998 - 00:00:00 CET
