in reply to Re: ERROR: 1804 '(UNKNOWN OCI STATUS 1804) OCIInitialize
in thread ERROR: 1804 '(UNKNOWN OCI STATUS 1804) OCIInitialize

I recently came across this problem when using various Oracle installs and the Oracle::DBD that was located there.

I had two installs - an Oracle 10g & and Oracle 11g. The perl libraries I was using were the ones installed with Oracle 11g.

When the perl program ran without altering the ORACLE_HOME env variable ( $ENV{ORACLE_HOME} ) , this worked fine.

However, if the $ENV{ORACLE_HOME} was set within the perl program to use the Oracle 10g, then I got this error message.

A simple trace on the database showed that this perl client wasn't connecting, so the problem had to be in the client, not the database.

Now error message ORA-01804 suggests that the client couldn't find the timezone information - it normally expects to find it in $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat.

For my Oracle 11g install, this file wasn't present.

However, the location of this file can be altered using the environment variable ORA_TZFILE ( Oracle support note ID 365558.1 discusses this), so by setting this environment variable, I could get my test programs to work correctly.

Hope this helps.

  • Comment on Re^2: ERROR: 1804 '(UNKNOWN OCI STATUS 1804) OCIInitialize

Replies are listed 'Best First'.
Re^3: ERROR: 1804 '(UNKNOWN OCI STATUS 1804) OCIInitialize
by Anonymous Monk on Jan 08, 2011 at 03:30 UTC
    $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat...

    I haven't worked much with oracle but I didn't think it was this ridiculous