Consultor Eletrônico



Kbase P12884: Error -1012 occurs when connecting Progress 64-bit to ORACLE 9i 10g client 64-bit
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/4/2009
Status: Verified

SYMPTOM(s):

Getting errors when connecting to ORACLE from 64 bit Oracle Client

ORACLE error -1012 see "ORACLE Error Messages and Codes Manual". (1252)

ORA: -1012 not logged on

Unable to load shared library

SYSTEM ERROR: Illegal instruction. (47)

SYSTEM ERROR: Bus error. (48)

SYSTEM ERROR: Memory violation. (49)

ORASOPATHNAME is not set prior to connecting to Oracle

Stack trace from _progres reads:
XOCIoerhms
orgetmsg
odisperr
oracon

FACT(s) (Environment):

Progress 9.1D 64 bit
Progress 9.1E 64-bit
Oracle Dataserver
Oracle 9i
HP-UX 11i 64-bit
Oracle 10g
Solaris SPARC 8 64-bit
Solaris SPARC 9 64-bit

CAUSE:

Bug# 20020807-009

CAUSE:

Oracle 9i client is officially supported with the release of Progress 9.1D02.

For 64 bit Oracle, prior to Oracle 9i (i.e, 8.1.7), by default, 64 bit libclntsh.xx was located at $ORACLE_HOME/lib64 directory, 32 bit libclntsh.xx was located at $ORACLE_HOME/lib directory.

Because of this Oracle structure, on 64 bit platforms, Oracle DataServer searches for libclntsh in following order

1. ORASOPATHNAME
2. $ORACLE_HOME/lib64/

With the introduction of ORACLE 9i 64 bit, the 64 bit libclntsh.xx is in $ORACLE_HOME/lib. 32 bit libclntsh.xx now resides in $ORACLE_HOME/lib32. There is no lib64 directory anymore under ORACLE_HOME.

With ORASOPATHNAME unset, on 64 bit platforms, DataServer continues to try to load libclntsh.xx from $ORACLE_HOME/lib64 and crashes.

FIX:

This is fixed in OpenEdge 10.0A.


If upgrading is not possible, set the environment variable ORASOPATHNAME to point to ORACLE 9i 64bit client libraries which now are $ORACLE_HOME/lib/libclntsh.xx prior to any Oracle DataServer operations.

ORASOPATHNAME=$ORACLE_HOME/lib/libclntsh.xx, export ORASOPATHNAME