OCI Connections - MDME

Hi,
I am planning to use OCI to connect to other systems like R/3 / CRM / SRM . I don't have XI in place. Can anybody help me how to proceed on this.
Thanks in Advance,
Rajani Kumar K

MDME does not support OCI standard out-of-the-box.  The natural way is using MDME API.
MDME API can be used to export any repository element to an XML file according to OCI schema definition. Integration with an OCI solution can be developed on a project basis.

Similar Messages

  • Oracle 8.1.5 and JDBC OCI connection problem

    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    null

    Please this is not simple as simple as checking the classpath and LD_LIBRARY_PATH.
    I tried the sample program and the result is the same. As pointed out first by Won, putting the libocijdbc8.so from SDK8.1.6 in the LD_LIBRARY_PATH has no effect at all. It gives the unsatisfied linker error. The sample program fails. However the sample program works fine with the libocijdbc8.so from sdk8.1.5. The library gets loaded. But at the time of creating the connection it gives make_c_state error.
    Here is my CLASSPATH, PATH and LD_LIBARY_PATH variables
    ORACLE_HOME=/opt/oracle/product/8.1.5
    LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/opt/oracle/product/8.1.5/lib
    PATH=/usr/openwin/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/opt/oracle/product/8.1.5/lib
    Hope you are able to provide better answer then check your environment variables.
    THE libocijdbc8.so FROM SDK8.1.6 DOES NOT GET LOADED AT ALL.
    Waiting for the reply.
    Please Help.
    Regards,
    Vipul Modi.
    Novell Inc.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Won, Taewoong([email protected]):
    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    <HR></BLOCKQUOTE>
    null

  • Application crashes with timesten database  over  OCI connection

    Application crashes with timesten database over OCI connection
    #0 0x405e09f8 in kpudsany () from /home/oracle/TimesTen/ratingtt1121/ttoracle_home/instantclient_11_1/libclntsh.so.10.1
    #1 0x405728d0 in OCIDescribeAny () from /home/oracle/TimesTen/ratingtt1121/ttoracle_home/instantclient_11_1/libclntsh.so.10.1
    #2 0x43748a5a in GDBociDriver::StoredProcArgumentList () from /home/omni/library/libgfr_dboci.so
    #3 0x4374e865 in GDBociDriver::StoredProcCallFormat () from /home/omni/library/libgfr_dboci.so
    #4 0x4376ec9a in GDBociDriver::ExecuteStmtBind () from /home/omni/library/libgfr_dboci.so
    #5 0x4376fc69 in GDBociDriver::Execute () from /home/omni/library/libgfr_dboci.so
    #6 0x436ba240 in GDBstatement::Execute () from /home/omni/library/libgfr_dblayer.so
    #7 0x43736106 in GDBociDriver::SetModule () from /home/omni/library/libgfr_dboci.so
    #8 0x4366cb22 in GDBconnectionPool::GetConnection () from /home/omni/library/libgfr_dblayer.so
    #9 0x4367a9db in GDBdriver::LoginConnectionGet () from /home/omni/library/libgfr_dblayer.so
    #10 0x4373dbaa in GDBociDriver::Login () from /home/omni/library/libgfr_dboci.so
    #11 0x4377380f in CreateOCIDriver () from /home/omni/library/libgfr_dboci.so
    #12 0x4367bb2a in GDBdriverLoader::CreateDriver () from /home/omni/library/libgfr_dblayer.so
    #13 0x436d423d in IGDBdriverMgr::GetDriverAndLogin () from /home/omni/library/libgfr_dblayer.so
    #14 0x436d4da1 in IGDBdriverMgr::GetDriver () from /home/omni/library/libgfr_dblayer.so
    #15 0x436a5071 in GDBserverDef::InitialLogin () from /home/omni/library/libgfr_dblayer.so
    #16 0x433247cc in CcapAdbAccess::Init (this=0x9e85a88) at CcapAdbAccess.C:161
    #17 0x43331c44 in CcapMain::Run (this=0x434eeb80, sdpId=2, processName=0x9dae29c "URE61_O2") at CcapMain.C:132
    #18 0x080947d1 in ccap_thread (arg=0x0) at main.C:1588
    #19 0x080e7bd2 in ThreadManager::WrapperRoutine (ipArg=0x9e84fc0) at ThreadManager.C:176
    #20 0x0035f44a in start_thread () from /lib/libpthread.so.0
    Timesten has some limitations and it says:
    Describing objects with OCIDescribeAny() is supported only by name. Describing PL/SQL objects is not supported.
    home/omni/library/libgfr_dblayer.so
    Cloud you please tell us whit might be the reason for this

    Are you able to provide exact details of the OCIDescribeAny call being made by the application (including parameter values)?
    Chris

  • Using a Context in Pro*C from OCI connection

    Hi all.
    I have to write embedded SQL instruction using a context based upon an OCI connection.
    I get the connection from an Arbor/BP API that return an LDA_DEF structure and I want to execute the SQL instruction on that connection.
    Does anybody of you meet something like this?
    Thanx
    Claudio

    hey VARCHAR is the same as VARCHAR2, isn't it???Yes, they are the same (as long as the ANSI committee is not going to change the definition of VARCHAR)
    What I was trying to say is that VARCHAR is an external datatype just like STRING
    in any case will it work from STRING of host language to VARCHAR2 of oracle database while inserting???I pointed you to the documentation, but you will only know for sure, if you try it yourself with a small example

  • Group by SQL functionality under OCI connection

    Hi,
    I am using OCI connection to load data into Essbase cube. I was just wondering, where to define group by statements in the connection panel. Because i only see Select,From and Where boxes.
    Can i put my groupby script under where condition?

    You can ignore the other boxes besides the select one, you can put the full sql statement in the select box though remove the select.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Load-balancing with OCI connections

    Gurus,
    Oracle Identity Federation (OIF) can leverage an Oracle database as its transient data store in which case it uses JDBC-OCI connections to connect. However, there is no provision in OIF of defining multiple databases for load-balancing purposes.
    Is this achievable using some load-balancer in front of multiple database instances and using a virtual hostname/IP in tnsnames.ora which OIF refers to?
    -Vinod

    I would say that using two seperate databases (with replication)
    as the backend would mean that one database, at any time,
    might be lagging the other, depending on which tables are updated
    and how replication is implemented.
    Connect Time Failover, rather than Load Balancing, might be an
    implementation -- to handle Instance Failure (eg node / site has gone down).
    Instead of Load Balancing.
    Load Balancng between two seperate databases would be usable
    if you are sure that either of
    a. The underlying data doesn't change
    OR
    b. The application and users are aware that they might see different data
    if there ARE changes to the data, not yet synchronised between the two DBs.

  • Oci connection-entry point kpufhndl0 could not be located

    hi
    i use jdev 10.1.3.3 & 10g.
    a thin connection to db works fine, but i have to use an oci connection which i fail to set.
    i've edited jdev.conf file as described here: http://www.oracle.com/webapps/online-help/jdeveloper/10.1.2/state/content/navId.4/navSetId._/vtTopicFile.db%7Ccdb_rconnectionreqsoci~html/
    and added AddNativeCodePath pointing to oracle installation directory.
    but an attempt to test a connection returns an error saying "The procedure entry point kpufhndl0 could not be located in the dynamic link library OCI.dll".
    i've found a post saying that this issue has been solved by placing jdbc:oracle:oci:@host:port:sid in jdbc custom url field of db settings. not i my case, i'm getting the same error.
    any thoughts?
    thanks a lot!
    Message was edited by:
    cyclid

    sorry, no solution yet. bumpin' it...

  • OCI Connection Pool

    Hi,
    How do I use an OCI Connection Pool as a data source in OC4J?
    A sample data-sources.xml would be helpful.
    A snippet of servlet code would be great!
    Thanks

    Hi,
    OracleOCIConnectionPool extends OracleDataSource and I have
    created and attached a example test case OCIConnPoolJNDI.java of
    how to register this OCI pool object via JNDI InitialContext and
    look it up.
    The test assumes a default directory /tmp/JNDI/jndi_dir to exist
    that can be changed. You also need dbjava/lib/jndi.zip (or
    jndi.jar) and jis/lib/aurora_client.jar in your CLASSPATH
    * Different Config test for connection pooling
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import java.math.BigDecimal;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.*;
    import oracle.jdbc.oci.*;
    import oracle.sql.*;
    import javax.naming.*;
    import javax.naming.spi.*;
    import javax.sql.*;
    public class OCIConnPoolJNDI
    public static void main(String args[]) throws SQLException,
    NamingException
    String url = "jdbc:oracle:oci8:@" ;
    Context ctx = null;
    Hashtable env = new Hashtable (5);
    env.put (Context.INITIAL_CONTEXT_FACTORY,
    "com.sun.jndi.fscontext.RefFSContextFactory");
    String fileDir = "file:/tmp/JNDI";
    System.out.println("fileDir = " + fileDir);
    env.put (Context.PROVIDER_URL, fileDir);
    ctx = new InitialContext(env);
    Properties poolconfig = new Properties( ) ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT,
    "1") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT,
    "10") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_INCREMENT,
    "2") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_NOWAIT,
    "true") ;
    poolconfig.put(OracleOCIConnectionPool.TRANSACTIONS_DISTRIBUTED,
    "true") ;
    OracleOCIConnectionPool ods = new OracleOCIConnectionPool
    ("scott", "tiger", url, poolconfig);
    System.out.println("-- Doing the Bind --");
    ctx.bind ("jndi_dir/tkpjcpdb1",ods);
    ods.close();
    System.out.println("-- Doing the Lookup --");
    OracleOCIConnectionPool cpool = (OracleOCIConnectionPool)
    ctx.lookup
    ("jndi_dir/tkpjcpdb1");
    test1(cpool);
    // Close the connection
    cpool.close();
    cpool = null;
    public static void test1(OracleOCIConnectionPool cpool)
    throws SQLException
    System.out.println ("User = " + cpool.getUser());
    System.out.println ("URL = " + cpool.getURL());
    System.out.println ("Default Min poolsize Limit = " +
    cpool.getMinLimit());
    System.out.println ("Default Max poolsize Limit = " +
    cpool.getMaxLimit());
    System.out.println ("Default Connection Increment = " +
    cpool.getConnectionIncrement());
    java.util.Properties p = new java.util.Properties( );
    p.put (OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT, "1") ;
    p.put (OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT, "1") ;
    p.put (OracleOCIConnectionPool.CONNPOOL_INCREMENT, "0") ;
    cpool.setPoolConfig(p);
    System.out.println ("Set Min poolsize Limit = " +
    cpool.getMinLimit());
    System.out.println ("Set Max poolsize Limit = " +
    cpool.getMaxLimit());
    System.out.println ("Set Connection Increment = " +
    cpool.getConnectionIncrement());
    //get a connection from the pool
    OracleOCIConnection conn1 = (OracleOCIConnection)
    cpool.getConnection();
    OracleOCIConnection conn2 = (OracleOCIConnection)
    cpool.getConnection();
    OracleOCIConnection conn3 = (OracleOCIConnection)
    cpool.getConnection();
    System.out.println("ActiveSize of pool = " +
    cpool.getActiveSize());
    System.out.println("PoolSize = " + cpool.getPoolSize());
    testConn1(conn1);
    testConn1(conn2);
    testConn1(conn3);
    conn1.close();
    conn2.close();
    conn3.close();
    public static void testConn1 (OracleOCIConnection conn)
    throws SQLException
    System.out.println ("Got Pooled connection ...");
    // try operations via the pool
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select USER from
    dual");
    while (rset.next ())
    System.out.println (" User = " + rset.getString (1));
    rset.close();
    stmt.close();

  • Java 10g OCI connection

    I am not able to connect to oracle 10g from java(j2sdk1.4.2_04) using OCI. I have the basic instantclient10_1 downloaded and I have made my classpath and path point to the instantclient directory. Os used is win2k.
    I think I am able to load the driver because
    Class.forName ("oracle.jdbc.driver.OracleDriver"); given inside try doesn't get caught.
    when I use
    DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@"); I get runtime error(no compile error)
    Exception in thread "main" java.lang.UnsatisfiedLinkError: t2cGetCharSet
    at oracle.jdbc.driver.T2CConnection.t2cGetCharSet(Native Method)
    at oracle.jdbc.driver.T2CConnection.getCharSetIds(T2CConnection.java:290
    7) and some more lines.
    The same error I get if I use oci instead of oci8 and if I add orcl after @.
    I then tried
    java -classpath %cp% -Djava.library.path=C:\instantclient MyJavaApp
    which gives
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    But I am able to connect using thin client. Please help in setting my oci connection right.

    I just realized after the last post, that not everyone is amiliar with the latin character set.
    I'm refering to ISO 8859-1 Or WE8ISO8859P1
    The default on my pc is
    [AMERICAN_AMERICA.WE8MSWIN1252] which may or may not be what I need.
    But some how for me the following always does the trick nicely.
    AMERICAN_AMERICA.WE8ISO8859P1
    The reall killer in going from UTF to another format or vice versa. The 10g OCI client puts to much faith in Microsoft and defaults you to whatever is in windows.
    -- Checking your NLS:
    From windows, to check the NLS_LANG, you need to open a command prompt and to run sqlplus in command line mode.
    First, check if it's set in the environment:
    SQL> host echo %NLS_LANG%
    If this reports just %NLS_LANG% back, the variable is not set in the
    environment. If it's set it reports something like
    ENGLISH_UNITED KINGDOM.WE8PC850
    If NLS_LANG is not set in the enviroment, you should check the value
    in the registry:
    SQL> @.[%NLS_LANG%].
    If you get something like:
    unable to open file ".[ENGLISH_UNITED KINGDOM.WE8ISO8859P1]."
    the "file name" between the '[]' is the value of the registry parameter.
    (This is NOT an error but just a "trick" to get the NLS_LANG value)
    If you get this as result:
    unable to open file ".[%NLS_LANG%]."
    then the parameter NLS_LANG is also not set in the registry.
    Note: the @.[%NLS_LANG%]. "trick" reports the NLS_LANG known by the sqlplus
    executable, it will not read the registry itself.
    But then you are not sure if the variable is set in the enviroment or in the
    registry. That's the reason of checking with the host commando first.

  • Issues with OCI connection..

    I've been working on this for over a day, with infinite variations on the theme; but I cannot get a basic query to give back data. I've got the following code:
    <?
    $orcl = <<<OUT
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = orcl)(INSTANCE_NAME = orcl)
    OUT;
    $oci = oci_connect('','',$orcl)
    or die('Connection error.');
    if(!$oci) {
         echo 'Connection error: ';
         if(oci_error($oci)) {
              $oerr = oci_error();
              echo $oerr['code'];
         die;
    echo '<p>Initiated connection.</p>';
    $input = <<<OUT
         select * from user_objects
         where object_name not like '%SYS_%'
         order by object_name;
    OUT;
    $query = oci_parse($oci, $input);
    if(!$query) {
         $oerr = oci_error($oci);
         echo $oerr['code'];
    if(oci_execute($query)) {
         while($output = oci_fetch_array($query)) {
              $object = $output['OBJECT_NAME'];
              echo $object . '
    } else {
         echo 'Issue occurred..';
    oci_close($oci);
    ?>
    If I open this in a browser, it gives back the following:
         Initiated connection.
         Issue occurred..
    In other words, this indicates to me that the connection is being created, but that the query itself isn't being parsed or executed correctly. I've changed various things, for instance inserting 'orcl' instead or $orcl in the oci_connect(), including environment variables, etc. etc.; but I've gotten no further than this with it.
    Interestingly, if I do 'php index.php' on the command line, I get an ORA-12557 error (why is the page giving back 'Initiated connection' if this is the case).
    Installed Oracle is 10g 10.1.0 on Windows, connection is local. Thanks very much for any input..

    Odd; but thank you.
    I generally do that in order to offset db interactions a bit from other code and it's never been an issue with postgres interactions; but in this case I changed that and it's working now. I'm off to look into why this is (I imagine oci_parse isn't into it while PEAR::DB or pg_query ignore it; but I'm not certain).
    In either case, thank you.

  • Oracle OCI connectivity issue

    Hi All,
    We have jave code, that resides in the same server as the Oracle DB( HP-Ux). It uses OCI driver to connect to the server.
    jdbc.url=jdbc:oracle:oci8:@
    jdbc.username=
    jdbc.password=
    These are the properties that had been set. The code was working fine in Oracle 9.i. On migrating the server to 10g we get an error saying that
    java.java.sql.SQLException: SimpleDataSource:connect - java.sql.SQLException: ORA-01017: invalid username/password; logon denied.
    OfCourse the basic idea would be that userid/pwd is not being passed. But we have not been setting the user id and pwd in 9i and it is working there, but not in 10g. So does OCI driver use the os userid/pwd or something for connecting.
    Thanks in Advance,
    Vignesh

    No, we have no such file. In fact i just wrote a simple connection class. The code is as below.
    import java.sql.Connection;
    import java.sql.*;
    class SimpleCon {
         public static void main(String args[]){
              getConnection();
         public static void getConnection() {
         try {
              Connection con = connect();
              System.out.println("Connected");
         } catch(SQLException ex) {
              ex.printStackTrace();
         public static Connection connect() throws SQLException
         final String methodSig = "SimpleDataSource:connect";
         String jdbcUrl = "jdbc:oracle:oci:@"     ;
         String jdbcUsername = ""     ;
         String jdbcPassword = "";
         Connection conn = null;
         try
         Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
         conn = DriverManager.getConnection
         (jdbcUrl, jdbcUsername, jdbcPassword);
                   DatabaseMetaData dbm = conn.getMetaData();
                   System.out.println(dbm.getUserName());
                   System.out.println(dbm.getDriverName());
                   System.out.println(dbm.getDriverVersion());
         //setConnectionProperties(conn);
         return conn;
         catch (SQLException e) {
         e.printStackTrace();
              System.err.println("SQL error: " + e.getErrorCode());
              System.err.println("SQL state: " + e.getSQLState());
              throw(e);
         }catch(Exception ie){
                   ie.printStackTrace();
              return null;
    This particular code works in HP-UX - Oracle 9.i . If we do not pass userid/pwd it usually connects in as OS user, and Oracle has a User id Setup corresponding to the os user.
    But the same code does not work in Oracle 10g, even though we have the Oracle User corresponding to the OS user set up. If we pass that particular user id and pwd, it works fine.
    Does it throw and light.
    Thanks
    Vignesh

  • OCI connect error reported to cause core dump

    I use OCI in my developped library. Other developers use my library for their development purposes. Last night, the oracle server went down for patching, and a user reported a core dump that I recognized it is comming from my OCI section of library.
    I do OCI initialization, select, execute a query, and cleanup.
    Has there been any reports as for the case, when a connection is initialized, and the server goes down after successful initialization but before calls to execute a query or commit?
    Any comment???
    I have the error message below, and replace prepriotory info with xxxxxxx.
    thanks,
    --M
    Fatal NI connect error 12541, connecting to:
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxxxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xxxxxx)(CID=(PROGRAM=xxxxxx@fashing)(HOST=xxxxxx)(USER=xxxxx))))
    VERSION INFORMATION:
    TNS for Solaris: Version 10.1.0.4.0 - Production
    TCP/IP NT Protocol Adapter for Solaris: Version 10.1.0.4.0 - Production
    Time: 15-FEB-2007 15:49:09
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12541
    TNS-12541: TNS:no listener
    ns secondary err code: 12560
    nt main err code: 511
    TNS-00511: No listener

    We have seen core dumps in system calls earlier and have tried to debug them. We did not have the exact same stack as you but the core used to show up a stack in _malloc.
    As it turned out that we had out of bound array reads (used purify to detect this) and which resulted in this dump. So the stack shown in this case could be totally misleading and the real cause could be somewhere else.
    Hope this helps.

  • Is it possible to use an OCI connection JDBC?

    If a Java application relies on a native C library to access an Oracle database, and the native library uses the OCI, is it possible for the Java code to share an established connection

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Jacques Vidal:
    If a Java application relies on a native C library to access an Oracle database, and the native library uses the OCI, is it possible for the Java code to share an established connection <HR></BLOCKQUOTE>
    (sorry, incomplete post, last part follows:)
    in JDBC using a mechanism like sqllda() or SQLEnvGet()/SQLSvcCtxGet() ?
    I need this to keep transaction consistency, and can't translate the C code to Java, as it's still used by other non-Java applications.
    Thanks.

  • OCI connection to oracle FAILED !!!

    Hi all,
    I would like to use OCI and to user Oracle OS authenication to connect to my Oracle database.
    I have already set up proper user account in Oracle in order to make OS authenication works.
    However, when I run the java program, it gives me the error as below :
    Exception in thread "main" java.lang.NoClassDefFoundError: makeConnection
    My connection is as below :
    Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:
    /@ems","oraemsu1","oraemsu1");
    any hints ?

    Hi,
    Really thanks for your suggestion. I will try this out.
    The reason why i need to immplement oci is that the program is in fact not develop by me, but by some developers. They are lazy to encrypt username and password and on the other hand they also dun want to hardcode the username and pwd in their jave programm!!!
    As I am the dba, I need to set the Oracle database to support OS authenication for their program to connect to the oracle database. And I know OCI driver is the only driver support OS authenication .
    BTW, do you have any other good alternatives for me then ?
    Also, if I am using AIX, should the lib path be $LIBPATH instead of LD_LIBRARY_PATH ?
    Many thanks !

  • Oracle OCI Connection Problem

    Could you please help me?
    When I try to access Oracle using TopLink and OCI this error occurred
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_IN_PAGE_ERROR (0xc0000006) at pc=0x10007774, pid=3504, tid=3716
    # Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)
    # Problematic frame:
    # C [OCI.dll+0x7774]
    # An error report file with more information is saved as hs_err_pid3504.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    [error occurred during error reporting, step 270, id 0xc0000006]
    I have used these libraries
    - ojdbc14.jar
    - toplink-essentials.jar
    - toplink-essentials-agent.jar
    Also I used netbeans v6
    and Apache Tomcat 6.0.14
    The following code shows my persistence.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit name="RtsModelPU" transaction-type="RESOURCE_LOCAL">
        <provider>oracle.toplink.essentials.PersistenceProvider</provider>
        <class>com.xxx.rts.model.Responsibility</class>
        <class>com.xxx.rts.model.Person</class>
        <class>com.xxx.rts.model.WeeklyTask</class>
        <properties>
          <property name="toplink.jdbc.user" value="XXX"/>
          <property name="toplink.jdbc.password" value="XXX"/>
          <property name="toplink.jdbc.url" value="jdbc:oracle:oci:@XXX"/>
          <property name="toplink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
        </properties>
      </persistence-unit>
    </persistence>This is the server log file
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_IN_PAGE_ERROR (0xc0000006) at pc=0x10007774, pid=3504, tid=3716
    # Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)
    # Problematic frame:
    # C [OCI.dll+0x7774]
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x0aaaa000): JavaThread "Finalizer" daemon [_thread_in_native, id=3716]
    siginfo: ExceptionCode=0xc0000006, ExceptionInformation=0x00000000 0x10007774 0xc000020c
    Registers:
    EAX=0x00000003, EBX=0x00000000, ECX=0x0b837070, EDX=0x00000001
    ESP=0x0ac1f54c, EBP=0x0ac1f564, ESI=0x0b3cbc00, EDI=0x0b3cbc00
    EIP=0x10007774, EFLAGS=0x00010202
    Top of Stack: (sp=0x0ac1f54c)
    0x0ac1f54c: 0c6504d7 0b88ea34 0b88eae8 00000000
    0x0ac1f55c: 0b837070 00000000 0ac1f580 0c65d331
    0x0ac1f56c: 0b3cbc00 00000001 0b3cbc00 00000000
    0x0ac1f57c: 00000000 0ac1f5a0 0c644647 0b3cbc00
    0x0ac1f58c: 00000000 0b3cbc00 00000000 0b3cbc00
    0x0ac1f59c: 07c1b6b8 0ac1f5c4 0c6444d1 0b3cbc00
    0x0ac1f5ac: 00000000 0b3cbc00 00000000 00000000
    0x0ac1f5bc: 0c4f1348 0c4f1f38 0ac1f5e8 74327ed4
    Instructions: (pc=0x10007774)
    0x10007764:
    [error occurred during error reporting, step 100, id 0xc0000006]
    Stack: [0x0abd0000,0x0ac20000), sp=0x0ac1f54c, free space=317k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [OCI.dll+0x7774]
    C [SQORA32.DLL+0x1d331]
    C [SQORA32.DLL+0x4647]
    C [SQORA32.DLL+0x44d1]
    C [ODBC32.dll+0x7ed4]
    C [JdbcOdbc.dll+0x4d8b]
    j sun.jdbc.odbc.JdbcOdbc.SQLDisconnect(J)V+132
    j sun.jdbc.odbc.JdbcOdbcDriver.disconnect(J)V+4
    j sun.jdbc.odbc.JdbcOdbcConnection.close()V+42
    j oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.closeDatasourceConnection()V+4
    j oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.disconnect(Loracle/toplink/essentials/internal/sessions/AbstractSession;)V+35
    j oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.disconnect(Loracle/toplink/essentials/internal/sessions/AbstractSession;)V+7
    j oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.disconnect()V+14
    j oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.logout()V+25
    j oracle.toplink.essentials.threetier.ServerSession.logout()V+1
    j oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.removeSessionFromGlobalSessionManager()V+21
    j oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.undeploy()V+159
    j oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.close()V+13
    j oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.finalize()V+8
    v ~StubRoutines::call_stub
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j sun.jdbc.odbc.JdbcOdbc.disconnect(J[B)V+0
    j sun.jdbc.odbc.JdbcOdbc.SQLDisconnect(J)V+132
    j sun.jdbc.odbc.JdbcOdbcDriver.disconnect(J)V+4
    j sun.jdbc.odbc.JdbcOdbcConnection.close()V+42
    j oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.closeDatasourceConnection()V+4
    j oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.disconnect(Loracle/toplink/essentials/internal/sessions/AbstractSession;)V+35
    j oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.disconnect(Loracle/toplink/essentials/internal/sessions/AbstractSession;)V+7
    j oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.disconnect()V+14
    j oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.logout()V+25
    j oracle.toplink.essentials.threetier.ServerSession.logout()V+1
    j oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.removeSessionFromGlobalSessionManager()V+21
    j oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.undeploy()V+159
    j oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.close()V+13
    j oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.finalize()V+8
    v ~StubRoutines::call_stub
    j java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V+0
    j java.lang.ref.Finalizer.runFinalizer()V+45
    j java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;)V+1
    j java.lang.ref.Finalizer$FinalizerThread.run()V+11
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x0b0b0c00 JavaThread "JDWP Transport Listener: dt_shmem" daemon [_thread_in_native, id=5896]
    0x0b3d3400 JavaThread "http-8084-4" daemon [_thread_blocked, id=464]
    0x0af5a000 JavaThread "http-8084-3" daemon [_thread_blocked, id=5312]
    0x0b22d000 JavaThread "TP-Monitor" daemon [_thread_blocked, id=6060]
    0x0b36b000 JavaThread "TP-Processor4" daemon [_thread_in_native, id=5300]
    0x0b33ec00 JavaThread "TP-Processor3" daemon [_thread_blocked, id=636]
    0x0b33e400 JavaThread "TP-Processor2" daemon [_thread_blocked, id=2364]
    0x0b127000 JavaThread "TP-Processor1" daemon [_thread_blocked, id=4616]
    0x0b264000 JavaThread "http-8084-2" daemon [_thread_blocked, id=2092]
    0x0b32b000 JavaThread "http-8084-1" daemon [_thread_in_native, id=784]
    0x0b097800 JavaThread "http-8084-Acceptor-0" daemon [_thread_in_native, id=4424]
    0x0b200800 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=3832]
    0x0aada000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4072]
    0x0aad8800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=5492]
    0x0aacd800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=5060]
    0x0aabcc00 JavaThread "Attach Listener" daemon [_thread_blocked, id=5980]
    0x0aabc000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6100]
    =>0x0aaaa000 JavaThread "Finalizer" daemon [_thread_in_native, id=3716]
    0x0aaa5800 JavaThread "Reference Handler" daemon [_thread_blocked, id=3636]
    0x00299400 JavaThread "main" [_thread_in_native, id=876]
    Other Threads:
    0x0aaa2800 VMThread [id=5072]
    0x0aadb800 WatcherThread [id=4248]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 1280K, used 25K [0x02990000, 0x02af0000, 0x02e70000)
    eden space 1152K, 2% used [0x02990000, 0x02996470, 0x02ab0000)
    from space 128K, 0% used [0x02ab0000, 0x02ab0000, 0x02ad0000)
    to space 128K, 0% used [0x02ad0000, 0x02ad0000, 0x02af0000)
    tenured generation total 16728K, used 11763K [0x02e70000, 0x03ec6000, 0x06990000)
    the space 16728K, 70% used [0x02e70000, 0x039ecd70, 0x039ece00, 0x03ec6000)
    compacting perm gen total 36352K, used 36190K [0x06990000, 0x08d10000, 0x0a990000)
    the space 36352K, 99% used [0x06990000, 0x08ce7be8, 0x08ce7c00, 0x08d10000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x00423000      C:\Program Files\Java\jdk1.6.0_03\bin\java.exe
    0x7c900000 - 0x7c9b0000      C:\WINNT\system32\ntdll.dll
    0x7c800000 - 0x7c8f5000      C:\WINNT\system32\kernel32.dll
    0x77dd0000 - 0x77e6b000      C:\WINNT\system32\ADVAPI32.dll
    0x77e70000 - 0x77f02000      C:\WINNT\system32\RPCRT4.dll
    0x77fe0000 - 0x77ff1000      C:\WINNT\system32\Secur32.dll
    0x7c340000 - 0x7c396000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\msvcr71.dll
    0x6d870000 - 0x6daba000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\client\jvm.dll
    0x7e410000 - 0x7e4a0000      C:\WINNT\system32\USER32.dll
    0x77f10000 - 0x77f57000      C:\WINNT\system32\GDI32.dll
    0x76b40000 - 0x76b6d000      C:\WINNT\system32\WINMM.dll
    0x629c0000 - 0x629c9000      C:\WINNT\system32\LPK.DLL
    0x74d90000 - 0x74dfb000      C:\WINNT\system32\USP10.dll
    0x77c10000 - 0x77c68000      C:\WINNT\system32\msvcrt.dll
    0x6d3c0000 - 0x6d3c8000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\hpi.dll
    0x76bf0000 - 0x76bfb000      C:\WINNT\system32\PSAPI.DLL
    0x6d4b0000 - 0x6d4d9000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\jdwp.dll
    0x6d770000 - 0x6d776000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\npt.dll
    0x6d820000 - 0x6d82c000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\verify.dll
    0x6d460000 - 0x6d47f000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\java.dll
    0x6d860000 - 0x6d86f000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\zip.dll
    0x6d320000 - 0x6d328000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\dt_shmem.dll
    0x6d620000 - 0x6d633000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\net.dll
    0x71ab0000 - 0x71ac7000      C:\WINNT\system32\WS2_32.dll
    0x71aa0000 - 0x71aa8000      C:\WINNT\system32\WS2HELP.dll
    0x71a50000 - 0x71a8f000      C:\WINNT\system32\mswsock.dll
    0x662b0000 - 0x66308000      C:\WINNT\system32\hnetcfg.dll
    0x71a90000 - 0x71a98000      C:\WINNT\System32\wshtcpip.dll
    0x62f00000 - 0x62f13000      ...\Ora10gClient\BIN\ocijdbc10.dll
    0x10000000 - 0x10057000      ...\ora10gClient\bin\OCI.dll
    0x61c20000 - 0x61e72000      ...\ora10gClient\bin\OraClient10.Dll
    0x60870000 - 0x60953000      ...\ora10gClient\bin\oracore10.dll
    0x60a80000 - 0x60b44000      ...\ora10gClient\bin\oranls10.dll
    0x63690000 - 0x636a8000      ...\ora10gClient\bin\oraunls10.dll
    0x60eb0000 - 0x60eb7000      ...\ora10gClient\bin\orauts.dll
    0x774e0000 - 0x7761d000      C:\WINNT\system32\ole32.dll
    0x636b0000 - 0x636b6000      ...\ora10gClient\bin\oravsn10.dll
    0x60fa0000 - 0x61092000      ...\ora10gClient\bin\oracommon10.dll
    0x60300000 - 0x60857000      ...\ora10gClient\bin\orageneric10.dll
    0x63430000 - 0x63457000      ...\ora10gClient\bin\orasnls10.dll
    0x0c000000 - 0x0c160000      ...\ora10gClient\bin\oraxml10.dll
    0x0c160000 - 0x0c171000      C:\WINNT\system32\MSVCIRT.dll
    0x60960000 - 0x60a6d000      ...\ora10gClient\bin\oran10.dll
    0x62740000 - 0x6277d000      ...\ora10gClient\bin\oranl10.dll
    0x62790000 - 0x627a7000      ...\ora10gClient\bin\oranldap10.dll
    0x627f0000 - 0x628f9000      ...\ora10gClient\bin\orannzsbb10.dll
    0x62530000 - 0x62583000      ...\ora10gClient\bin\oraldapclnt10.dll
    0x62670000 - 0x6268b000      ...\ora10gClient\bin\orancrypt10.dll
    0x71ad0000 - 0x71ad9000      C:\WINNT\system32\WSOCK32.dll
    0x77120000 - 0x771ab000      C:\WINNT\system32\OLEAUT32.dll
    0x62920000 - 0x6296c000      ...\ora10gClient\bin\oranro10.dll
    0x626b0000 - 0x626b7000      ...\ora10gClient\bin\oranhost10.dll
    0x62660000 - 0x62666000      ...\ora10gClient\bin\orancds10.dll
    0x0acc0000 - 0x0acc8000      ...\ora10gClient\bin\orantns10.dll
    0x60b50000 - 0x60ea8000      ...\ora10gClient\bin\orapls10.dll
    0x0c180000 - 0x0c189000      ...\ora10gClient\bin\oraslax10.dll
    0x63080000 - 0x63284000      ...\ora10gClient\bin\oraplp10.dll
    0x61ed0000 - 0x61f5b000      ...\ora10gClient\bin\orahasgen10.dll
    0x62ab0000 - 0x62b1a000      ...\ora10gClient\bin\oraocr10.dll
    0x62b20000 - 0x62b60000      ...\ora10gClient\bin\oraocrb10.dll
    0x5b860000 - 0x5b8b4000      C:\WINNT\system32\NETAPI32.dll
    0x62980000 - 0x62990000      ...\ora10gClient\bin\orantcp10.dll
    0x0c190000 - 0x0c22a000      ...\ora10gClient\bin\orasql10.dll
    0x76f20000 - 0x76f47000      C:\WINNT\system32\DNSAPI.dll
    0x76fb0000 - 0x76fb8000      C:\WINNT\System32\winrnr.dll
    0x76f60000 - 0x76f8c000      C:\WINNT\system32\WLDAP32.dll
    0x76fc0000 - 0x76fc6000      C:\WINNT\system32\rasadhlp.dll
    0x5ad70000 - 0x5ada8000      C:\WINNT\system32\uxtheme.dll
    0x0c400000 - 0x0c407000      C:\Program Files\Logitech\MouseWare\System\LgWndHk.dll
    0x74720000 - 0x7476b000      C:\WINNT\system32\MSCTF.dll
    0x6d4a0000 - 0x6d4ad000      C:\Program Files\Java\jdk1.6.0_03\jre\bin\JdbcOdbc.dll
    0x74320000 - 0x7435d000      C:\WINNT\system32\ODBC32.dll
    0x5d090000 - 0x5d12a000      C:\WINNT\system32\COMCTL32.dll
    0x7c9c0000 - 0x7d1d6000      C:\WINNT\system32\SHELL32.dll
    0x77f60000 - 0x77fd6000      C:\WINNT\system32\SHLWAPI.dll
    0x763b0000 - 0x763f9000      C:\WINNT\system32\comdlg32.dll
    0x773d0000 - 0x774d3000      C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
    0x20000000 - 0x20017000      C:\WINNT\system32\odbcint.dll
    0x5fe80000 - 0x5fe9b000      C:\WINNT\system32\odbccp32.dll
    0x77c00000 - 0x77c08000      C:\WINNT\system32\VERSION.dll
    0x0c640000 - 0x0c6bd000      ...\Ora10gClient\BIN\SQORA32.DLL
    0x0c6c0000 - 0x0c6c9000      ...\ORA10GCLIENT\BIN\sqresUS.dll
    0x7c140000 - 0x7c245000      C:\WINNT\system32\MFC71.DLL
    0x5d360000 - 0x5d36e000      C:\WINNT\system32\MFC71ENU.DLL
    VM Arguments:
    jvm_args: -Dhttp.proxyHost= -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts= -Dhttps.proxyHost= -Dhttps.proxyPort=80 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Documents and Settings\...\.netbeans\6.0\apache-tomcat-6.0.14_base\conf\logging.properties -Xdebug -Xrunjdwp:transport=dt_shmem,address=tomcat_shared_memory_id,server=y,suspend=n -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.14\endorsed -Dcatalina.base=C:\Documents and Settings\XXX\.netbeans\6.0\apache-tomcat-6.0.14_base -Dcatalina.home=C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.14 -Djava.io.tmpdir=C:\Documents and Settings\...\.netbeans\6.0\apache-tomcat-6.0.14_base\temp
    java_command: org.apache.catalina.startup.Bootstrap start
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03
    JRE_HOME=C:\Program Files\Java\jdk1.6.0_03
    CLASSPATH=C:\Program Files\Java\jdk1.6.0_03\lib\tools.jar;C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.14\bin\bootstrap.jar
    PATH=...\ora10gClient\bin;...\ora9i\bin;...\orant\ora8i\bin;...\orant\bin;C:\Program Files\Java\jre1.5.0_06\bin;C:\Program Files\Java\jre1.5.0_06\bin;C:\Program Files\Documentum\Shared;p:\pvcs813\vm\win32\bin;p:\pvcs813\vm\common\bin\win32;P:\PVCS81\vm\win32\bin;P:\PVCS81\vm\common\bin\win32;C:\Program Files\Common Files\Business Objects\3.0\bin\NOTES\;C:\Program Files\Common Files\Business Objects\3.0\bin\NOTES\DATA\;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\wbem;C:\Program Files\QuickTime\QTSystem";;C:\Program Files\QuickTime\QTSystem;C:\Borland\JBuilder2005\jdk1.4\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Documentum\Shared;C:\WINNT;C:\WINNT\system32
    USERNAME=XXX
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 3 Stepping 4, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 3 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3
    Memory: 4k page, physical 1047536k(145972k free), swap 2996004k(1885868k free)
    vm_info: Java HotSpot(TM) Client VM (1.6.0_03-b05) for windows-x86, built on Sep 24 2007 22:24:33 by "java_re" with unknown MS VC++:1310
    Please if have a solution to this problem let me know,
    Please don't say use thin driver because OCI is required on my envirnoment

    Are you sure you are using the Oracle OCI JDBC driver? From you stack trace you are not, you are using the JDBC-ODBC bridge.
    >>
    sun.jdbc.odbc.JdbcOdbc.SQLDisconnect(J)V+132
    j sun.jdbc.odbc.JdbcOdbcDriver.disconnect(J)V+4
    j sun.jdbc.odbc.JdbcOdbcConnection.close()V+42
    j oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.closeDatasourceConnection()V+4
    Ensure you set your database url and driver class in your persistence XML (or DataSource config) to be the Oracle JDBC driver and the Oracle OCI url.
    i.e.
    toplink.jdbc.driver - oracle.jdbc.OracleDriver
    toplink.jdbc.url - jdbc:oracle:oci:@instance
    -- James : http://www.eclipselink.org

Maybe you are looking for