Deadlock while executing catalog.sql

I've installed a local DB on my computer, running Oracle 9i. Wanted to import a dump and the manual says first execute the catalog.sql Script. When I do this as sys I get following errors:
Execution x:
ORA-04045: errors during recompilation/revalidation of SYS.CDC_CREATE_CTABLE_AFTER
ORA-00060: deadlock detected while waiting for resource
Execution x+1:
ORA-04020: deadlock detected while trying to lock object SYS.STANDARD
Execution x+2:
ORA-04045: errors during recompilation/revalidation of SYS.CDC_CREATE_CTABLE_AFTER
ORA-00060: deadlock detected while waiting for resource
Execution x+3:
ORA-04020: deadlock detected while trying to lock object SYS.STANDARD
Execution x+4:
ORA-04045: errors during recompilation/revalidation of SYS.CDC_CREATE_CTABLE_AFTER
ORA-00060: deadlock detected while waiting for resource
There seems to be a certain scheme, always alternating error messages. Could anyone help me please?
Thanks!

Hmmm, first I ran the Script in the SQL Navigator 5.0 and got the mentioned errors, now I ran it in the SQL *Plus worksheet and got following (different errors):
SQL*Plus: Release 9.2.0.1.0 - Production on Di Jan 31 17:43:08 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connect durchgeführt.
SP2-0310: Datei "standard.sql" konnte nicht geöffnet werdenSP2-0310: Datei "dbmsstdx.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catcr.sql" konnte nicht geöffnet werden
PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
... (text text text) ...
Kommentar wurde angelegt.
SP2-0310: Datei "catcdc.sql" konnte nicht geöffnet werden
SP2-0310: Datei "cataudit.sql" konnte nicht geöffnet werden
View wurde angelegt.
SP2-0310: Datei "utlraw.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catexp.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catldr.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catpart.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catadt.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catsum.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catlsby.sql" konnte nicht geöffnet werden
SP2-0310: Datei "catxtb.sql" konnte nicht geöffnet werden
CREATE ROLE RECOVERY_CATALOG_OWNER
FEHLER in Zeile 1:
ORA-01921: Rolle 'RECOVERY_CATALOG_OWNER' kollidiert mit anderem Benutzer- oder Rollennamen
... ( text text text) ...
Transaktion mit COMMIT abgeschlossen.
PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
Sorry for the German error messages :-/. Can I change the language?
What's wrong?

