Segment violation in instant client library

Hi,
I have the following problem:
A Jboss/Java application accesses a database over JDBC. We use the OCI driver and Instant Client 10.2.0.1 connected to a two node Oracle RAC.
After several days continuous operation this application crashes with a segment violation, either in libclntsh.so.10.1 or in libocijdbc10.so.
In the mean time the RSS of the process has grown from about 1 GB to 2.5 to 2.7 GB but all Java heap space (and other allocations) are clearly within their set boundaries.
Does anybody now if there is a memory leak in the native code in instant client or elsewhere?
Operating system is Red Hat ES 3, Instant Client is version 10.2.0.1 and Java's version is 1.5.0_06.
regards
Börje Jonsson

Hi,
There is something log or trace erros files that was
generated ?
CheersI have trace files from two appservers, the first one here:
# An unexpected error has been detected by HotSpot Virtual Machine:
# SIGSEGV (0xb) at pc=0x650327ec, pid=2793, tid=1714793392
# Java VM: Java HotSpot(TM) Server VM (1.5.0_06-b05 mixed mode)
# Problematic frame:
# C [libclntsh.so.10.1+0x4db7ec] nlolgserv+0x1a0
--------------- T H R E A D ---------------
Current thread (0x675321a8): JavaThread "http-0.0.0.0-8080-36" daemon [_thread_in_native, id=3243]
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000
Registers:
EAX=0x00000000, EBX=0x658e06c4, ECX=0xffffffff, EDX=0x4ca53ac0
ESP=0x66352668, EBP=0x663527a8, ESI=0xbee1e408, EDI=0x00000000
EIP=0x650327ec, CR2=0x00000000, EFLAGS=0x00210246
Top of Stack: (sp=0x66352668)
0x66352668: 6172736d 00000063 00000001 658e06c4
0x66352678: 6635274c 65590000 08400000 6635005a
0x66352688: 00000000 00000000 658e06c4 00000000
0x66352698: 6580a16c 09289560 00000000 0000005a
0x663526a8: bbec9fc0 bd687b54 66352f64 be0e5ca8
0x663526b8: 658e06c4 66352708 b75d7baa 00000081
0x663526c8: 69979527 66352b9c 658e06c4 69978ccd
0x663526d8: be047c96 bbeeedd1 00000001 650dec84
Instructions: (pc=0x650327ec)
0x650327dc: 4d d8 89 45 c4 8b 11 8b f8 b9 ff ff ff ff 33 c0
0x650327ec: f2 ae 83 c7 ff 8a 02 83 c2 01 88 07 83 c7 01 84
Stack: [0x6633a000,0x6635b000), sp=0x66352668, free space=97k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libclntsh.so.10.1+0x4db7ec] nlolgserv+0x1a0
C [libclntsh.so.10.1+0x4dbf2c] nlolgobj+0x552
C [libclntsh.so.10.1+0x3d3cf0] nnfun2a+0x17c
C [libclntsh.so.10.1+0x3d38e4] nnfsn2a+0x66
C [libclntsh.so.10.1+0x413b39] niqname+0x16f
C [libclntsh.so.10.1+0x340340] kwfnran+0x554
C [libclntsh.so.10.1+0x3090a4] kwfcinit+0xfe
C [libclntsh.so.10.1+0x16d0ee] kpuatch+0x7e0
C [libclntsh.so.10.1+0x286d09] OCIServerAttach+0x81
C [libocijdbc10.so+0x5a30]
C [libocijdbc10.so+0x7270] Java_oracle_jdbc_driver_T2CConnection_t2cLogon+0x17c
C [libocijdbc10.so+0x70c1] Java_oracle_jdbc_driver_T2CConnection_t2cCreateState+0x13f
j oracle.jdbc.driver.T2CConnection.t2cCreateState([BI[BI[BI[BISI[S[B[B)I+0
... a lot more rows ...
And the second one:
# An unexpected error has been detected by HotSpot Virtual Machine:
# SIGSEGV (0xb) at pc=0x683a5e57, pid=23266, tid=1699470256
# Java VM: Java HotSpot(TM) Server VM (1.5.0_06-b05 mixed mode)
# Problematic frame:
# C [libocijdbc10.so+0x11e57]
--------------- T H R E A D ---------------
Current thread (0x5c2eddf0): JavaThread "http-0.0.0.0-8080-68" daemon [_thread_in_native, id=7837]
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000
Registers:
EAX=0x00000000, EBX=0x683ae67c, ECX=0x0000000c, EDX=0x0000000c
ESP=0x654bb158, EBP=0x654bb200, ESI=0x683ad210, EDI=0x0000166c
EIP=0x683a5e57, CR2=0x00000000, EFLAGS=0x00210206
Top of Stack: (sp=0x654bb158)
0x654bb158: 00000000 683ae67c 683a5d47 00000000
0x654bb168: 00000000 0000000c 683a3060 00000000
0x654bb178: 00000000 0000000c 654bb190 5e739f5c
0x654bb188: 5e739f60 5e739f60 b704f488 5e739f5c
0x654bb198: 683ae67c 247fd514 0000000a 0076f4c4
0x654bb1a8: 0098b380 00000003 5655d348 00000014
0x654bb1b8: 00000028 b6d24772 0000166c 0000000c
0x654bb1c8: 654bb258 b6d1d088 0000000a ffffffff
Instructions: (pc=0x683a5e57)
0x683a5e47: dc 89 42 e0 89 42 e4 89 42 e8 89 42 ec 89 42 f0
0x683a5e57: 89 42 f4 89 42 f8 89 42 fc 8b 44 24 0c 5e 5b c3
Stack: [0x6549d000,0x654be000), sp=0x654bb158, free space=120k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libocijdbc10.so+0x11e57]
C [libocijdbc10.so+0xe29a] Java_oracle_jdbc_driver_T2CStatement_t2cDefineFetch+0x90
j oracle.jdbc.driver.T2CStatement.t2cDefineFetch(JI[S[BII[Loracle/jdbc/driver/Accessor;[BI[CI[SI[J)I+0
... a lot more rows ...

Similar Messages

  • The Instant Client SDK on Linux was released today

    The 10.1.0.3 Linux Instant Client SDK was posted on OTN today. See
    http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
    You can now use Instant Client to compile PHP. You need to modify
    PHPs configuration scripts first. One suggested change is given in
    PHP bug http://bugs.php.net/bug.php?id=31084 The diff in the bug is a
    little awkwardly wrapped. Here it is again for ease of
    cutting/pasting. See the bug for the other instructions.
    -- CJ
    --- ext/oci8/config.m4.orig     2004-02-04 01:22:34.000000000 +1100
    +++ ext/oci8/config.m4     2004-12-14 18:36:21.000000000 +1100
    @@ -38,16 +38,46 @@
           OCI8_VERSION=8.1
         fi
       else
    -    AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
    +    AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
       fi
       AC_MSG_RESULT($OCI8_VERSION)
    -PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
    -[  --with-oci8[=DIR]       Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
    +AC_DEFUN(AC_OCI8IC_VERSION,[
    +  AC_MSG_CHECKING([Oracle Instant Client version])
    +  if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
    +    if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
    +      if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
    +        AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
    +      fi
    +      OCI8_VERSION=10.1
    +    else
    +      AC_MSG_ERROR([Oracle Instant Client library version not supported])
    +    fi
    +  else
    +    AC_MSG_ERROR([Oracle Instant Client libraries not found])
    +  fi
    +  AC_MSG_RESULT([$OCI8_VERSION])
    +])
    +
    +PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
    +[  --with-oci8[[=DIR]]     Include Oracle (OCI8) support using an ORACLE_HOME
    +                        install. The default DIR is ORACLE_HOME])
    +
    +PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
    +[  --with-oci8-instant-client[[=DIR]]    Include Oracle (OCI8) support using
    +                        Oracle Instant Client. DIR is the directory with the
    +                        Instant Client libraries. On Linux it will default to
    +                        /usr/lib/oracle/<most_recent_version>/client/lib
    +                        Other platforms will need to have it explicitly specified.])
    if test "$PHP_OCI8" != "no"; then
    -  AC_MSG_CHECKING([Oracle Install-Dir])
    +
    +  if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +    AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
    +  fi
    +
    +  AC_MSG_CHECKING([Oracle Install Directory])
       if test "$PHP_OCI8" = "yes"; then
         OCI8_DIR=$ORACLE_HOME
       else
    @@ -116,14 +146,18 @@
             -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +
         10.1)
           PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
           PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
           AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
           AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    +      AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    +      AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +
    -      AC_MSG_ERROR(Unsupported Oracle version!)
    +      AC_MSG_ERROR([Unsupported Oracle version])
       esac
    @@ -145,10 +179,88 @@
         -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +  dnl
    +  dnl Check if we have collections
    +  dnl
    +  PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
    +  [
    +    AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +  ], [], [
    +    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +  ])
    +
    +
       PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
       AC_DEFINE(HAVE_OCI8,1,[ ])
       PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
       PHP_SUBST_OLD(OCI8_DIR)
       PHP_SUBST_OLD(OCI8_VERSION)
    +
    +elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +
    +  AC_MSG_CHECKING([Oracle Instant Client directory])
    +  if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
    +dnl Generally the Instant Client can be anywhere so the user must pass in the
    +dnl directory to the libraries.  But on Linux we default to the most recent
    +dnl version in /usr/lib
    +    PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib  2> /dev/null | tail -1`
    +    if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
    +      AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
    +    fi
    +  fi
    +  AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
    +
    +  OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
    +
    +  AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
    +
    +dnl Header directory for Instant Client SDK RPM install
    +  OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[/]]*$!/usr/include/oracle/\1/client!'`
    +
    +dnl Header directory for Instant Client SDK zip file install
    +  OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
    +
    +  if test -f "$OCISDKRPMINC/oci.h"; then
    +    AC_MSG_RESULT($OCISDKRPMINC)
    +    PHP_ADD_INCLUDE($OCISDKRPMINC)
    +    OCI8INCDIR=$OCISDKRPMINC
    +  elif test -f "$OCISDKZIPINC/oci.h"; then
    +    AC_MSG_RESULT($OCISDKZIPINC)
    +    PHP_ADD_INCLUDE($OCISDKZIPINC)
    +    OCI8INCDIR=$OCISDKZIPINC
    +  else
    +    AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
    +  fi
    +
    +  OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
    +  if test -f "$OCISYSLIBLIST"; then
    +    PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
    +  fi
    +
    +  AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
    +  case $OCI8_VERSION in
    +    10.1)
    +      PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    +      PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
    +      ;;
    +
    +    *)
    +      AC_MSG_ERROR([Unsupported Oracle Instant Client version])
    +      ;;
    +  esac
    +
    +  AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    +  AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    +  AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    +  AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +  AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
    +
    +  PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    +  AC_DEFINE(HAVE_OCI8,1,[ ])
    +
    +  PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    +  PHP_SUBST_OLD(OCI8_DIR)
    +  PHP_SUBST_OLD(OCI8_VERSION)
    +
    fi

    I've just installed the 10.1.0.3 instant client basic and sdk and php-4.3.9 on a Mandrake 10 Linux system
    However I can`t patch the config.m4 file.
    patch -p0 config.m4 php_oci8ic_buildpatch
    patching file config.m4
    Hunk #1 FAILED at 38.
    Hunk #2 FAILED at 146.
    Hunk #3 FAILED at 179.
    3 out of 3 hunks FAILED -- saving rejects to file config.m4.rej
    config.m4.rej says:
    *** 38,53 ****
    OCI8_VERSION=8.1
    fi
    else
    - AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
    fi
    AC_MSG_RESULT($OCI8_VERSION)
    - PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
    - [  --with-oci8[=DIR] Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
    if test "$PHP_OCI8" != "no"; then
    - AC_MSG_CHECKING([Oracle Install-Dir])
    if test "$PHP_OCI8" = "yes"; then
    OCI8_DIR=$ORACLE_HOME
    else
    --- 38,83 ----
    OCI8_VERSION=8.1
    fi
    else
    + AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
    fi
    AC_MSG_RESULT($OCI8_VERSION)
    + AC_DEFUN(AC_OCI8IC_VERSION,[
    + AC_MSG_CHECKING([Oracle Instant Client version])
    + if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
    + if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
    + if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
    + AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
    + fi
    + OCI8_VERSION=10.1
    + else
    + AC_MSG_ERROR([Oracle Instant Client library version not supported])
    + fi
    + else
    + AC_MSG_ERROR([Oracle Instant Client libraries not found])
    + fi
    + AC_MSG_RESULT([$OCI8_VERSION])
    + ])
    +
    + PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
    + [  --with-oci8[[=DIR]] Include Oracle (OCI8) support using an ORACLE_HOME
    + install. The default DIR is ORACLE_HOME])
    +
    + PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
    + [  --with-oci8-instant-client[[=DIR]] Include Oracle (OCI8) support using
    + Oracle Instant Client. DIR is the directory with the
    + Instant Client libraries. On Linux it will default to
    + /usr/lib/oracle/<most_recent_version>/client/lib
    + Other platforms will need to have it explicitly specified.])
    if test "$PHP_OCI8" != "no"; then
    +
    + if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    + AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
    + fi
    +
    + AC_MSG_CHECKING([Oracle Install Directory])
    if test "$PHP_OCI8" = "yes"; then
    OCI8_DIR=$ORACLE_HOME
    else
    *** 116,129 ****
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    10.1)
    PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
    AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    - AC_MSG_ERROR(Unsupported Oracle version!)
    esac
    --- 146,163 ----
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +
    10.1)
    PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
    AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    + AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +
    + AC_MSG_ERROR([Unsupported Oracle version])
    esac
    *** 145,154 ****
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    AC_DEFINE(HAVE_OCI8,1,[ ])
    PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    PHP_SUBST_OLD(OCI8_DIR)
    PHP_SUBST_OLD(OCI8_VERSION)
    fi
    --- 179,266 ----
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    + dnl
    + dnl Check if we have collections
    + dnl
    + PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
    + [
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    + ], [], [
    + -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    + ])
    +
    +
    PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    AC_DEFINE(HAVE_OCI8,1,[ ])
    PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    PHP_SUBST_OLD(OCI8_DIR)
    PHP_SUBST_OLD(OCI8_VERSION)
    +
    + elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +
    + AC_MSG_CHECKING([Oracle Instant Client directory])
    + if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
    + dnl Generally the Instant Client can be anywhere so the user must pass in the
    + dnl directory to the libraries. But on Linux we default to the most recent
    + dnl version in /usr/lib
    + PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib 2> /dev/null | tail -1`
    + if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
    + AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
    + fi
    + fi
    + AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
    +
    + OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
    +
    + AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
    +
    + dnl Header directory for Instant Client SDK RPM install
    + OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[]]*$!/usr/include/oracle/\1/client!'`
    +
    + dnl Header directory for Instant Client SDK zip file install
    + OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
    +
    + if test -f "$OCISDKRPMINC/oci.h"; then
    + AC_MSG_RESULT($OCISDKRPMINC)
    + PHP_ADD_INCLUDE($OCISDKRPMINC)
    + OCI8INCDIR=$OCISDKRPMINC
    + elif test -f "$OCISDKZIPINC/oci.h"; then
    + AC_MSG_RESULT($OCISDKZIPINC)
    + PHP_ADD_INCLUDE($OCISDKZIPINC)
    + OCI8INCDIR=$OCISDKZIPINC
    + else
    + AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
    + fi
    +
    + OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
    + if test -f "$OCISYSLIBLIST"; then
    + PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
    + fi
    +
    + AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
    + case $OCI8_VERSION in
    + 10.1)
    + PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    + PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
    + ;;
    +
    + *)
    + AC_MSG_ERROR([Unsupported Oracle Instant Client version])
    + ;;
    + esac
    +
    + AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    + AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    + AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    + AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
    +
    + PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    + AC_DEFINE(HAVE_OCI8,1,[ ])
    +
    + PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    + PHP_SUBST_OLD(OCI8_DIR)
    + PHP_SUBST_OLD(OCI8_VERSION)
    +
    fi
    How can i patch the config.m4 file??

  • Timesten client segmentation violation

    Hello,
    Our application is using Timesten 7.0.4 on Linux RedHat Enterprise Linux AS release 4 (32 bits) in client/server mode.
    When Timesten is restarted with :/sbin/service tt_tt70 restart
    We notice a segmentation violation while the application is executing a SQLExecDirect():
    #0 0x003cfc03 in CTcpip::SendMessage () from /opt/TimesTen/tt70/lib/libttclient.so
    #1 0x003bb087 in CCliOdbcDb::Io () from /opt/TimesTen/tt70/lib/libttclient.so
    #2 0x003bae61 in CCliOdbcDb::DoMsg () from /opt/TimesTen/tt70/lib/libttclient.so
    #3 0x003c2e5b in CCliOdbcRecSet::ExecuteInt () from /opt/TimesTen/tt70/lib/libttclient.so
    #4 0x003c2c96 in CCliOdbcRecSet::ExecDirect () from /opt/TimesTen/tt70/lib/libttclient.so
    #5 0x003a86dd in SQLExecDirect () from /opt/TimesTen/tt70/lib/libttclient.s
    Any way to fix this?
    Regards,
    Chris Thiebot

    Hi Chris,
    We want our application to be "Timesten failure free". In this regard, it's supposed to detect a Timesten server failure, disconnect itself from the data store and periodically try to reconnect itself to the data store.
    The segmentation violation has also been detected for this call (when disconnecting from the data stores):
    #0 0x002f2c03 in CTcpip::SendMessage () from /opt/TimesTen/tt70/lib/libttclient.so
    #1 0x002de087 in CCliOdbcDb::Io () from /opt/TimesTen/tt70/lib/libttclient.so
    #2 0x002dde61 in CCliOdbcDb::DoMsg () from /opt/TimesTen/tt70/lib/libttclient.so
    #3 0x002e738a in CCliOdbcRecSet::FreeStmt () from /opt/TimesTen/tt70/lib/libttclient.so
    #4 0x002cbae0 in SQLFreeStmt () from /opt/TimesTen/tt70/lib/libttclient.s
    We use SQLExecDirect(CALL ttReplicationStatus mydatastore) in our processing loop as a way to check if we are still connected to a data store.

  • Instant client AIX library search paths

    If you use the AIX "dump -H" command against the various Instant Client libraries, you'll notice that some non-existant paths (from the original build) are included.
    For example:
    $ dump -H libclntsh.a
    shows a library search path of:
    /b/114/lib:/usr/lib:/lib
    This can create security problems, particulary with set-uid programs which link against such libraries.
    When you next build your AIX libraries, you may wish to use the "-bnolibpath" or perhaps an explicit "-blibpath" directive with the loader.
    Just a thought. Thanks for providing the Instant Client.

    Thanks for the report.
    -- CJ

  • What OCCI library to link to for debug mode in Instant Client 11.2.0.4?

    In the manual on OCCI it says that
    Applications that link to MSVCRTD.DLL, a debug version of Microsoft C-Runtime, /MDd compiler flag, should link with these specific OCCI libraries:oraocci11d.lib and oraocci11d.dll.
    However, Instant Client SDK version 11.2.0.4 does not contain either oraocci11d.lib or oraocci11d.dll, but only oraocci11.lib and oraocci11.dll. So what should I do to be able to run an OCCI application in Visual Studio in debug mode?
    Thanks,
    Rikke

    If I remember correctly, you may need to install the full Oracle client.

  • Access/Segmentation Violation errors

    Here's another one of those "Has anyone seen this" questions.
    We are currently stress testing one of our applications and get the following
    'Access/Segmentation Violation' error on a server partition:
    Begin Stack Backtrace ==========================================================
    Trace caused by a segmentation or access violation in the Forte executable:
    Application: PCS_cl0
    Platform: PC / NT
    Partition: PCS_cl0_Part6
    Generated: 02-Jul-2000 18:12:53
    By: ftexec Version 3.0.G.2
    Fault at 05-Jul-2000 06:46:24, pid '1810', node 'GRFD60':
    User Name: FORTE_ACC
    Machine Name: GRFD60 with 2 CPU(s)
    OS version 4.0
    Loading symbols for ...
    d:\forte\install\bin\QQSH.dll
    d:\forte\userapp\pcs\cl0\pcs_cl6.exe
    d:\forte\install\bin\QQKN.dll
    d:\forte\install\bin\QQDB.dll
    d:\forte\install\bin\QQSM.dll
    d:\forte\install\bin\QQDO.dll
    d:\forte\install\bin\QQCM.dll
    d:\forte\install\bin\QQFO.dll
    d:\forte\install\bin\qqtlnt.dll
    d:\forte\install\bin\w3tpwss.dll
    d:\forte\install\bin\QQDS.dll
    C:\WINNT\System32\mspdb50.dll
    C:\WINNT\System32\comctl32.ocx
    C:\WINNT\System32\WINSPOOL.DRV
    C:\WINNT\System32\rpcltc1.dll
    C:\WINNT\system32\OLEAUT32.dll
    C:\WINNT\system32\COMCTL32.dll
    C:\WINNT\System32\rnr20.dll
    C:\WINNT\System32\IMM32.dll
    C:\WINNT\system32\msafd.dll
    C:\WINNT\System32\wshtcpip.dll
    C:\WINNT\System32\WS2HELP.dll
    C:\WINNT\System32\WS2_32.dll
    C:\WINNT\System32\WSOCK32.dll
    C:\WINNT\system32\LZ32.dll
    C:\WINNT\system32\VERSION.dll
    C:\WINNT\system32\ole32.dll
    C:\WINNT\system32\SHELL32.dll
    C:\WINNT\system32\comdlg32.dll
    C:\WINNT\system32\ADVAPI32.dll
    C:\WINNT\system32\RPCRT4.dll
    C:\WINNT\system32\USER32.dll
    C:\WINNT\system32\GDI32.dll
    C:\WINNT\system32\KERNEL32.dll
    C:\WINNT\System32\ntdll.dll
    C:\WINNT\system32\MSVCRT.dll
    Stack backtrace ...
    QQSH qqnl_MsgCatalog::LocatePointers (016785d8,021f54e0,013029b8,00000328)
    QQKN ::qqos_InitializeMM (016785d8,01726b28,00004df0,0911f980)
    QQKN ::qqos_InitializeMM (016785d8,017266b8,0921fe98,017266b8)
    QQKN ::qqos_tmgrProcessStacks (016785d8,007fb6a5,007fc514,016785d8)
    QQKN ::qqos_InitializeMM (016785d8,00000001,021f6a28,00000080)
    QQKN ::qqos_InitializeMM (016785d8,00000001,00000020,021f6a28)
    QQKN ::qqos_InitializeMM (016785d8,00000018,01db97e8,008600d0)
    QQKN qqLO_ForteScope_Allocate (016785d8,00000029,0911fabc,005e78b8)
    QQSH qqsh_Task::MakeEventInstance (016785d8,016785d8,80000002,00000039)
    pcs_cl6 00432013 (016785d8,00000007,00000080,021f6a28)
    pcs_cl6 00431e99 (016785d8,01db9780,0911fb58,0072be72)
    pcs_cl6 004339b0 (016785d8,006eced8,01db9780,00000024)
    QQKN qqlo_ClassType::InstanceAlloc (016785d8,0911fb88,01db8d98,00000000)
    QQDO qqdo_DomParamDeSerializeDriver::ProcessHdr
    (016785d8,0911fc30,01d748cc,0911fc24)
    QQDO qqdo_DomParamDeSerializeDriver::AddObject
    (016785d8,01d748cc,0911fc30,00000000)
    QQDO qqdo_DomParamDeSerializeObject::XlateObject
    (016785d8,01d748cc,00000000,00000000)
    QQKN ::qqlo_Xlate (016785d8,01d74838,020e99c8,0060d0d8)
    QQKN ::qqlo_Xlate (016785d8,01d74838,020e99c8,0060d0d8)
    pcs_cl6 0048d2eb (016785d8,020e99c8,01d74838,0911fd38)
    pcs_cl6 004920d9 (016785d8,020e99c8,00e46100,021542a8)
    QQDO qqdo_DomParamDeSerializeDriver::ProcessObjGraph
    (016785d8,0911fdf0,00000000,00e46100)
    QQDO qqdo_DomParamDeSerializeDriver::Run (016785d8,0911fdf0,02154260,0074bf38)
    QQDO qqdo_DOMDeSerializeObject::XlateEncapsulatedObject
    (016785d8,0911fdf0,00000000,0194e408)
    QQDO qqdo_Message::Xlate (016785d8,02154260,00e46100,01f151f8)
    QQCM qqcm_DeSerializeDriver::Step (016785d8,01c98290,0911fe60,77f04f85)
    QQCM qqcm_ForteNetStream::DeserializeStream
    (016785d8,00000000,00e46100,00e46100)
    QQCM qqcm_HoseRecvServiceTask::Run (016785d8,00000000,00e46100,00e46100)
    QQSH qqsh_TaskManager::RunThread (016785d8,019844f0,00000000,016785d8)
    QQKN ::qqos_threadIdle (017266b8,0137c1d8,f7598df0,0911ffb8)
    QQKN ::qqos_threadStart (017266b8,00000000,00000000,00e46100)
    MSVCRT 7800bee4 (00e46100,00000000,00000000,00e46100)
    KERNEL32 77f04f2c (00000000,00000000,00000000,00000000)
    QQSH 00000000 (00000000,00000000,00000000,00000000)
    End of Stack Backtrace =========================================================
    Does anybody have experience with problems like this?
    Thank you very much for your help in advance.
    Mark J Edwards
    Senior Technical Specialist
    Willis
    The information in this email and in any attachments is confidential and may be
    privileged. If you are not the intended recipient, please destroy this message,
    delete any copies held on your systems and notify the sender immediately. You
    should not retain, copy or use this email for any purpose, nor disclose all or
    any part of its content to any other person.

    To Keith :
    Yep, they're a common occurrence at different stages of
    Forte application development. To start the ball rolling,
    what hardware platform and versions of Forte are you using
    for Client and Server ?
    Stab in the dark questions :
    Are you invoking the client or server with -fm memory flags ?
    eg. Ftexec -fm(n:8000,x:32000) -fi MyApp.idx
    Are you using interpreted partitions(standard) or compiled
    partitions ?
    Does your application contain external C library routines ?
    Justin
    Justin Levis
    Hydro Electric Corporation
    Hobart Tas

  • Jdbc 8.1.5 and segmentation violation

    I am using the Oracle 8i client libs on a Unix box to connect to a Oracle 7.3.4 database on NT using the JDBC oci driver.
    The application server we are running manages a pool of db connections that is used by clients . When the app server starts, it connects to the Oracle database, reads some config tables, and is fine. To grab a connection from the pool the client calls a reserve method of the app server. This reserve method first tries to execute a simple query to check that the connection is good. However, it takes a "segmentation violation" trying to create a jdbc statement object, which is weird since the app server actually uses the same reserve method to call the database during initialization (and it works just fine).
    It could be something flakey with the Oracle 8i JDBC or client
    libraries, as we never saw this happen with the 8.0.5 client libs. The same app server code runs just fine.
    Any ideas on what could be causing this?

    I am also using JDK 1.3.1_02 but am using the classes12 library. Is there a classes13 library?
    New at this...thanks

  • *** Break *** segmentation violation

    Hi,
    i have a problem with my software. I'm developing a little graphic interface for my thesis. I use JNI for native methods.
    When i start my program the result is:
    *** Break *** segmentation violation
    Generating stack trace...
    /usr/bin/addr2line: 'java': No such file
    0x436c89a4 in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c6157 in <unknown function>
    0x401798ec in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x40268378 in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x4017971f in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x4019b3d3 in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x40185e3a in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x4e38cd7c in Java_sun_font_FontManager_getFont2D + 0x38 from /sw/jdk/jdk1.5.0/jre/lib/i386/libfontmanager.so
    0x436ce43b in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c8caa in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c89a4 in <unknown function>
    0x436c8d81 in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c8a7b in <unknown function>
    0x436c6157 in <unknown function>
    0x401798ec in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x40268378 in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x4017971f in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x4019b122 in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x40190008 in <unknown> from /sw/jdk/jdk1.5.0/jre/lib/i386/client/libjvm.so
    0x080497fe in <unknown> from java
    0x007c3770 in __libc_start_main + 0xf0 from /lib/tls/libc.so.6
    0x08049291 in strcpy + 0x35 from java
    Aborted
    What do i do?
    What is the problem??
    Thanks!!

    The message "*** Break *** segmentation violation" is not characteristic of Java. It seems to be characteristic of ROOT. For those who do not not, see
    http://root.cern.ch/root/
    It may be that you have a "little graphic interface" but ROOT and the other software packages you are using (based on your other posts, Antares?) are big.
    My best guess: you are calling from Java to you JNI library, you then call the ROOT-based software, it is setting up its own exception handlers. While still in ROOT, you get a SEGV and see the output of the ROOT exception handling.
    There are nice, full tracebacks in some contexts, such as at this page:
    http://root.cern.ch/root/roottalk/roottalk03/0244.html
    Perhaps there is some initialization that ROOT normally does that is not happening because of the way your are calling it?

  • Access/segmentation violation

    I'm receiving 'Access/Segmentation Violation' errors
    in an all-Forte application. Does anybody have experience
    with problems like this?
    Thank You,
    Keith

    To Keith :
    Yep, they're a common occurrence at different stages of
    Forte application development. To start the ball rolling,
    what hardware platform and versions of Forte are you using
    for Client and Server ?
    Stab in the dark questions :
    Are you invoking the client or server with -fm memory flags ?
    eg. Ftexec -fm(n:8000,x:32000) -fi MyApp.idx
    Are you using interpreted partitions(standard) or compiled
    partitions ?
    Does your application contain external C library routines ?
    Justin
    Justin Levis
    Hydro Electric Corporation
    Hobart Tas

  • Windows 7 64 Bit machine with Instant Client and 32Bit application

    Hello everybody,
    the last days a tried to get a 32Bit application to run on a Windows 7 SP1 64 Bit machine ... unfortunately with no success. The application runs on XP Pro and Vista Pro 32 Bit machines against a 11g RDBMS for years. As a refenence we use SQLTools from sqltools.net. It has nearly the same behaviour like the application, because it is a 32 bit application too.
    First thing was to install a 64 bit environement to verify if the connection is allright.
    - Downloaded instantclient-basic-windows.x64-11.2.0.2.0.zip an instantclient-sqlplus-windows.x64-11.2.0.2.0.zip
    - Unpacked both packages into C:\oracle so that they reside in C:\oracle\instantclient_11_2
    - Made a directory C:\oracle\tnsnames with tnsnames.ora in it, because the app uses it
    - Set the environement variables TNS_ADMIN to point to C:\oracle\tnsnames and added C:\oracle\instantclient_11_2 in front of the path variable
    - Restarted the machine
    - Opened a commnd shell and startet sqlplus user/password@sid
    Everything was allright, I was able to connect to the database as expected
    Second thing was to start SQLTools, but as I feard it quitted with an error message when trying to access oci.dll of the instant client.
    So i decided to switch to a 32 bit environement as a third thing.
    - Downloaded instantclient-basiclite-nt-11.2.0.2.0.zip and instantclient-sqlplus-nt-11.2.0.2.0.zip
    - Deleted the old C:\oracle\instantclient_11_2
    - Unpacked both 32 bit packages into C:\oracle so that they reside in C:\oracle\instantclient_11_2
    - Didn't change anything in the environement, because nothing changed from the view of the system
    - Opened a commnd shell and startet sqlplus user/password@sid
    But now I wasn't able to connect and got the following error
    ORA-28547: connection to server failed, probable Oracle Net admin error
    SQLPlus was able to start now, but when trying to connect to the database I got the same error like when connecting with sqlplus.
    Does anybopdy have an idea how to manage to get a 32 bit application to run on a Windows 7 64 Bit machine?
    Thanks in advance
    My packages:
    Windows 7 64 bit SP1
    Oracle Instant Client basic lite 11.2.0.2.0
    SQLPlus 1.5 22D

    Have you tried WOW64 ? I have not used this emulator for sqlplus but it works for other 32 bit applications.
    http://msdn.microsoft.com/en-us/library/aa384249%28v=VS.85%29.aspx
    Thanks

  • Is my PHP + Oracle9i + Instant client setup ok ?

    Hello
    I have to developp a script in PHP for windows, using an Oracle 9i database.
    Here's my setup :
    Windows 2003 Server R2 (all patches applied)
    PHP 5.2.0
    Oracle 9i 9.2.0.1.1
    Instant client 10g 10.2.0.2-20060508
    Oracle9i was installed in C:\oracle\
    Oracle Instant client extracted to C:\dev\oracle\instantclient_10_2
    Here 's the PATH env variable (only oracle partis shown):
    C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\dev\php5.2;C:\dev\oracle\instantclient_10_2
    I deleted the "C:\oracle\ora92\bin" from PATH env variable in order to
    the Instant client to be used instead of. Is this a good solution ? Since now I have no more oracle tools available in command line without specifing full path.
    PHP is configured to use php_oci8.dll of course. No problem with that.
    I tryied to activate PDO but get an error message :
    When I run PHP from command line, same error message :
    Warning: PHP Startup: Invalid library (maybe not a PHP library)
    'php_pdo_oci8.dll' in Unknown on line 0
    Maybe it's a bug in PHP, I m not the first complaining about that as far as I know.
    My main question remains : Is my configuration the best way to do ? Is there a way not to loose oracle9/bin from PATH ?
    Thanks in advance
    Message was edited by:
    user541613

    Thanks, now I understand better.
    What is "Oracle Runtime"?
    Did you install Instant Client from the Oracle Client CD or did you download Instant Client from http://www.oracle.com/technology/software/tech/oci/instantclient/index.html ?
    Which version of Instant Client is this?
    Can you show us the contents of your tnsnames.ora file?
    Yours,
    Laurenz Albe

  • Attempting to Run 'Instant Client' via XCode on Mac OS X (v10.4.6)

    Environment: OS X (10.4.6) on G4.
    The Setup:
    I used 'Oracle Instant Client Installer' {http://www.kyngchaos.com/} to install the necessary Oracle libraries here:
    [Users/oracle]ls /usr/local/oracle/lib
    libclntsh.10.1.dylib* libclntsh.so@ libnnz10.dylib@ libocci.dylib.10.1@ libocijdbc.dylib@
    libclntsh.dylib@ libnnz.10.dylib* libocci.10.1.dylib* libociei.dylib* libocijdbc10.dylib@
    libclntsh.dylib.10.1@ libnnz.dylib@ libocci.dylib@ libocijdbc.10.dylib*
    I've read that LD_LIBRARY_PATH is rather "archaic" for the Mac OS X vs a directory of dylibs accessable directly from XCode.
    2) I set the XCode 2.2.1 Library search Path as:
    USER_HEADER_SEARCH_PATHS = /usr/local/oracle/sdk/include
    LIBRARY_SEARCH_PATHS = /usr/local/oracle/lib
    ==============
    So my questions are:
    1) How do I find the available APIs?
    I've looked at an on-line example but don't know what I'm doing.
    I saw some source-code demo on-line so I essentially cut/pasted the following code.
    The following is what I've done within the NSApp's Delegate method:
    #include "/usr/local/oracle/sdk/include/oci.h"
    static OCIEnv *p_env;
    static OCIError *p_err;
    static OCISvcCtx *p_svc;
    static OCIStmt *p_sql;
    static OCIDefine p_dfn    = (OCIDefine ) 0;
    static OCIBind p_bnd    = (OCIBind ) 0;
    int p_bvi;
    char p_sli[20];
    int rc;
    char errbuf[100];
    int errcode;
    @implementation AppDelegate
    - (id)init {
         self = [super init];
         if (self) {
              rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0, // Initialize OCI
              (dvoid * (*)(dvoid *, size_t)) 0,
              (dvoid * (*)(dvoid *, dvoid *, size_t))0,
              (void (*)(dvoid *, dvoid *)) 0 );
              // Initialize environment
              rc = OCIEnvInit( (OCIEnv **) &p_env, OCI_DEFAULT, (size_t) 0, (dvoid **) 0 );
              // Initialize handles:
              rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_err, OCI_HTYPE_ERROR,
                             (size_t) 0, (dvoid **) 0);
              rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_svc, OCI_HTYPE_SVCCTX,
                             (size_t) 0, (dvoid **) 0);
         NSLog(@"{Appdelegate} Init.");
         return self;
    } // end init().
    ==============
    What I get is:
    test has exited due to signal 6 (SIGABRT).
    [Session started at 2006-05-20 16:01:28 -0700.]
    ZeroLink: unknown symbol '_OCIInitialize'
    2) Am I on the right track or what am I doing wrong?
    -- Oracle/OS X neopyte.
    Ric.

    Firefox 4 requires at least OS X 10.5 and an Intel Mac. There is a third party version of Firefox 4 that runs on OS X 10.4/10.5 and PPC Macs, for details see http://www.floodgap.com/software/tenfourfox
    If you prefer, you can get the latest version of Firefox 3.6 from http://www.mozilla.com/en-US/firefox/all-older.html

  • ORACLE 10 INSTANT CLIENT:The procedure entry point OCILobRead2 could not...

    The problem still remain:
    I've installed oracle 10g instant client
    SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jan 10 12:43:40 20
    PHP VERSION: php-5.2.0 for Win32
    APACHE VERSION: apache_2.0.59 for WIN32
    But I've the same old error when I try to restart Apache:
    The procedure entry point OCILobRead2 could not be located in the dinamic link library OCI.dll
    Is there anyone who can help me to solve this kind of problem?
    Thanks in advance.

    The solution is that you need to have Oracle 10g client side libraries
    installed (or you have to recompile PHP yourself). The oci8 extension
    has some version dependent code and the person who builds Windows PHP
    builds it with the latest version of Oracle. I was discussing the
    impact of this just this week.
    Luckily Oracle Instant Client can be downloaded and used for free from
    http://www.oracle.com/technology/tech/oci/instantclient/index.html
    Also see
    http://www.oracle.com/technology/pub/notes/technote_php_instant.html
    -- cj

  • Solaris + iPlanet 6.0SP2 + PHP 5.1.2 + Instant Client

    Configuration:
    Solaris OS 5.8 (64bit)
    iPlanet 6.0 (SP2) (32bit)
    PHP v5.1.2 (32bit)
    Instant Client 10.2.0.1 (32 bit)
    I am able to compile and install php 5.1.2 and Instant Clinet 32bit libraris with my iPlanet Server. When i invoke a php script that contains oracle oci calls, the server processes them fine and at then restarts it selfs...
    I see this in my server's error logs... basically its showing a crash in libclntsh.so.10.1 library....
    ==========================
    [09/Mar/2006:10:20:56] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:56] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] catastrophe (17405): Server crash detected (signal SIGBUS)
    [09/Mar/2006:10:20:57] info (17405): Crash occurred in NSAPI SAF php5_execute
    [09/Mar/2006:10:20:57] info (17405): Crash occurred in function kohfrr from module /export/home/a297592/lib/oic/libclntsh.so.10.1
    [09/Mar/2006:10:20:57] failure (17398): Child process admin thread is shutting down
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] info (17408): Installing a new configuration
    [09/Mar/2006:10:20:58] info (17408): [LS ls1] http://fidlabdev01.fmr.com, port 80 ready to accept requests
    =======================================
    If i try to use 64 bit libraries, my iPlanet server won't start saying libclntsh.so.10.1 wrong ELF class: ELFCLASS64 while loading the php.
    I would very much appreciate if any one has any ideas to pass thru this
    Thanks
    Vijay

    Configuration:
    Solaris OS 5.8 (64bit)
    iPlanet 6.0 (SP2) (32bit)
    PHP v5.1.2 (32bit)
    Instant Client 10.2.0.1 (32 bit)
    I am able to compile and install php 5.1.2 and Instant Clinet 32bit libraris with my iPlanet Server. When i invoke a php script that contains oracle oci calls, the server processes them fine and at then restarts it selfs...
    I see this in my server's error logs... basically its showing a crash in libclntsh.so.10.1 library....
    ==========================
    [09/Mar/2006:10:20:56] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:56] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:57] catastrophe (17405): Server crash detected (signal SIGBUS)
    [09/Mar/2006:10:20:57] info (17405): Crash occurred in NSAPI SAF php5_execute
    [09/Mar/2006:10:20:57] info (17405): Crash occurred in function kohfrr from module /export/home/a297592/lib/oic/libclntsh.so.10.1
    [09/Mar/2006:10:20:57] failure (17398): Child process admin thread is shutting down
    [09/Mar/2006:10:20:57] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] failure (17398): Failed to read kernel statistics structures (No such device or address)
    [09/Mar/2006:10:20:58] info (17408): Installing a new configuration
    [09/Mar/2006:10:20:58] info (17408): [LS ls1] http://fidlabdev01.fmr.com, port 80 ready to accept requests
    =======================================
    If i try to use 64 bit libraries, my iPlanet server won't start saying libclntsh.so.10.1 wrong ELF class: ELFCLASS64 while loading the php.
    I would very much appreciate if any one has any ideas to pass thru this
    Thanks
    Vijay

  • Oracle instant Client and unixODBC for Linux has Error

    Hi experts,
    I have two Redhat EL 5. On the first Rehat(xxx.xxx.xxx.121 --> called Redhat1) I have installed Oracle 10g database server. On the second Redhat(xxx.xxx.xxx.123 --> called Redhat2) I want to connect to Oracle database server on xxx.xxx.xxx.121 via ODBC. But it does not work. Pls help me!
    I have done steps as following:
    Login to Redhat2 as root and type commands:
    1)Install Instant Client + sqlplus
    # rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
    # rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
    2)Setting environment variable
    # LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.4/client/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH
    # SQLPATH=/usr/lib/oracle/10.2.0.4/client/lib:${SQLPATH}; export SQLPATH
    3)Testing connection to Redhat1(Oracle DB server) using sqlplus
    # sqlplus abc/[email protected]:1521/lab2
    Connected.
    5)Begin to install unixODBC
    # rpm -ivh oracle-instantclient-odbc-10.2.0.4-1.i386.rpm
    # rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
    # rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
    # rpm -ivh unixODBC-kde-2.2.11-7.1.i386.rpm
    6)After installation above packages I check for existing of odbc.ini and odbcinst.ini in /etc --> ok
    # ls /etc | grep odbc
    odbc.ini
    odbcinst.ini
    7) Tar unixODBC-2.2.14-linux-x86-32.tar.gz and copy file to /usr/local/bin, /usr/local/include, /usr/local/lib
    # tar -xzf unixODBC-2.2.14-linux-x86-32.tar.gz
    # ls /usr/local/bin/
    dltest isql iusql odbc_config odbcinst
    # ls /usr/local/include
    autotest.h odbcinstext.h odbcinst.h sqlext.h sql.h sqltypes.h sqlucode.h unixodbc_conf.h uodbc_extras.h uodbc_stats.h
    # ls /usr/local/lib
    libboundparam.la libgtrtst.la libodbccr.la libodbcinst.la libodbc.la
    libboundparam.so libgtrtst.so libodbccr.so libodbcinst.so libodbc.so
    libboundparam.so.1 libgtrtst.so.1 libodbccr.so.1 libodbcinst.so.1 libodbc.so.1
    libboundparam.so.1.0.0 libgtrtst.so.1.0.0 libodbccr.so.1.0.0 libodbcinst.so.1.0.0 libodbc.so.1.0.0
    # NLS_LANG=AMERICAN_AMERICA.UTF8; export NLS_LANG
    # TNS_ADMIN=/root; export TNS_ADMIN
    # ODBCINI=/etc/odbc.ini; export ODBCINI
    7)Retest sqlplus to Redhad1(Oracle database server) with local tnsname
    # sqlplus vonphoto/vonphoto@lab2
    SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 27 03:20:55 2010
    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    8) Edit odbc.ini and odbcinst.ini
    ---odbcinst.ini
    # Included in the unixODBC package
    [Oracle 10g ODBC driver]
    Description = Oracle ODBC driver for Oracle 10g
    Driver = /usr/lib/oracle/10.2.0.4/client/lib/libsqora.so.10.1
    Setup =
    FileUsage =
    CPTimeout =
    CPReuse =
    ---odbc.ini
    [ora_dns]
    Driver = Oracle 10g ODBC driver
    DSN = ora_dns
    ServerName = xxx.xxx.xxx.121
    UserID = vonphoto
    Application Attributes = T
    Attributes = W
    BatchAutocommitMode = IfAllSuccessful
    BindAsFLOAT = F
    CloseCursor = F
    DisableDPM = F
    DisableMTS = T
    EXECSchemaOpt =
    EXECSyntax = T
    Failover = T
    FailoverDelay = 10
    FailoverRetryCount = 10
    FetchBufferSize = 64000
    ForceWCHAR = F
    Lobs = T
    Longs = T
    MetadataIdDefault = F
    QueryTimeout = T
    ResultSets = T
    SQLGetData extensions = F
    Translation DLL =
    Translation Option = 0
    DisableRULEHint = T
    TraceFile = /backup/sql.log
    Trace = Yes
    9)Testing the driver and the data source
    # odbcinst -q -d
    [Oracle 10g ODBC driver]
    # odbcinst -q -s
    [ora_dns]
    10) Test connection via ODBC from Redhat2(xxx.xxx.xxx.123) to Redhat1(xxx.xxx.xxx.121)
    # isql -v ora_dns
    isql: error while loading shared libraries: libreadline.so.3: cannot open shared object file: No such file or directory
    I have spent 4 days to search on the internet. But it still error.
    Pls help me.

    Apologies - thought it was a database to database connection that you were trying to create.
    isql: error while loading shared libraries: libreadline.so.3: cannot open shared object file: No such file or directoryThe readline library is in package readline-4.3-13 on RHEL4 and in readline-5.1-1.1 for RHEL5 on my servers (minor version number are of course dependent on the kernel version used).
    This is also not an ODBC or Oracle issue. It seems that isql is using rlwrap or similar - this requires the readline library. And possibly LD_LIBRARY_PATH to be set too.

Maybe you are looking for

  • How to insert a condition in the Graphic Window of a SAP Script ?

    Hi, I need to give a condition inside the Graphic Window for printing the Logo in the  SAP Script. Now, my problem is that the Graphic window is only opening in Display mode. How to make it editable and insert a condition in it? OR Is there any other

  • Manual data table population

    I have a case where I need to populate a data table manual. There are two columns in the table. One column for a checkbox and one to display a name. How do you do it without binding it to a table?

  • Display Line Items

    Hi, I have created a new company code in PRD. When I want to view the lines items in FBL3N, it displays "No line items can be found". The business user has posted exp and rev account for the company code. It can be display at fs10n but not in fbl3n.

  • IMG - Status for Documents

    Hello guys, does anyone knows if its possible to configure to fire an automatic email every time someone changes a document status in the project documentation? Thanks for advance.

  • How to export waveform data into text file

    Hi..     I am trying to export my waveform graph data into write spreadsheet file. When running the proram, I am getting graph values (values in a matrix) when checking with the probe. But once I save it to a text file, the values recorded are just z