Waits with OCI calls

I have a C++ app which access Oracle DB 10.1.0.4 via OCI from Linux redhat.
I have extensive waits between the app and the database.
How can I torubleshoot this problems?
Etherial show waits on the DB before to send it back to the app. but the execution time for the quesries do not cover the waiting time - like wait 1/2 sec, query runs for 22 millisec.
How can I figure out what is waiting and why?
Thanks,mj

Hi,
The whole problem is, I don't have access to the code which uses OCI. I cannot modify the code to set CURSOR_SHARING=FORCE, as it is third party code.
Is it possible to achieve the same with some setting in some configuration file?
E.g. if you have a glogin.sql file in $ORACLE_HOME/sqlplus/admin, every time you run sqlplus, after you login, this glogin.sql file will be executed automatically
Is any such thing possible with OCI programs? i.e. when a program using OCI starts running using certain client installation, we want to run some commands.
If that can be achieved, my problem is sorted.

Similar Messages

  • Problem with OCI call  and  how to install and use 'DEBUG_EXTPROC' on Linux

    Hi,
    Can any one let me know how I can install and use this debug_extproc package. I have installed oracle XE server on Linux machine(32-bit).
    When I use : DEBUG_EXTPROC.STARTUP_EXTPROC_AGENT' ... i get an error saying that : it is not declared.
    I tried looking in all the directories but did not find the dbgextp.sql(which is required in order to install that package).And tried searching on google but could not get any relevant information.
    Also I am newbie to OCI call interface and also to C programming too: I have coded a external procedure or custom user aggregate in C. But since I was using C++ : 'set' STL. I have compiled my program using g++ instead of gcc and I have correspondingly modified the make file in public/demo directory.
    So, is it fine to do it that way: using OCI (instead of OCCI(C++)) but again compiling the pgm as a regular C++ using g++ instead of gcc.(But rest of the pgm including printf statements : everything is in C).
    Also I have created the library from my : custagg.so library:
    SQL> create or replace library custagg is '$ORACLE_HOME/lib/custagg.so'
    But my aggregate function implemented as external C function using OCI is either not recognised or else : if recognized then there is some error because of which i am getting the following errors : ORA-06522
    SQL> select MinDistance(TT) from egg1;
    select MinDistance(TT) from egg1
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/custagg.so:
    cannot dynamically load executable
    Please kindly answers my queries and trying to resolve this for almost 4 days now and could not find any clue on how to get this done.
    Thanks,
    -NN

    #/bin/make
    # Make file for OCI,OCCI and ODBC demos
    # Usage :
    # For compiling & linking the cdemo81.c file
    # make -f demo_xe.mk buildoci CDEMOEXE=cdemo81 CDEMOOBJS=cdemo81.o
    .SUFFIXES: .o .c .cpp
    ICINCHOME=$(ORACLE_HOME)/rdbms/public/
    ICLIBHOME=$(ORACLE_HOME)/lib
    ICLIBPATH=-L$(ICLIBHOME)
    THREADLIBS=-lthread
    CCLIB=$(ICLIBPATH) -lclntsh $(THREADLIBS)
    OCCILIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS)
    CCINCLUDES = -I$(ICINCHOME)
    CCFLAGS=$(CCINCLUDES) -D_REENTRANT -g -xs
    LDFLAGS=
    SO_EXT=.so
    EXTLDFLAGS=$(LDFLAGS) -shared
    REMOVE=rm -rf
    MKLINK=ln
    MAKE=make
    MAKEFILE=demo_xe.mk
    CDEMOEXE=custagg.so
    CDEMOOBJS=custagg.o
    OCCIDEMO=occidml
    OCCIOBJDEMO=occiobj
    OTT=$(ORACLE_HOME)/bin/ott
    OCCIOTTUSR=hr
    OCCIOTTPWD=hr
    ODBCDEMOEXE=odbcdemo
    ODBCDEMOOBJS=odbcdemo.o
    AQDEMOEXE=ociaqdemo00
    AQDEMOOBJS=ociaqdemo00.o
    EXTDEMO=extdemo2.so
    CC=/usr/bin/g++
    echo "LIBCLNT value is :" $(LIBCLNT)
    echo "CC value is :" $(CC)
    .c.o:
    g++ -c -I$(ICINCHOME) $(CCFLAGS) $<
    all: clean buildoci
    echo "LIBCLNT value is :" $(LIBCLNT)
    buildoci: $(LIBCLNT) $(CDEMOOBJS)
    g++ -o $(CDEMOEXE) $(LDFLAGS) $(CDEMOOBJS) $(CCLIB)
    echo "CC value is :" $(CC)
    echo "LIBCLNT value is :" $(LIBCLNT)
    clean:
    $(REMOVE) $(CDEMOOBJS) $(CDEMOEXE)
    # This port-specific file is currently empty on Solaris. Product
    # lines may use this file to override compiler definitions and
    # flags used in occi.mk.
    # Linux compiler definitions
    CC=/usr/bin/gcc
    cc=/usr/bin/gcc
    CCFLAGS=$(CCINCLUDES) -DLINUX -D_GNU_SOURCE -D_REENTRANT -g
    LDFLAGS=-g
    # This macro CCINCLUDES has to be redefined on Linux because of
    # the existence of the 'new' directory in t_work. The name new
    # clashes with a system header file.
    CCINCLUDES = -idirafter .
    THREADLIBS=-lpthread
    ifdef BUILD_CCC296
    CC=/usr/bin/g++296
    endif
    And I am executing the make file using the command :
    make -f demo12.mk buildoci CDEMOEXE=custagg.so CDEMOOBJS=custagg.o
    I am not getting any error while running this make file.
    Can you please tell me whether PLSQL/Oracle is able to locate the file or not. Incase, if it is locating the file but due to some error in the custagg.so it is throwing that error. If this is the case, is there any way that i can debug the C program .....how can i install the debug_extproc package.. I am really new to C & OCI ... if the custagg.so is being located then there might be some problem with the way I am dynamically allocating memory to some variables.
    Please kindly reply to this Post/response.
    Please let me know if you also want to see my program code.
    Thanks & Regards,
    -NN

  • EU_IMPORT5:   DbSl Trace: OCI-call 'OCISessionBegin' failed with rc=1017

    Hi,
    The upgrade is on phase EU_IMPORT5 and it seems to run for a long time. But am afraid it this is really true. When I look in the file: E000006.DPR I find the following:
    DbSl Trace: OCI-call 'OCISessionBegin' failed with rc=1017
    DbSl Trace: CONNECT failed with sql error '1017'
    (DB) INFO: connected to DB
    (DB) INFO: DbSlControl(DBSL_CMD_NLS_CHARACTERSET_GET): WE8DEC
    (SQL) INFO: SSEXC.SQL not found
    (DB) INFO: DOKHL~ created #20081003122232
    (IMP) INFO: import of DOKHL~ completed (2185665 rows) #20081003125935
    (DB) INFO: DOKHL^0 created #20081003125948
    (DB) INFO: DOKIL~ created #20081003125949
    Is this means that it  stoped?
    Thanks in advance
    HanseAtik

    Hi,
    Check in SAPup.log if you're not requested to do an action .
    You'll probably see
    >Continue ?
    >Exit ?
    If yes, just stop SAPup and restart, you'll be asked again.
    Hope that was helpfull.

  • Getting error with DbSl Trace: OCI-call 'olog' failed: rc = 1017

    Hi,
    We are working on osdbmigration, exporting from oracle to SQL Server.
    When we run ./R3SETUP -f DBEXPORT.R3S getting the below error:
    INFO 2011-06-10 05:17:46 R3SZCHK_IND_ORA R3ldctlDo:0
        DbSl Trace: OCI-call 'olog' failed: rc = 1017
        DbSl Trace: CONNECT failed with sql error 1017
    We have performed allthe pre-checks successfully and can able to connect system/manager at SQL.
    Regards,
    Karthik.

    Have you followed the Note 400241 - Problems with ops$ or sapr3 connect to Oracle

  • OCI calls with hardcoded literals

    Hi All,
    I am on Oracle v11.2.0.2 on RedHat. Oracle client 11.2.0.3 used by OCI client.
    We have a third party software running on our database. The component I want to discuss here is, batch processes written using OCI running on another Linux node. This batch process runs lots of SQLs with hardcoded literals (not using bind variables).
    In v$sqlarea, I can see 100s of thousands of SQL like
    SELECT a, b, c FROM table1 WHERE some_column = 'VALUE1' with only VALUE1 replaced by different values (nothing else changed).
    Third party software cannot be changed (no surprise there !!).
    Is it possible to get around this issue using database settings? OCI settings?
    I know, if we change the database parameter CURSOR_SHARING to FORCE, this issue can be addressed. But that will affect all database and we will need to do impact analysis of this change on everything which runs on the database.
    Are there any OCI settings or parameters (or something like that) which can do same effect as CURSOR_SHARING=FORCE, but only for the OCI processes/batches ??
    Any thoughts are most welcome.
    Thanks in advance.

    Hi,
    The whole problem is, I don't have access to the code which uses OCI. I cannot modify the code to set CURSOR_SHARING=FORCE, as it is third party code.
    Is it possible to achieve the same with some setting in some configuration file?
    E.g. if you have a glogin.sql file in $ORACLE_HOME/sqlplus/admin, every time you run sqlplus, after you login, this glogin.sql file will be executed automatically
    Is any such thing possible with OCI programs? i.e. when a program using OCI starts running using certain client installation, we want to run some commands.
    If that can be achieved, my problem is sorted.

  • With JDBC, calling a stored procedure with ARRAY as out parameter

    Hi,
    I want to use the data type ARRAY as an out parameter in an Oracle stored procedure. I want to call the stored procedure from
    my java program using JDBC.
    The problem it's i use a 8.1.7 client to acces with oci to a 7.1.3 Database.
    With this configuration I can get back a Cursor but not an Array.
    Does it's possible ?
    Thanks for your help !
    Michakl

    Originally posted by JDBC Development Team:
    It's very similar to other datatype except that it uses OracleTypes.ARRAY typecode and the value is mapped to a oracle.sql.ARRAY instance. The code looks as follows --
    cstmt.registerOutParameter (idx, OracleTypes.ARRAY, "VARRAY_TYPE_NAME_HERE");
    cstmt.execute ();
    ARRAY array = (ARRAY) cstmt.getObject (idx);
    Thanks for your reply.
    I have to use:-
    OracleCallableStatement cs1 = (OracleCallableStatement )conn.prepareCall
    ( "{call proj_array(?)}" ) ;
    for retrieving a collection as an OUT parameter.
    This gives me the errors:-
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Blob getBlob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Array getArray(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Clob getClob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Ref getRef(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    How do I get rid of these errors?
    null

  • Problem to create data source with OCI type of driver

    Hi Experts
    We are creating an XA datasource with OCI type of driver using an enterprise application with data-sources.xml, the xml is like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE data-sources SYSTEM "data-sources.dtd" >
    <data-sources>
         <data-source>
              <data-source-name>OCI_DS_XA</data-source-name>
              <driver-name>ORACLE_DRIVER</driver-name>
              <init-connections>1</init-connections>
              <max-connections>25</max-connections>
              <max-time-to-wait-connection>120</max-time-to-wait-connection>
              <expiration-control>
                   <connection-lifetime>60</connection-lifetime>
                   <run-cleanup-thread>300</run-cleanup-thread>
              </expiration-control>
              <sql-engine>Vendor_SQL</sql-engine>
              <jdbc-2.0>
                   <xads-class-name>
                        oracle.jdbc.xa.client.OracleXADataSource
                   </xads-class-name>
                   <object-factory>
                        oracle.jdbc.pool.OracleDataSourceFactory
                   </object-factory>
                   <properties>
                        <property>
                             <property-name>serverName</property-name>
                             <property-value><SERVER_NAME></property-value>
                        </property>
                        <property>
                             <property-name>serverPort</property-name>
                             <property-value>1521</property-value>
                        </property>
                        <property>
                             <property-name>databaseName</property-name>
                             <property-value>ORCL</property-value>
                        </property>
                        <property>
                             <property-name>driverType</property-name>
                             <property-value>oci</property-value>
                        </property>
                        <property>
                             <property-name>user</property-name>
                             <property-value>username</property-value>
                        </property>
                        <property>
                             <property-name>password</property-name>
                             <property-value>password</property-value>
                        </property>
                   </properties>
              </jdbc-2.0>
              </data-source>
    </data-sources>
    We have installed oracle client in server M/C and configured all the environment variables. While we are deploying the application from CE developer studio IDE to the CE 7.1 AS, we are getting the  following error:
    Description:
              1. Exception has been returned while the 'sap.com/DS_TEST_EAR' was starting. Warning/Exception :
    [ERROR CODE DPL.DS.6193] Error while ; nested exception is:
         com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5030] Clusterwide exception: server ID 7653550:com.sap.engine.services.dbpool.exceptions.BaseDeploymentException: Cannot create DataSource "OCI_DS_XA".
         at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1467)
         at com.sap.engine.services.dbpool.deploy.ContainerImpl.prepareStart(ContainerImpl.java:468)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:219)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:179)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:419)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:495)
         at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:554)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:248)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:389)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3387)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3373)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3276)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3249)
         at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:99)
         at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
         at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:34)
         at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessLCMDeplItem(DefaultDeployPostProcessor.java:80)
         at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:56)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:741)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:732)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:576)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:270)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:192)
         at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:875)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351)
         at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:62)
         at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:37)
         at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:872)
         at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:53)
         at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:58)
         at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
         at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:304)
    Caused by: com.sap.engine.frame.core.database.DatabaseException: Exception of type java.sql.SQLException occurred: Closed Connection.
         at com.sap.engine.core.database.impl.DataSourceAdministratorImpl.createDataSource(DataSourceAdministratorImpl.java:49)
         at com.sap.engine.services.dbpool.deploy.ContainerImpl.startDataSources(ContainerImpl.java:1400)
         ... 33 more
    Caused by: java.sql.SQLException: Closed Connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
         at oracle.jdbc.driver.GetCharSetError.processError(T2CConnection.java:3082)
         at oracle.jdbc.driver.T2CConnection.getCharSetIds(T2CConnection.java:2811)
         at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:300)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
         at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:136)
         at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:194)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:121)
         at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:333)
         at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:84)
         at com.sap.sql.connect.factory.XADSPooledConnectionFactory.getPooledConnection(XADSPooledConnectionFactory.java:27)
         at com.sap.sql.connect.datasource.DBDataSourceImpl.createPooledConnection(DBDataSourceImpl.java:677)
         at com.sap.sql.connect.datasource.DBDataSourcePoolImpl.initConnections(DBDataSourcePoolImpl.java:1099)
         at com.sap.sql.connect.datasource.DBDataSourcePoolImpl.<init>(DBDataSourcePoolImpl.java:49)
         at com.sap.sql.connect.datasource.DataSourceManager.createDataSource(DataSourceManager.java:507)
         at com.sap.sql.connect.datasource.DataSourceManager.createDataSource(DataSourceManager.java:136)
         at com.sap.sql.manager.OpenSQLManager.createDataSource(OpenSQLManager.java:141)
         at com.sap.engine.core.database.impl.DataSourceAdministratorImpl.createDataSource(DataSourceAdministratorImpl.java:42)
         ... 34 more
    But when we are creating the datasource with thin type of driver, it is working fine. We have already created a driver with name “ORACLE_DRIVER” in server using the ojdbc14.jar using Netweaver administrator consol.
    Same this is happening when we are creating the OCI type of datasource by using Netweaver administrator consol by specifying all the parameter as above and also the initial connection pool size is more than zero.
    Same thing is happening for normal (JDBC 1x) datasource creation with OCI type driver.

    Hello,
    I ran a search on SDN, related to your error code, i found the following:
    UnsupportedClassVersionError in NWDS CE
    DeploymentWarning-WebService-Collection
    Maybe its useful to you
    Regards,
    Siddhesh

  • OCI CALLS : Oracle 8.1.5 to Oracle 8.1.6

    Hi
    I am working on messaging product which was compiled and linked with Oracle 8.1.5. It was working on HPUX 11.0 machine. That product is a CORBA product which uses ORCALE to store message database. This product uses OCI calls to access ORACLE.
    But I am having a new task of running that product on oracle 8.1.6 version. When I ran old bineries(compiled and built with oracle 8.1.5 libs) with oracle 8.1.6 product, I am getting following runtime errors. DBINIT is a executable.
    $PROMPT>DBINIT -v
    /usr/lib/dld.sl: Unresolved symbol: LhtStrCreate (code) from /opt/oracle/8.1.6/lib/libwtc8.sl
    /usr/lib/dld.sl: Unresolved symbol: LhtStrInsert (code) from /opt/oracle/8.1.6/lib/libwtc8.sl
    /usr/lib/dld.sl: Unresolved symbol: nauzaoss (code) from AmOraDbInit
    /usr/lib/dld.sl: Unresolved symbol: nauzaoss (code) from /opt/TPBroker/AM/lib/libAmdOra.sl
    Whether I need to compile and build whole product with oracle 8.1.6.
    In my product I am using OCI calls, so whether I need to change those calls.
    $PROMPT>chatr DBINT
    shared executable
    shared library dynamic path search:
    SHLIB_PATH enabled first
    embedded path disabled second Not Defined
    shared library list:
    dynamic /usr/lib/libpthread.1
    dynamic /vobs/TPBroker/hpux/TPBroker/lib/libots_r.sl
    dynamic /vobs/TPBroker/hpux/TPBroker/lib/libdcpmsg.sl
    dynamic /vobs/bldenv/hp11/Visigenic/vbroker/lib/liborb_r.sl
    dynamic /vobs/bldenv/hp11/Oracle/lib/libclntsh.sl.8.0
    dynamic /usr/lib/libstd.2
    dynamic /usr/lib/libstream.2
    dynamic /usr/lib/libCsup.2
    dynamic /usr/lib/libm.2
    dynamic /usr/lib/libcl.2
    dynamic /usr/lib/libc.2
    static /usr/lib/libdld.2
    shared library binding:
    immediate
    global hash table disabled
    plabel caching disabled
    global hash array size:1103
    global hash array nbuckets:3
    shared vtable support disabled
    static branch prediction disabled
    executable from stack: D (default)
    kernel assisted branch prediction enabled
    lazy swap allocation disabled
    I haven't got any documents for this thing.
    If anybody gone thru this problem, please help me for solving this problems.
    Thank you
    -Pravin

    applets can only use jdbc thin drivers.

  • OCI calls failing for Oracle 11g 11.1.0.7 (64 bit)

    Hi,
    I have a 32bit app which we build and compile in a 32 bit OS, we then deploy this in a 64 bit Windows 2008 R1 machine which has a 11g 64 bit DB;
    when the code make the OCI calls the app terminates.On debugging we found out that its failing to make OCI calls on the connect() method of a .cpp file.
    This connect code is a custom wrapper class created for OCI which only accepts a complete SQL statement mainly used for looking after rollback segments, etc.
    The code runs perfectly fine when we internally call the ORACMD of sqlplus and directly execute the sql from a script.
    It only fails when our code tries to connect to the DB and make OCI calls.
    I have also installed a 32 bit Oracle 11g Client 11.1.0.7 since I am using a 32 bit app.
    Is there any compatibility issues between these 2 versions or the dll's?
    Why is it failing while making OCI calls and is there any resolution?
    My machine and setup details:
    OS: Windows 2008 R1
    DB : Oracle 11g R1 11.1.0.7 (64 bit)
    Client: Oracle 11g R1 11.1.0.7 (32 bit)
    Our App: 32 bit
    ORACLE_HOME = // this is pointing to the 64 bit DB
    I tried pointing the oracle_home to the client still no go.
    Any suggestions on this will be appreciated.
    Regards
    Roy

    user13376823 wrote:
    how do i find that my database is using big file tablespace management or not ?
    SQL> select TABLESPACE_NAME,BIGFILE from dba_tablespaces;
    TABLESPACE_NAME                BIG
    SYSTEM                         NO
    UNDOTBS1                       NO
    SYSAUX                         NO
    USERS                          NO
    UNDOTBS2                       NO
    TEMP1                          NO
    TEMP3                          NO
    TEMP2                          NO
    8 rows selected.For tablespaces with smallfile datafile maximun datafile size is 32GB, where as bigfile datafile size is 8 exabytes.

  • Problem of OCI calls in DLL

    Hi,
    I am developing a DLL in which i am using OCI calls to interact with Oracle. The Logon oci call "olog" itself fails when it is called from DLL. It is working fine in EXE. Whether OCI calls can be used in DLL? If so, let me know how to use it. If not, whether OCI calls can be used in COM or CORBA components?
    Thanks in advance.
    Ravi
    null

    This is not a forum for OCI, but interMedia. Please look for an appropriate forum and post there. Also, I recommend to include your system envirment information in your post.

  • Skype with Video Calling for nokia c5-00-2

    I have nokia c5-00-2 with 5MP camera. I'm looking for a skype version with video call option.. As one of my friend had it when he was in Suadi Arabia and used to call me video chat from his c5. Unfortunately he need that software but could not find it??? Does any body knows where we can download it??? Waiting for you replies.............

    Skype for Symbian has been discontinued and stopped working. Since the Nokia C5 works with Symbian S60 you won't be able to use Skype any longer. Please read this:
    https://support.skype.com/en/faq/FA10389/has-skype-for-symbian-been-discontinued

  • Core dump on OCI call

    We are getting the following core dump on an OCI call ....
    fde12fe0 kpucHTDelete (f872ac, f68380, 0, 31, 203d203a, f7c684) + 9c
    fddae464 kpursetstmttext (f872ac, f871c8, 8, fdd9fa84, d49c40,
    fe449a64) + 9c
    fddae61c kpurclientparse (f872ac, f7cc7c, f682e8, 9a, 400000, d49a14) +
    28
    fddae928 kpureq (f77338, f7cc7c, f682e8, 9a, 1, 0) + 150
    fde69efc OCIStmtPrepare (f872ac, f7cc7c, f682e8, 9a, 1, 0) + 7c
    004642b4 arb_internal_process_query (f68138, f68154, 0, 0, ffbfae28,
    1037de2) + 594
    00453178 arb_next_row (f68138, 10d6c58, 1037d88, ffbfaea4, 29, 2e) + 18
    0028d64c ???????? (f61828, 1067d00, ffbfafa8, 0, 0, 80808080)
    0028db68 list_abp_product_types (f61828, 1067d00, ffbfafa8, 1037c10,
    1067d00, 1067d00) + 20
    002e78a0 insert_abp_serv_inst_product (f61828, 103ee18, 1, ffbfb46c,
    fecd29e8, fd9f0240) + 278
    0014feb8 GTEAB_InsertMRC (ffbfbd54, ffbfc2d0, ffbfbda7, ffbfc2d0,
    ffbfbd98, ffbfc2d0) + 33b8
    000d193c run_pieces (e2f820, e33528, e35aa0, ffbfc3d4, e3f8c0, 0) + 1dc
    000d11b0 handle_request (e2f820, 5, e33528, e34e48, 0, 0) + 278
    000ce1a8 process_request (e2f820, 5, e33528, e34e48, fed73700,
    fd9f2a00) + c8
    000cdfd0 main (3, ffbfc9ac, ffbfc9bc, 79a000, fd9f0180, fd9f01c0) +
    568
    000cce08 _start   (0, 0, 0, 0, 0, 0) + 108
    It always seems to happen on the kpucHTDelete call. I have searched the net for kpucHTDelete but found nothing.
    Can someone
    1. describe what kpucHTDelete is supposed to accomplish and why it might fail.
    2. Is there a way to trace / log OCI ?
    3. Any other suggestions to help with this problem.
    Thanks in advance.
    Gary

    Well, it seems to me a bug.
    You can enable tracing using NET 8 Assistant, and from there go to the tracing tab.
    Select the SUPPORT trace level from the following pull down menu located in the Client Information section:
    OFF: Tracing disabled.
    USER: Trace information applicable for users.
    ADMIN: Trace information applicable for database administrators.
    SUPPORT: Trace information applicable for customer support staff.
    Enter a valid directory name in the Trace Directory field in the Client Information section. This directory specification is where trace files are written on either the client or server.
    Enter a valid filename in the Trace File field in the Client Information section. This filename specifies the name of the trace file on the client or server.
    Click on the "unique File Trace Name" checkbox if you want a unique identifier appended to each new trace file created.
    Save your configuration.
    You can check the SQLNET.ORA file found in the net80/admin directory path to verify that tracing is enabled. There is an entry called TRACE_LEVEL_CLIENT=SUPPORT located in that file and entries that indicate the log file location and name that you specified in the Oracle Net8 Assistant.
    regards

  • Program crashes in OCI calls

    All,
    The program has set of OCI datatype converion calls from C native to Oracle types. The program crashes in OCI calls specifically in OCINumberFromReal. Below is the stack for the core dump created.
    In call to OCINumberFromReal, when it refences lnxren function, the program crashes with SIGBUS.
    The application in on solaris 10 and Oracle 11g.
    pstack corecore 'core' of 163: quartzCABT -C dom=seirel620 -g 1 -i 127 -u sei4800 -U /home3/seirel620
    f2520b7c _kill    (2, ffbfb374, 1, f4517e90, f43e1c74, ffbfb370) + 8
    f37fcfc0 skgesig_sigactionHandler (1, 9a400, 9bd08, 0, 0, 1) + 25c
    f24656c8 __sighndlr (a, ffbfc898, ffbfc5e0, f37fcd64, 0, 0) + c
    f245f320 call_user_handler (a, ffbfc898, ffbfc5e0, 0, 0, 0) + 234
    f245f4d0 sigacthandler (a, ffbfc898, ffbfc5e0, de79ff, 44, 80ee8) + 64
    --- called from signal handler with signal 10 (SIGBUS) ---
    f341ebcc lnxren (d6694c, 8, de7b42, 0, 0, caee98) + 514
    f36617f4 OCINumberFromReal (f432df90, caed70, 3, de7b42, 13d4, 0) + 5d4
    ff3653f0 __1cPedbCreateCommit6FpnIxlDArray_r1rpc_nMMESSAGE_TYPE__ (d66ab0, ffbfd950, ffbfd7dc, fffffff8, 0, dc5da8) + 948
    ff36cc8c __1cUinvokeExtnlDBService6FipnIxlDArray_r1_nMMESSAGE_TYPE__ (1, d66ab0, ffbfd950, 1, 2, abc14d) + 8c
    002b9b48 __1cUCA_GLOBAL_SUBCA_LINKXCABT4003ModGlblSubCALnk6MpnIxlDArray__nMMESSAGE_TYPE__ (abc152, d64ae0, 13b88, b49cac, f476a08c, 20) + bb0
    002ba774 sh_CABT4003ModG (ffbfdc44, abc1ea, ffbfdc2c, abc1f4, ffbfdbf4, abc209) + 9cc
    Please suggest on how to resolve this.
    Thanks in advance
    satish

    hi Nikeda,
    I replaced the sizeof(double) to DBL_DIG/FLT_DIG constant, now the program doesn't crashes but the conversion is not happening properly.
    The result of any number after conversion is "0".
    Any suggestions, Thanks in advance .. below is the code snippet u asked for ..
    class ABC
    double qty ;
    ott structure
    struct abc_ott
    OCINumber qty ;
    // pro*c code
    EXEC SQL BEGIN DECLARE SECTION ;
    abc_ott * abc_ott_inst ;
    EXEC SQL END DECLARE SECTION ;
    EXEC SQL ALLOCATE :abc_ott_inst ;
    ABC * abc = new ABC ;
    abc->qty = 100.0 ;
    OCINumberFromReal(ociError, &abc->qty, (uword)sizeof(double), &abc_ott_inst->qty ) ;
    // call with DBL_DIG
    OCINumberFromReal(ociError, &abc->qty, DBL_DIG, &abc_ott_inst->qty ) ;
    Edited by: user3894537 on May 20, 2010 8:25 AM
    Edited by: user3894537 on May 20, 2010 8:38 AM

  • Problems with OCI without an environment (ORACLE_HOME not set)

    System: Solaris 9, Sun-Fire-V440
    Our application has Oracle 9i as one of the possible persistence backends. Oracle is not always available at all clients sites so we use dlopen/dlsym to access the required OCI functions in clntsh on demand. Moreover, the app is started by inetd, so there is no environment and ORACLE_HOME is not set. The result is that OCIEnvCreate fails and returns -1. Presumably libclntsh.so.9.0 looks for ORACLE_HOME and falls over when it doesn't find it.
    Q: Is there a work around for this purely in terms of 9i version software?
    One work around we've found is to install Instant Client. IC is intended to run in cases where there is no ORACLE_HOME set. This now acts as a gateway between our app and 9i. However, in order to make our app work with IC we've had to 'crle' the install path of IC. This is not so desirable because it adds to the admin burden.
    Q. If the answer to the first question is 'no', is there another way of connecting to Oracle without modifying lib search paths?
    I am including skeleton.cpp and the corresponding skeleton.ksh which demonstrates the problem.
    Any advice is very much appreciated.
    Adam
    ############## skeleton.cpp ########################
    #include <stdlib.h>
    #include <stdio.h>
    #include <dlfcn.h>
    #include <link.h>
    #include <oci.h>
    #include <oratypes.h>
    int main(int argc, char *argv[])
    OCIEnv *envhp;
    sword (*MY_OCIEnvCreate)(...);
    char* dlerr;
    sword ociret;
    if(argc < 1)
    exit(1);
    char dllname = (char )argv[1];
    void *mydll = dlopen(dllname,RTLD_NOW|RTLD_GLOBAL);
    if (mydll==NULL)
    fprintf(stderr,"Error while loading Oracle module. dlopen() failed.\n"
         "OS says: %s.\n",
         (dlerr=dlerror())?dlerr:"");
    exit(1);
    MY_OCIEnvCreate = (sword(*)(...)) dlsym(mydll,"OCIEnvCreate");
    if (MY_OCIEnvCreate == NULL)
    fprintf(stderr,"Error while loading Oracle module function %s.\n"
         "OS says: %s.\n",
         "OCIEnvCreate",
         (dlerr=dlerror())?dlerr:"");
    exit(1);
    ociret = MY_OCIEnvCreate(&envhp, OCI_DEFAULT, (dvoid *)0,
                   0, 0, 0, (size_t)0, (dvoid **)0);
    if (OCI_SUCCESS != ociret)
    fprintf(stderr, "OCI Error %ld occurred.\n", ociret);
    exit(1);
    return 0;
    ########### skeleton.ksh #####################
    #!/bin/ksh -vx
    ORA_DIR=/usr/opt/oracle/product/9.2.0.1.0
    INSTCLI_DIR=/d0/adam/instantclient/instantclient10_1
    # Make with 9i libs
    CC -ldl -I$ORA_DIR/rdbms/demo -I$ORA_DIR/rdbms/public -o skeleton skeleton.cpp
    if [[ $? -ne 0 ]]; then
    print "ERROR: compile 1 failed"
    exit 1
    fi
    # expect to succeed with ORACLE_HOME set and fail with ORACLE_HOME unset
    export ORACLE_HOME=$ORA_DIR
    skeleton $ORA_DIR/lib32/libclntsh.so
    if [[ $? -ne 0 ]]; then
    print "ERROR: unexpectedly failed in 9i on ORACLE_HOME set"
    exit 1
    fi
    unset ORACLE_HOME
    skeleton $ORA_DIR/lib32/libclntsh.so
    if [[ $? -eq 0 ]]; then
    print "ERROR: unexpectedly succeeded in 9i on ORACLE_HOME set"
    exit 1
    fi
    # Make with Instance Client libs
    CC -ldl -I$ORA_DIR/rdbms/demo -I$ORA_DIR/rdbms/public -o skeleton skeleton.cpp
    if [[ $? -ne 0 ]]; then
    print "ERROR: compile 2 failed"
    exit 1
    fi
    # expect to succeed with ORACLE_HOME unset
    skeleton $INSTCLI_DIR/libclntsh.so
    if [[ $? -ne 0 ]]; then
    print "ERROR: unexpectedly failed with Instance Client 10.1 and ORACLE_HOME set"
    exit 1
    fi
    exit 0
    ############################################

    After some investigation I have found a surprisingly simple solution to this problem. When inetd exec's a process, it provides a bare bones environment that comes from the /etc/default/login file. This environment can be extended using putenv(3C). Thus after dlopen/dlsym of clntsh, the program calls putenv with "ORACLE_HOME=/usr/opt/oracle/product/9.2.0.1.0" as argument. OCIEnvCreate and other OCI calls work fine after this.
    Adam

  • OCI call starcture for Purchase requisitions  trans NME51N

    Hi,
    I am looking for any documentation on the OCI call structure ('Web service') for PO/Requisitions.
    This it allow accessing external catalog via transaction NME51N using ERP 2005 PR/PO. The only documentation I have seen is related to the SRM EBP and OCI, which works fine for our SRM side.
    But for integration with Purchasing via OCI we notice that the HOOK-URL value is NULL, so we do not have the return URL to the calling application upon the completing the catalog shopping,
    Kevin

    Hi Kevin,
    The only OCI documentation I know is about OCI version 4.0.
    You are right that only SRM customizing is detailed.
    For the return URL in parameter HOOK_URL, its content should be populated by the calling application (SRM, MM or PM).
    That's why we must leave it blank in SRM catalog calling structure.
    But in MM or PM, I don't know where it is handled.
    Rgds
    Christophe

Maybe you are looking for