Similar Messages

  • ORA-06550 error while executing Dynamic Sql

    EXECUTE IMMEDIATE 'BEGIN :out := ' || lv_formula || '; END;' using out RESULT ;
    here lv_formula:= ((capcost * rate / 100) + (ob + (ob * interestrate / 100)))
    lv_formula is varchar2(360);
    and capcost,rate,ob & interestrate are my column names . Here I m declaring variables same as these columns and datatype is number.
    I am not getting any compilation error. syntax is correct
    while executing this sql i m getting ora-06550.
    can any one help me for resolving this error.
    Thanks In Advance
    hoping for more respose

    Thanks Billy for your response,
    but i still didn't get my desired solution so i am pasting my whole plsql code here. so that u can get better picture.
    /* Formatted on 2010/11/22 15:23 (Formatter Plus v4.8.5) */
    PROCEDURE xb (
    l_refno IN VARCHAR2,
    l_billtyp IN VARCHAR2,
    infor IN VARCHAR2,
    aresult OUT NUMBER
    IS
    --A NUMBER:=10; B NUMBER :=5;
    lv_formula VARCHAR2 (270); --:=(A+B)*2+5;
    l_agtmnt VARCHAR2 (18);
    l_type VARCHAR2 (2);
    RESULT NUMBER;
    refno afxbrmst.refno%TYPE;
    billtyp afxbrmst.billtyp%TYPE;
    ob afxbrmst.ob%TYPE;-- := 45283;
    status afxbrmst.status%TYPE -- := 0;
    dueamt afxbrmst.dueamt%TYPE -- := 0;
    duedate afxbrmst.duedate%TYPE;
    frequency afxbrmst.frequency%TYPE;
    lastrevrate afxbrmst.lastrevrate%TYPE -- := 0;
    penaltyamt afxbrmst.penaltyamt%TYPE -- := 0;
    accounted afxbrmst.accounted%TYPE;
    lastbillraised afxbrmst.lastbillraised%TYPE;
    noofstaff afxbrmst.noofstaff%TYPE;
    items afxbrmst.items%TYPE;
    area afxbrmst.area%TYPE;
    LENGTH afxbrmst.LENGTH%TYPE -- := 0;
    interest afxbrmst.interest%TYPE -- := 0;
    capcost NUMBER; afxbrmst.capcost%TYPE; :=1;
    -- := 1509432;
    periodfrom afxbrrate.periodfrom%TYPE;
    periodto afxbrrate.preiodto%TYPE;
    rcsrate afxbrrate.rcsrate%TYPE -- := 0;
    length_area afxbrrate.length_area%TYPE;
    rate afxbrrate.rate%TYPE --:= 0;
    -- :=3;
    erate afxbrrate.erate%TYPE -- := 0;
    feamount afxbrrate.feamount%TYPE -- := 0;
    interestrate afxbrrate.interestrate%TYPE -- := 0;
    -- :=12;
    fiamount afxbrrate.fiamount%TYPE --:= 0;
    penaltyrate afxbrrate.penaltyrate%TYPE -- := 0;
    l_ob afxbrmst_test.ob%TYPE -- := 0;
    l_capcost afxbrmst.capcost%TYPE -- := 0;
    raise_application_trigger EXCEPTION;
    inti INTEGER;
    BEGIN
    --break;
    lv_formula :=
    TO_NUMBER ((capcost * rate / 100) + (ob + (ob * interestrate / 100)));
    --infor;
    l_agtmnt := l_refno;
    l_type := l_billtyp;
    BEGIN
    SELECT a.refno, a.billtyp, a.ob, a.status, a.dueamt, a.duedate,
    a.frequency, a.lastrevrate, a.penaltyamt, a.accounted,
    a.lastbillraised, a.noofstaff, a.items, a.area, a.LENGTH,
    a.interest, a.capcost
    INTO refno, billtyp, ob, status, dueamt, duedate,
    frequency, lastrevrate, penaltyamt, accounted,
    lastbillraised, noofstaff, items, area, LENGTH,
    interest, capcost
    FROM afxbrmst_test a
    WHERE billtyp = l_type AND refno = l_agtmnt;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    NULL;
    END;
    BEGIN
    SELECT b.periodfrom, b.preiodto, b.rcsrate, b.length_area, b.rate,
    b.erate, b.feamount, b.interestrate, b.fiamount, b.penaltyrate
    INTO periodfrom, periodto, rcsrate, length_area, rate,
    erate, feamount, interestrate, fiamount, penaltyrate
    FROM afxbrrate b
    WHERE billtype = l_type;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    NULL;
    END;
    EXECUTE IMMEDIATE 'BEGIN :out := ' || lv_formula || '; END;'
    USING OUT RESULT; --USING OUT RESULT;
    aresult := RESULT;
    END;
    -- Procedure
    here i m passing the parameter through my form builder and calling this procedure.
    can you tell me where i am making wrong
    Thanks again

  • Error while executing a sql query for select

    HI All,
    ORA-01652: unable to extend temp segment by 128 in tablespace PSTEMP i'm getting this error while i'm executing the sql query for selecting the data.

    I am having 44GB of temp space, while executing the below query my temp space is getting full, Expert please let us know how the issue can be resolved..
    1. I dont want to increase the temp space
    2. I need to tune the query, please provide your recomendations.
    insert /*+APPEND*/ into CST_DSA.HIERARCHY_MISMATCHES
    (REPORT_NUM,REPORT_TYPE,REPORT_DESC,GAP,CARRIED_ITEMS,CARRIED_ITEM_TYPE,NO_OF_ROUTE_OF_CARRIED_ITEM,CARRIED_ITEM_ROUTE_NO,CARRIER_ITEMS,CARRIER_ITEM_TYPE,CARRIED_ITEM_PROTECTION_TYPE,SOURCE_SYSTEM)
    select
    REPORTNUMBER,REPORTTYPE,REPORTDESCRIPTION ,NULL,
    carried_items,carried_item_type,no_of_route_of_carried_item,carried_item_route_no,carrier_items,
    carrier_item_type,carried_item_protection_type,'PACS'
    from
    (select distinct
    c.REPORTNUMBER,c.REPORTTYPE,c.REPORTDESCRIPTION ,NULL,
    a.carried_items,a.carried_item_type,a.no_of_route_of_carried_item,a.carried_item_route_no,a.carrier_items,
    a.carrier_item_type,a.carried_item_protection_type,'PACS'
    from CST_ASIR.HIERARCHY_asir a,CST_DSA.M_PB_CIRCUIT_ROUTING b ,CST_DSA.REPORT_METADATA c
    where a.carrier_item_type in('Connection') and a.carried_item_type in('Service')
    AND a.carrier_items=b.mux
    and c.REPORTNUMBER=(case
    when a.carrier_item_type in ('ServicePackage','Service','Connection') then 10
    else 20
    end)
    and a.carrier_items not in (select carried_items from CST_ASIR.HIERARCHY_asir where carried_item_type in('Connection') ))A
    where not exists
    (select *
    from CST_DSA.HIERARCHY_MISMATCHES B where
    A.REPORTNUMBER=B.REPORT_NUM and
    A.REPORTTYPE=B.REPORT_TYPE and
    A.REPORTDESCRIPTION=B.REPORT_DESC and
    A.CARRIED_ITEMS=B.CARRIED_ITEMS and
    A.CARRIED_ITEM_TYPE=B.CARRIED_ITEM_TYPE and
    A.NO_OF_ROUTE_OF_CARRIED_ITEM=B.NO_OF_ROUTE_OF_CARRIED_ITEM and
    A.CARRIED_ITEM_ROUTE_NO=B.CARRIED_ITEM_ROUTE_NO and
    A.CARRIER_ITEMS=B.CARRIER_ITEMS and
    A.CARRIER_ITEM_TYPE=B.CARRIER_ITEM_TYPE and
    A.CARRIED_ITEM_PROTECTION_TYPE=B.CARRIED_ITEM_PROTECTION_TYPE
    AND B.SOURCE_SYSTEM='PACS'
    Explain Plan
    ==========
    Plan
    INSERT STATEMENT ALL_ROWSCost: 129 Bytes: 1,103 Cardinality: 1                                                        
         20 LOAD AS SELECT CST_DSA.HIERARCHY_MISMATCHES                                                   
              19 PX COORDINATOR                                              
                   18 PX SEND QC (RANDOM) PARALLEL_TO_SERIAL SYS.:TQ10002 :Q1002Cost: 129 Bytes: 1,103 Cardinality: 1                                         
                        17 NESTED LOOPS PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 129 Bytes: 1,103 Cardinality: 1                                    
                             15 HASH JOIN RIGHT ANTI NA PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 129 Bytes: 1,098 Cardinality: 1                               
                                  4 PX RECEIVE PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 63 Bytes: 359,283 Cardinality: 15,621                          
                                       3 PX SEND BROADCAST PARALLEL_TO_PARALLEL SYS.:TQ10001 :Q1001Cost: 63 Bytes: 359,283 Cardinality: 15,621                     
                                            2 PX BLOCK ITERATOR PARALLEL_COMBINED_WITH_CHILD :Q1001Cost: 63 Bytes: 359,283 Cardinality: 15,621                
                                                 1 MAT_VIEW ACCESS FULL MAT_VIEW PARALLEL_COMBINED_WITH_PARENT CST_ASIR.HIERARCHY :Q1001Cost: 63 Bytes: 359,283 Cardinality: 15,621           
                                  14 NESTED LOOPS ANTI PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 65 Bytes: 40,256,600 Cardinality: 37,448                          
                                       11 HASH JOIN PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 65 Bytes: 6,366,160 Cardinality: 37,448                     
                                            8 BUFFER SORT PARALLEL_COMBINED_WITH_CHILD :Q1002               
                                                 7 PX RECEIVE PARALLEL_COMBINED_WITH_PARENT :Q1002Cost: 1 Bytes: 214 Cardinality: 2           
                                                      6 PX SEND BROADCAST PARALLEL_FROM_SERIAL SYS.:TQ10000 Cost: 1 Bytes: 214 Cardinality: 2      
                                                           5 INDEX FULL SCAN INDEX CST_DSA.IDX$$_06EF0005 Cost: 1 Bytes: 214 Cardinality: 2
                                            10 PX BLOCK ITERATOR PARALLEL_COMBINED_WITH_CHILD :Q1002Cost: 63 Bytes: 2,359,224 Cardinality: 37,448                
                                                 9 MAT_VIEW ACCESS FULL MAT_VIEW PARALLEL_COMBINED_WITH_PARENT CST_ASIR.HIERARCHY :Q1002Cost: 63 Bytes: 2,359,224 Cardinality: 37,448           
                                       13 TABLE ACCESS BY INDEX ROWID TABLE PARALLEL_COMBINED_WITH_PARENT CST_DSA.HIERARCHY_MISMATCHES :Q1002Cost: 0 Bytes: 905 Cardinality: 1                     
                                            12 INDEX RANGE SCAN INDEX PARALLEL_COMBINED_WITH_PARENT SYS.HIERARCHY_MISMATCHES_IDX3 :Q1002Cost: 0 Cardinality: 1                
                             16 INDEX RANGE SCAN INDEX PARALLEL_COMBINED_WITH_PARENT CST_DSA.IDX$$_06EF0001 :Q1002Cost: 1 Bytes: 5 Cardinality: 1

  • OCI crash while executing PL/SQL

    HI,
    I have a multithreaded application which uses OCI. The application has a master thread and spwans 4 child threads that connect to the db and execute specific queries. The problem occurs while trying to execute the last PL/SQL command which includes some bfile operations. I had read that OCI does not mutex properly on LOB operations, but I do not get any error, the application just hangs. Attached is part of the code that has all OCI calls.
    The culprit is the update_tables function. The application hangs in there when processing is very close in time for threads.
    [] 20080411 10:40:52.255 Oracle NOTICE - [2000][id 1093229] Executing PL/SQL to update all tables
    [] 20080411 10:40:52.259 Oracle NOTICE - [2000][id 1093230] Executing PL/SQL to update all tables
    [] 20080411 10:40:52.321 Oracle NOTICE - [2000][id 1093231] Executing PL/SQL to update all tables
    this is where is hangs.
    //!This program is the server portion of the distributed job system.
    #include "application.h"
    #include "log4cwrapper.h"
    //#include "sql.h"
    #include <oci.h>
    OCIEnv*            env;
    int main(int argc, char* argv[]){
         OCIError*     err;
         OCIServer*    srv;
         OCISvcCtx*    svc;
         OCISession*   ses;
         sword r;
         OCIStmt*       initslc;
         OCIStmt*       comm;
         OCIBind      *bnd1hp = (OCIBind*) 0;
         char stmt[]="commit";
         char update_initial[] ="update CONV_IMAGE_JOBS set conv_attempts_cnt = :1";
         FILE *log_fd_main;
         int sockfd, logfd, pidfd, count = 0, oci_error = 0;
         pthread_t job_thread;               //!<Threads for image conversion
        pthread_attr_t thread_attr;          //!<Thread attribute
        int *clientfd;                         //!<Non-negative file descriptor for new socket
        pthread_mutexattr_t mattr;          //!<Mutex attribute used to set the properties of the mutex
         char masterpid[100];
         log_fd_main = fopen(log_file, "a");
         if (log_fd_main == NULL) {
              printf(" ERROR - DjsMaster [0002] Failed to open log file.\n");
            exit(1);
        r=OCIEnvCreate( &env,
              OCI_THREADED
             , 0, 0, 0, 0, 0, 0);
        if (r != OCI_SUCCESS) {
              strcpy(err_msg,"Couldn't create environment (OCIEnvCreate)");
              oci_error = 1;
              cleanup();
         OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
         OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
         OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
         OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
         r=OCIServerAttach(srv, err, dbname, strlen((const char*)dbname), (ub4) OCI_DEFAULT);
         if (r != OCI_SUCCESS) {
              checkerrr(err, r, err_msg);
              oci_error = 1;
              cleanup();
         OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
         OCIAttrSet(ses, OCI_HTYPE_SESSION, username,
                strlen((const char*)username), OCI_ATTR_USERNAME, err);
         OCIAttrSet(ses, OCI_HTYPE_SESSION, password,
                strlen((const char*)password), OCI_ATTR_PASSWORD, err);
         if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX,
                (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
              checkerrr(err, r,err_msg);
              oci_error = 1;
              cleanup();
         r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
         if (r != OCI_SUCCESS) {
              checkerrr(err, r,err_msg);
              oci_error = 1;
              cleanup();
         if (OCIHandleAlloc((dvoid *) env, (dvoid **) &initslc,
                (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtPrepare(initslc, err, (text*)(void*)update_initial,
                (ub4) strlen((char *) update_initial),
                (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) initslc, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         int coun=0;
         if ((r = OCIBindByPos(initslc, &bnd1hp, err, (ub4) 1, &coun, sizeof(count), SQLT_INT,
                                 (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
               checkerrr(err, r, (text*)err_msg);
            oci_error = 1;
              cleanup();
         if ((r = OCIStmtExecute(svc, initslc, err, (ub4) 1, (ub4) 0, (CONST OCISnapshot *) 0,
                                   (OCISnapshot *) 0, (ub4) OCI_DEFAULT))){
              checkerrr(err, r, (text*)err_msg);
             OCIHandleFree((dvoid *) sh, (ub4) OCI_HTYPE_STMT);
             oci_error = 1;
               cleanup();
         if ((r=OCIHandleAlloc((dvoid *) env, (dvoid **) &comm,
                (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtPrepare(comm, err, (text*)(void*)stmt,
                (ub4) strlen((char *) stmt), (ub4) OCI_NTV_SYNTAX,
                (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtExecute(svc, comm, err, (ub4) 1, (ub4) 0,
                (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
         OCIHandleFree((dvoid *) initslc, (ub4) OCI_HTYPE_STMT);
         if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
              oci_error = 1;
              cleanup();
         if ( oci_error == 1) {
              cleanup();
            log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, log_fd_main);
         mylog_msg("DjsMaster", LOG4C_PRIORITY_DEBUG,
          " [0000]  daemon running, ready to accept connections,"
          "waiting for to connect......");     
         fclose(log_fd_main);
         while (1) {
                 Accept a connection from a slave. 
            clientfd = malloc(sizeof(int));
            if ((*clientfd = serv_accept(sockfd)) < 0) {
                    exit(1);
                 Fork off a child thread to process this slave. 
            pthread_create(&job_thread, &thread_attr, jobfunction, clientfd);
             //count++;
               sleep(1);
    //!Dump Oracle Error
    void cleanup() {
         log4c_appender_t* myappender;
         myappender = log4c_appender_get("myappender");
         log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, fopen(log_file, "a"));
         mylog_log("DjsMaster", LOG4C_PRIORITY_ERROR,
          " [2001] Oracle error %s", err_msg);
    void *jobfunction(void *arg) {
         OCIError*     err;
         OCIServer*    srv;
         OCISvcCtx*    svc;
         OCISession*   ses;
         sword r;
         OCIBind      *bnd1hp = (OCIBind*) 0;
         OCIBind      *bnd2hp = (OCIBind*) 0;
         OCIBind      *bnd3hp = (OCIBind*) 0;
         OCIDefine *def1hp = (OCIDefine *) 0;
         OCIDefine *def2hp = (OCIDefine *) 0;
         OCIDefine *def3hp = (OCIDefine *) 0;
         OCIDefine *def4hp = (OCIDefine *) 0;
         OCIDefine *def5hp = (OCIDefine *) 0;
         OCIDefine *def6hp = (OCIDefine *) 0;
         OCIDefine *def7hp = (OCIDefine *) 0;
         OCIDefine *def8hp = (OCIDefine *) 0;
         OCIDefine *def9hp = (OCIDefine *) 0;
         char select_all[] =" select filename, filepath, image_system_id, quality_status_cd,"
                          " format_cd,global_id, id, conv_attempts_cnt, image_resolution"
                                  " from TABLE_NAME where conv_attempts_cnt = 0 order by created_datetime ";
         char select_count[] ="select conv_attempts_cnt, image_resolution from TABLE_NAME"
                            " where id = :1 ";
         char update_single[] ="update TABLENAME set conv_attempts_cnt = :1 where id = :2 ";
         char stmt[]="commit";
         int oci_error = 0;
            Variables to hold the values returned from SQL SELECT
         int id, global_id, format_cd, quality_status;
         int resolution, image_id, conv_attempts_cnt;
         char filename[101];                      
       char filepath[201];                      
         char filepath_full[MAX_BUF];       
         char tif_filename[101];                 
         char return_filepath[MAX_BUF];     
         char conv_details[MAX_BUF];          
         char *hold_filename;
         char *hold_filepath;
         char *hold_tiffile;
       char *progress;
         char *tempstr_p;
       char *jobnum_p;
       char *returnname_p;
         char *returnsize_p;
         char tempstr[MAX_BUF];
         int count = 0;                 
         int success_flag = 0;     
       int reprocess_flag = 0;
         char s_resolution[5];     
         char s_format[5];            
         struct stat filebuf;      
         int myfd, datafd, jobid, i, update, holdid;
         char sockread[1024], sockwrite[1024],
            jobnum[10], dataname[1024],
            line_to_log[1024], databuf[1024];
         int datasize, bufsize, returnsize, filesize;
         FILE *log_fd;
         log4c_appender_t* myappender;
         myappender = log4c_appender_get("myappender");
         log_fd = fopen(log_file, "a");
         if (log_fd == NULL) {
              perror(" ERROR - DjsMaster [1000] Failed to open log file.\n");
            exit(1);
         myfd = *((int *)arg);          
       log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, log_fd);
         mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                " [1000] Starting jobs on %d.",
                (int)pthread_self());     
         Readline_r(myfd, sockread, 255);
            Continue to read requests received from the slaves. 
         while (strcmp(sockread, SLAVE_DONE) != 0) {
              OCIStmt* slcth;               
              OCIStmt* updth;               
              OCIStmt* slcth2;           
              OCIStmt*       comm;
              sleep(15);
          log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
              log4c_appender_set_udata(myappender, log_fd);
              mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
             " [1000] Continue to read request from %d, looping with %s ",
             (int)pthread_self(), sockread);     
            if (strcmp(sockread, REQUEST_JOB) == 0) {
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                   log4c_appender_set_udata(myappender, log_fd);
                   mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                " [1000] %d  requesting job. Connecting to database.",
                (int)pthread_self());     
               if (oci_error == 1) {
                if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                        checkerrr(err, r, (text*)err_msg);
                        cleanup();
                      if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                           cleanup();
                oci_error = 0;
                   OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
                   OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
                   OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
                   OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
                   r=OCIServerAttach(srv, err, dbname,
                   strlen((const char*)dbname), (ub4) OCI_DEFAULT);
                   if (r != OCI_SUCCESS) {
                        checkerrr(err, r, err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
             OCIAttrSet(ses, OCI_HTYPE_SESSION, username,
                   strlen((const char*)username), OCI_ATTR_USERNAME, err);
             OCIAttrSet(ses, OCI_HTYPE_SESSION, password,
                   strlen((const char*)password), OCI_ATTR_PASSWORD, err);
                   if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX,
                   (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
                        checkerrr(err, r,err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
                   if (r != OCI_SUCCESS) {
                        checkerrr(err, r,err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if (OCIHandleAlloc((dvoid *) env, (dvoid **) &slcth,
                   (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                        checkerrr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIStmtPrepare(slcth, err, (text*)(void*)select_all,
                      (ub4) strlen((char *) select_all),
                      (ub4) OCI_NTV_SYNTAX,
                      (ub4) OCI_DEFAULT))) {
                        checkerrr(err, r, (text*)err_msg);
                        OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def1hp, err, 1,
                      filename, 100, SQLT_CHR, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def2hp, err, 2,
                      filepath, 100, SQLT_CHR, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def3hp, err, 3,
                      &image_id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def4hp, err, 4,
                      &quality_status, sizeof(int), SQLT_INT,
                      (dvoid *) 0, (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def5hp, err, 5,
                      &format_cd, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def6hp, err, 6,
                      &global_id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def7hp, err, 7,
                      &id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def8hp, err, 8,
                      &conv_attempts_cnt, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                   if ((r=OCIDefineByPos(slcth, &def9hp, err, 9,
                      &resolution, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIStmtExecute(svc, slcth, err, (ub4) 0, (ub4) 0,
                      (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                      (ub4) OCI_DEFAULT))){
                        checkerr(err, r, (text*)err_msg);
                        OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   r = OCIStmtFetch(slcth, err, (ub4) 1, (ub4) OCI_FETCH_NEXT, (ub4) OCI_DEFAULT);
                   if (r == OCI_SUCCESS) {
                        success_flag = 1;
                reprocess_flag = 0;
                   else if (r == OCI_SUCCESS_WITH_INFO) {
                        success_flag = 1;
                reprocess_flag = 0;
                   else {
                        if (r != OCI_NO_DATA) {
                             checkerr(err, r, (text*)err_msg);
                             success_flag = 0;
                        success_flag = 0;
                   OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                       No job in the table. Continue listening. Tell the slave
                       there are no current jobs to process. 
                 if (! (success_flag)) {
                if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                        success_flag = 0;
                        sprintf(sockwrite, "%s", NO_JOB);
                    log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000] No new jobs, writing to %d %s",
                      (int)pthread_self(), sockwrite);     
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                Readline_r(myfd, sockread, 255);
                        success_flag = 0;
                continue;
                   /*  New job is fetched, process it.  */
                     else {
                reprocess_flag = 0;
    reprocess:     log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("Oracle", LOG4C_PRIORITY_DEBUG,
                   " [2000][id %d] Fetching data for new job from databse", id);
                        mylog_log("Oracle", LOG4C_PRIORITY_DEBUG,
                   " [2000][id %d]Fetched job_id=%d, format=%d, resolution=%d, conv_attemtps=%d, imagefile=%s, imagepath=%s",
                   id, id, format_cd, resolution,
                   conv_attempts_cnt, filename, filepath);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                   " [1000][id %d] New job for %d. Job will be processed.",
                   id, (int)pthread_self());     
                        holdid = id;
                if ( reprocess_flag == 1 )
                           OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
                           OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
                           OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
                           OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
                           r=OCIServerAttach(srv, err, dbname, strlen((const char*)dbname), (ub4) OCI_DEFAULT);
                           if (r != OCI_SUCCESS) {
                                checkerrr(err, r, err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                           OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
                           OCIAttrSet(ses, OCI_HTYPE_SESSION, username, strlen((const char*)username), OCI_ATTR_USERNAME, err);
                           OCIAttrSet(ses, OCI_HTYPE_SESSION, password, strlen((const char*)password), OCI_ATTR_PASSWORD, err);
                           if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX, (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
                                checkerrr(err, r,err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                           r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
                           if (r != OCI_SUCCESS) {
                                checkerrr(err, r,err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                        if (OCIHandleAlloc((dvoid *) env, (dvoid **) &slcth2,
                      (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(slcth2, err, (text*)(void*)select_count,
                      (ub4) strlen((char *) select_count),
                      (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIDefineByPos(slcth2, &def1hp, err, 1,
                         &conv_attempts_cnt, sizeof(int), SQLT_INT, (dvoid *) 0,
                         (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                             checkerr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(slcth2, &bnd1hp, err, (ub4) 1,
                         &holdid, sizeof(int), SQLT_INT,
                         (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0,
                         (ub4 *) 0, OCI_DEFAULT))){
                             checkerr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIStmtExecute(svc, slcth2, err, (ub4) 0, (ub4) 0,
                         (CONST OCISnapshot *) 0,
                         (OCISnapshot *) 0, (ub4) OCI_DEFAULT))){
                             checkerr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        r = OCIStmtFetch(slcth2, err, (ub4) 1,
                      (ub4) OCI_FETCH_NEXT, (ub4) OCI_DEFAULT);
                        if (r == OCI_SUCCESS) {
                             success_flag = 1;
                        else if (r == OCI_SUCCESS_WITH_INFO) {
                             success_flag = 1;
                        else {
                             if (r != OCI_NO_DATA) {
                                  checkerr(err, r, (text*)err_msg);
                                  success_flag = 0;
                                  sprintf(sockwrite, "%s", NO_JOB);
                                  Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                  Readline_r(myfd, sockread, 255);
                                  continue;
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                        count = conv_attempts_cnt;
                        count++;
                        /*   Updating conv_attemtpts_cnt for the current job  */
                        if (OCIHandleAlloc((dvoid *) env, (dvoid **) &updth,
                      (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(updth, err, (text*)(void*)update_single,
                      (ub4) strlen((char *) update_single), (ub4) OCI_NTV_SYNTAX,
                      (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(updth, &bnd2hp, err, (ub4) 1, &count,
                         sizeof(count), SQLT_INT, (dvoid *) 0, (ub2 *) 0,
                         (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
                         checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(updth, &bnd3hp, err, (ub4) 2, &holdid,
                         sizeof(holdid), SQLT_INT, (dvoid *) 0, (ub2 *) 0,
                         (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
                         checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIStmtExecute(svc, updth, err, (ub4) 1, (ub4) 0,
                         (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                         (ub4) OCI_DEFAULT))){
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIHandleAlloc((dvoid *) env, (dvoid **) &comm,
                         (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(comm, err, (text*)(void*)stmt,
                         (ub4) strlen((char *) stmt),
                         (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtExecute(svc, comm, err, (ub4) 1,
                      (ub4) 0, (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                      (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                        OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                        if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        hold_filename = strtok_r(filename, " ", &progress);
                        strcpy(filename,hold_filename);
                        strcpy(tif_filename, filename);
                    hold_tiffile = strtok_r(tif_filename, ".", &progress);
                        strcpy(tif_filename, hold_tiffile);
                        strcat(tif_filename, ".tif");
                        hold_filepath = strtok_r(filepath, " ", &progress);
                        strcpy(filepath, hold_filepath);
                        strcpy(return_filepath, filepath);
                        strcat(return_filepath, "/");
                        strcat(return_filepath, filename);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_DEBUG,
                   " [1000][id %d]  Image %s located in %s will be converted to image filename %s ",
                   holdid, tif_filename, filepath, filename);     
                        if (tif_filename == NULL) {
                             log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_WARN,
                      " [1001][id %d]  No file to convert. No file name associated with the job",
                      holdid);     
                   sprintf(sockwrite, "%s", NO_JOB);
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000][id %d] No job to perform. Writing to %d %s",
                      holdid, (int)pthread_self(), sockwrite);     
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             if ( count <= max_failure ) {
                                  success_flag = 1;
                      reprocess_flag = 1;
                                  goto reprocess;
                             else {
                                  success_flag = 0;
                                  continue;
                             //continue;
                        strcpy(filepath_full, filepath);
                        strcat(filepath_full, "/");
                        strcat(filepath_full, tif_filename);
                        if (stat(filepath_full, &filebuf) < 0) {
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                           log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_WARN,
                      " [1002][id %d]  Could not stat the file %s. Nothing to send to %d ",
                      holdid, filepath_full, (int)pthread_self());     
                           sprintf (sockwrite, "%s", NO_JOB);
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000][id %d] No job to perform. Writing to %d %s",
                      holdid, (int)pthread_self(), sockwrite);     
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                   Readline_r(myfd, sockread, 255);
                             if ( count <= max_failure ) {
                                  success_flag = 1;
                      reprocess_flag = 1;
                                  goto reprocess;
                             else {
                                  success_flag = 0;
                                  continue;
                        //continue;
                        datasize = (int)filebuf.st_size;
                        sprintf(s_resolution, "%d", resolution);
                        sprintf(s_format, "%d", format_cd);
                        strcpy(conv_details, "./conv.sh:");
                        strcat(conv_details, tif_filename);
                        strcat(conv_details, ":");
                        strcat(conv_details, s_resolution);
                        strcat(conv_details, ":");
                        strcat(conv_details, s_format);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                   " [1000][id %d] Writing to socket all conversion details for %d ",
                   holdid, (int)pthread_self());     
                        sprintf(sockwrite, "%d=%s%%%s%%%d%%%s\n", id, conv_details,
                      tif_filename, datasize, return_filepath);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_DEBUG, " [1000][id %d] Sending %s",
                      holdid, sockwrite);     
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        if ((datafd = open(filepath_full, O_RDONLY)) < 0) {
                   close(myfd);
                     log4c_appender_set_type(myappender,

    I wonder how OCI_OBJECT will fix it as the call to OCIServerAttach is the culprit in the update_Tables function.

  • Error while executing the .sql file

    Hello,
    Every time when i execute the below plsql it's keep throwing the error message as show in below output, this happens even when i manually create the trigger before executing the .sql file of all the below statements, can you please correct me what i am doing wrong here. Thank you.
    DROP TABLE FCSDWH.REF_DATA_MASTER;
    CREATE TABLE FCSDWH.REF_DATA_MASTER
    REF_DATA_MASTER_ID                      NUMBER PRIMARY KEY,
    DESCRIPTION                                     VARCHAR2(255 CHAR),
    CREATE_ID                                       VARCHAR2(10 CHAR),
    CREATE_DT                                       DATE,
    LST_UPD_ID                                      VARCHAR2(10 CHAR),
    LST_UPD_DT                                      DATE,
    ACT_STRT_DT                                     DATE,
    ACT_END_DT                                      DATE
    TABLESPACE FCSDWH
    STORAGE(INITIAL 50K);
    DROP SEQUENCE FCSDWH.REF_DATA_MASTER_SEQ;
    CREATE SEQUENCE FCSDWH.REF_DATA_MASTER_SEQ START WITH 1 INCREMENT BY 1;
    DROP TRIGGER "FCSDWH.REF_DATA_MASTER_TRG";
    CREATE OR REPLACE TRIGGER FCSDWH.REF_DATA_MASTER_TRG
    BEFORE INSERT ON FCSDWH.REF_DATA_MASTER
    FOR EACH ROW
    BEGIN
    SELECT FCSDWH.REF_DATA_MASTER_SEQ.NEXTVAL INTO :NEW.REF_DATA_MASTER_ID FROM DUAL;
    END;
    /Output:
    SQL> @/home/smadala/REF_DATA_MASTER.SQL
    Table dropped.
    Table created.
    Sequence dropped.
    Sequence created.
    DROP TRIGGER "FCSDWH.REF_DATA_MASTER_TRG"
    ERROR at line 1:
    ORA-04080: trigger 'FCSDWH.REF_DATA_MASTER_TRG' does not exist
    Trigger created.
    SQL>

    The trigger is "attached" to the table so when you drop the table the trigger goes as well.
    John

  • RemoteInvokable Error while executing the sqls through weblogic connection object

    Hi, We are getting the following error while trying to execute the sps or sql using
    the weblogic connection pool.
    1. The client is a simple java program (not Bean).
    2. It is processing lots of records (more than 6000). When we are having less no.
    of records we are not getting this error. i.e. 200/600 records.
    java.sql.SQLException: weblogic.rmi.extensions.RemoteRuntimeException - with nested
    exception:
    [java.rmi.NoSuchObjectException: RemoteInvokable - id: '334'
    Start server side stack trace:
    java.rmi.NoSuchObjectException: RemoteInvokable - id: '334'
            at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:627)
    I am also attaching here the source file.
    Please advise.
    Mishra
    [UpdateTransWork.java]

    Hi Surya,
    Which weblogic version/ service pack are you using?
    Meanwhile, the source of this error could be places
    where you close allocated JDBC objects twice. AFAIR
    it was fixed in the latest service packs.
    Regards,
    Slava Imeshev
    "Surya Narayan Mishra" <[email protected]> wrote in message
    news:3cce522e$[email protected]..
    >
    Hi, We are getting the following error while trying to execute the sps orsql using
    the weblogic connection pool.
    1. The client is a simple java program (not Bean).
    2. It is processing lots of records (more than 6000). When we are havingless no.
    of records we are not getting this error. i.e. 200/600 records.
    java.sql.SQLException: weblogic.rmi.extensions.RemoteRuntimeException -with nested
    exception:
    [java.rmi.NoSuchObjectException: RemoteInvokable - id: '334'
    Start server side stack trace:
    java.rmi.NoSuchObjectException: RemoteInvokable - id: '334'
    at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:627)
    I am also attaching here the source file.
    Please advise.
    Mishra

  • Strange error while execute PL/SQL

    Hi All,
    I am execting a procedure from user (say USER1) who is having the DBA role granted.
    Its getting the errors while creation:
    SQL> show errors
    Errors for PROCEDURE DISP_DBLOCKS:
    LINE/COL ERROR
    8/11 PLS-00341: declaration of cursor 'DBLOCK_CURSOR' is incomplete or
    malformed
    10/8 PL/SQL: SQL Statement ignored
    34/15 PL/SQL: ORA-00942: table or view does not exist
    42/17 PL/SQL: Item ignored
    54/8 PL/SQL: SQL Statement ignored
    56/16 PL/SQL: ORA-00942: table or view does not exist
    79/8 PL/SQL: SQL Statement ignored
    79/33 PLS-00320: the declaration of the type of this expression is
    incomplete or malformed
    LINE/COL ERROR
    82/8 PL/SQL: Statement ignored
    82/27 PLS-00320: the declaration of the type of this expression is
    incomplete or malformed
    But If I execute the same procedure from SYS user, its got created without any errors.
    The procedure is using tables SYS.V$LOCK L, SYS.V$SESSION S, SYS.V$PROCESS P, SYS.USER$ U, SYS.OBJ$ T and shows the locking info for DB.
    Please let me know if I am missing something and also how to resolve this issue.
    Thanks in advanced
    Bhupinder

    ORA-00942: table or view does not existbecause u don't have permission on some tables
    check it by manual issue select from these tables by new user

  • Client-side Memory leak while executing PL/SQL and reading from a view

    Iam noticing memory leaks in OCCI while performing the following:
    Sample function()
    1. Obtain a connection
    2. Create a statement to execute a PL/SQL procedure
    3 Execute the statement created in step #2
    4. Terminate the statement created in step #2
    5. Create a statement to read from a view which was populated
    by executing stored procedure in step #3
    6. Execute the statement created in step #5
    7. Terminate the statement created in step #5
    8. Release the connection
    The PL/SQL populates a view with fixed 65,000 records for every execution. PL/SQL opens a cursor, loads 65000 records and populates the target view and closes the cursor at the end. If i invoke the above function it results in memory leak of 4M for every call. I tried several variants such as:
    1. Disabling statement caching
    2. Using setSQL instead of newly creating second SQL statement
    3. Obtaining two separate connections for these two activities (PL/SQL exec and View read)
    4. Breaking the sample function into two, one for each of these activities (PL/SQL exec and View read).
    All the combinations results in the same behaviour of 4M memory leak.
    Iam using Oracle 10g Client/Server 10.2.0.1.0.
    Is there any known limitations in this area?

    Yes. Iam closing the result set and terminating the statement.
    My program contains layers of inhouse wrapper classes, which will take some time for
    me to present it in pure OCCI calls, to be posted here for your understanding.
    After some more debugging, i found that if the connection level statement caching is set to
    0, the memory leak is much lower than before.
    Thanks.
    Message was edited by:
    user498920

  • JVM hangs while executing  a sql query

    My JVM hangs while I try to execute an update query. I am using JDBC thin client and Oracle 9i as database. Can someone please suggest what could be wrong.

    I have a serious problem regarding the usage of Prepared Statement.
    I am working on J2EE based application with the application server as Oracle 9ias.We have mostly used Prepared in 0ur queries.But one our application got implemented we are facing some strange problems.The first instance was a web page was getting hanged and does not give any results.But this had worked fine in all our testing environment.We analysed the table which it uses and still no result.Finally we changed prepared statement to statement and the result page came within seconds.
    The second instance is the main issue.Again a query is getting hanged when we try to process it through the web page.We again tested it by converting from prepared statement to statement and its coming within seconds.
    Can someone give me some input.Is there any databse parameter that is controlling this prepared statement or statement.

  • Parameter index move while executing PL/SQL stored procedure/function

    Hello, community.
    Have a question for you. It looked like very easy to write some small JDBC-wrapper to handle stored procedure/functions call for Oracle.
    Here is the code snippet of it:
    import java.io.Serializable;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Iterator;
    import javax.sql.DataSource;
    import oracle.jdbc.driver.OracleTypes;
    import org.apache.log4j.Logger;
    public class SmallHelper {
         public static final int CALL_TYPE__PROCEDURE = 1;
         public static final int CALL_TYPE__FUNCTION = 2;
         public static final int PARAMETER__IN = 1;
         public static final int PARAMETER__OUT = 2;
         private static final Logger log = Logger.getLogger(SmallHelper.class);
         private Connection con = null;
         private CallableStatement statement = null;
         private String name;
         private int type;
         private int resultType;
         private HashMap arguments = new HashMap();
          * Creates connection using data source as parameter.
          * @param ds - data source
          * @throws EhlApplicationException
         public SmallHelper(DataSource ds) throws Exception {
           try {
                   con = ds.getConnection();
              catch (SQLException e) {
                   ExceptionHelper.process(e);
         public void registerProcedure(String name) {
              this.name = name;
              this.type = CALL_TYPE__PROCEDURE;
         public void registerFunction(String name, int resultType) {
              this.name = name;
              this.resultType = resultType;
              this.type = CALL_TYPE__FUNCTION;
          * NB! When You're dealing with stored function index should start with number 2!
         public void registerArgument(int index, Object value, int type, int inOutType) {
              arguments.put(new Long(index), new CallableStatementArgument(value, type, inOutType));
         private String getSQL() {
              StringBuffer str = new StringBuffer("{ call  ");
              if ( type == CALL_TYPE__FUNCTION )
                   str.append(" ? := ");
              str.append(name).append("( ");
              for ( Iterator i = arguments.values().iterator(); i.hasNext(); ) {
                   i.next();
                   str.append("?");
                   if ( i.hasNext() )
                        str.append(", ");
              str.append(") }");
              return str.toString();
         public void execute() throws SQLException{
              String query = getSQL();
              statement = con.prepareCall(query);
              if ( type == CALL_TYPE__FUNCTION )
                   statement.registerOutParameter(1, resultType);
              for ( Iterator i = arguments.keySet().iterator(); i.hasNext(); ) {
                   Long index = (Long) i.next();
                   CallableStatementArgument argument = (CallableStatementArgument) arguments.get(index);
                   int type = argument.getType();
                   if ( argument.getInOutType() == PARAMETER__OUT )
                        statement.registerOutParameter(index.intValue(), type);
                   else if ( type != OracleTypes.CURSOR )
                        statement.setObject(index.intValue(), argument.getValue(), type);
              log.info("Executing SQL: "+query);
              statement.execute();
         public CallableStatement getStatement() {
              return statement;
         public void close() throws EhlApplicationException {
              try {
                   if (statement != null)
                        statement.close();
                   if (con != null)
                        con.close();
              catch (SQLException e) {
                   EhlSqlExceptionHelper.process(e);
         private class CallableStatementArgument implements Serializable{
              private Object value;
              private int type;
              private int inOutType;
              public CallableStatementArgument(Object value, int type, int inOutType) {
                   this.value = value;
                   this.type = type;
                   this.inOutType = inOutType;
              public int getType() {
                   return type;
              public Object getValue() {
                   return value;
              public int getInOutType() {
                   return inOutType;
    }It was really done in 10-15 mins, so don't be very angry at code quality :)
    Here is the problem.:
                   helper.registerProcedure("pkg_diagnosis.search_diagnosis");
                   helper.registerArgument(1, null, OracleTypes.CURSOR, EhlJdbcCallableStatementHelper.PARAMETER__OUT);
                   helper.registerArgument(2, pattern, OracleTypes.VARCHAR, EhlJdbcCallableStatementHelper.PARAMETER__IN);
                   helper.registerArgument(3, lang, OracleTypes.VARCHAR, EhlJdbcCallableStatementHelper.PARAMETER__IN);
                   helper.registerArgument(4, EhlSqlUtil.convertSetToString(langs, ","), OracleTypes.VARCHAR, EhlJdbcCallableStatementHelper.PARAMETER__IN);
                   helper.registerArgument(5, EhlSqlUtil.convertSetToString(diagnosisClass, ","), OracleTypes.VARCHAR, EhlJdbcCallableStatementHelper.PARAMETER__IN);
                   helper.registerArgument(6, parentId, OracleTypes.NUMBER, EhlJdbcCallableStatementHelper.PARAMETER__IN);
                   helper.execute();
                   ResultSet rs = ((OracleCallableStatement) helper.getStatement()).getCursor(1);
                   procedure definition:
    procedure search_diagnosis (l_res OUT dyna_cur,
                               in_search_string IN VARCHAR2,
                               in_search_lang IN VARCHAR2,
                               in_lang_list IN VARCHAR2,
                               in_diag_class_list IN VARCHAR2,
                               in_parent_id IN NUMBER) Procedure call has inner check that fail because of som strange reason:
    in_search_string has 2 as index, that is correct. but procedure recieves is as number 3 in parameter list (what is in_search_lang). Other parameters are moved to. It seems like a cursor takes 2 places in definition. It's clear that if I put in_search_string as 1 parameter and cursor as 0 I'll get invalid parametr bindong(s) exception. So... any ideas why 2nd parameter is actually 3rd?
    Thanks beforehand.

    hmm...moreover:
    if we change procedure to function and call it in a simple way:
    CallableStatement stmnt = helper.getConnection().prepareCall("begin ? := pkg_diagnosis.search_diagnosis(?,?,?,?,?); end;");
                   stmnt.registerOutParameter(1, OracleTypes.CURSOR);
                   stmnt.setString(2, pattern);
                   stmnt.setString(3, lang);
                   stmnt.setString(4, langs);
                   stmnt.setString(5, diagnosisClass);
                   stmnt.setObject(6, parentId, OracleTypes.NUMBER);
                   stmnt.execute();
                   ResultSet rs = (ResultSet) stmnt.getObject(1);the exception is:
    [BEA][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 14:
    PLS-00382: expression is of wrong type
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignoredif we return some string or number - it works. but when we want cursor back - it fails.
    cursor is defined like ordinary dynamic cursor:
    TYPE dyna_cur IS REF CURSOR;

  • Getting error while executing the SQL ( ver 8.1.7.0.0)

    I am running a simple query involved with joins. When i ran the query with first set of criteria mentioned in the WHERE clause there is no problem. But when I try to run the same just by doing some correction in the WHERE clause, following errors is shown. I tried doing this from TOAD and SQL Analyser. I am getting the same output.
    ORA-01114: IO error writing block to file 4 (block # 524242)
    ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 524247)
    ORA-01114: IO error writing block to file 4 (block # 524242)
    ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 524247)
    Can anyone suggest what is this error all about and resolution for the same. Thanks.
    Regards
    Srinivasan B

    Could be a problem with your temp tablespace. Especially if your query is doing a large sort (merge) operation. Usually a simple select does not write any IO. With expetion from the temp tablespace. But I would have expected another error message then.
    Without exactly knowing what the problem is i'm hesitant to give an advice. But rethinking your query could be a good starting point.
    Message was edited by:
    Sven Weller

  • Error while executing PL/SQl on Toad

    Hi,
    I get the following error:
    ORA-04031: UNABLE TO ALLOCATE 64 BYTES OF SHARED MEMORY (“SHARED POOL, “Declared BAL NUMBER(8,2);p;errors;errors….)
    when I try to run
    DECLARE
    BAL NUMBER(8,2);
    BEGIN
    DBMS_OUTPUT.PUT_LINE("HELLO");
    END;
    Not sure why it is coming.
    TIA

    While the double-quotes vs single-quotes should cause an error, I'm not sure the ORA-4031 is the error you should be getting. Might as well fix it and be sure.
    I got something similar to your error yesterday, but it occurred after using too much memory when adding a column to a collection. I got a sucessful run (or probably would have if someone hadn't suddenly shut the database down) after removing unnecessary fields in the collection causing it to use less memory.
    I wonder if someone else could have been doing something unwieldy while you run your script. Odd coincidences do happen. Your script is so small I can't believe it would cause a memory error, barring dbms_output doing something bizarre with the word "Hello" and double quotes.
    Fix the double quotes and see what happens.

  • Unix OS /while executing SQL commands needs Error Log

    hai ,
    I am accessing the Development Server. While executing the SQL commands I need to log the errors. (like Spool in Windows )
    Same way , i want to log the error on Unix Environment.
    Thanks In Advance.
    Anzy

    Spool is a SQL*Plus command, just use it and you'll get your log.

  • Error executing MS sql server procedure

    I am getting an error below while executing a SQL server procedure from SOA composite. My jdeveloper and Soa Suite version is 11.1.1.4.
    I am using “Oracle’s MS SQL Server Driver (Type 4) Version: 7.0 and later” driver. The SQL Server version is 2005.
    To configure the connection I used the steps mentioned in URL below.
    http://beatechnologies.wordpress.com/2011/01/31/creating-a-dbadapter-for-mssql-server-in-osb-11g/
    The MS SQL procedure signature is as below.
    @p_EventId               nvarchar     IN
    @p_EventName_IN               nvarchar     IN
    @p_Agreement_No_IN          decimal          IN
    @p_Acc_Base_Number_IN          decimal          IN
    @p_Acc_Comp_No_IN          decimal          IN
    @p_Account_Company_Name_IN     nvarchar     IN
    @p_Agree_Stat_Code_IN          nvarchar     IN
    @p_Agree_Type_Code_IN          nvarchar     IN
    @p_HeadQtr_Code_IN          nvarchar     IN
    @p_Sales_Off_Name_IN          nvarchar     IN
    @p_Reseller_Name_IN          nvarchar     IN
    @p_Oracle_Order_number_IN     decimal          IN
    @p_License_Effective_Date_IN     datetime     IN
    @p_PO_Number_IN               decimal          IN
    @p_Invoice_Number_IN          decimal          IN
    @p_Invoice_Date_IN          datetime     IN
    @p_Support_Contract_ID_IN     decimal          IN
    @p_Stmt_Of_Capacity_Due_Date_IN     datetime     IN
    @p_Contract_Start_Date_IN     datetime     IN
    @p_Contract_End_Date_IN          datetime     IN
    @p_Contract_Type_IN          nvarchar     IN
    Error message .
    <fault>
    <bpelFault>
    <faultType>0</faultType>
    <bindingFault>
    <part name="summary">
    <summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CompanySPProdcall' failed due to: Unimplemented object conversion. Conversion of type 1 whose JDBC type is OTHER to a Java object is not supported. An attempt was made to convert type 1 to a Java object using an unsupported JDBC type: OTHER. Use a data type with a supported JDBC type. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary>
    </part>
    <part name="detail">
    <detail>Unimplemented object conversion. Conversion of type 1 whose JDBC type is OTHER to a Java object is not supported. An attempt was made to convert type 1 to a Java object using an unsupported JDBC type: OTHER. Use a data type with a supported JDBC type. </detail>
    </part>
    <part name="code">
    <code>null</code>
    </part>
    </bindingFault>
    </bpelFault>
    </fault>
    Please let me know the solution for this issue?
    Thanks...

    I had the similar problem and I am using 11.1.1.5.
    When I changed the platformClassName to org.eclipse.persistence.platform.database.SQLServerPlatform it worked.
    You can find platformClassName in Outbound Connection Properties
    Hope this might work :)

  • Geeting TIMEOUT while executing a Stored Procedure.

    Hi Gurus,
    Am facing a TimeOut  issue while executing the Sql Stored Procedure.
    I have changed a settings of Execution TimeOut to Zero (which is unlimited ), Am still unable to execute the Stored Procedure.
    Should i have to add any TimeOut Command in my Sql Stored Procedure. If please suggest me.
    Thanks in advance.

    Time out is the client who throws the error  not SQL Server. Please read Erland's article
    http://www.sommarskog.se/query-plan-mysteries.html
    Are you sure there is blocking/locking? Is that possible someone run BEGIN TRAN and did not properly specify COMMIT TRAN?
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

Maybe you are looking for

  • Another Media Processor 8100 Upgrade Issue

    Hi, A few days ago I posted here about a problem upgrading a Media Processor 8100 (from 6.2.1 to 6.2.4). I was able to solve my problem, but now I've encountered a different problem upgrading a second 8100 box. After I ran the upgrade through the web

  • Can one create a floating window using JSF?

    I was recently shown the interface for GMail. I don't have a GMail account, but one of the things I was asked to investigate was whether or not we can create the sort of floating window that appears on the GMail interface when one positions the mouse

  • BDC  For Bank Reconsilation.

    Dear friends,         I want to create BDC for bank reconcillation using Tcodes FF67 and FEBA. So I want to know whether we can create BDC for such a transactional data or there may be any other solution for the same. Beacuse it is very complicated p

  • What is the SQL command to list all tables in a access database(mdb)

    hi everyone can anybody tell me how to retreive and display total number of tables or total table name in a particular database in jsp page thank you .

  • Looking for Iphone3 training class?

    I am looking for a training class for my Iphone3.