Ora-01574 against table QMS_TRANSACTIONS

We experience ora-01574 (too many transactions) when for about 10 concurrent users connect trough our headstart based application. Support analyzed trace files and told us that over 255 concurrent transactions occur against table QMS_TRANSACTIONS. Has anyone experienced this before?
I noticed that a sequence with interval 1 increases by thousands when the error raises. e.g. our sequence CURRVAL has value 800 before the ORA-01574 and 52000 after the ora-01574. We can resolve the issue when we kill the forms session which takes too much CPU and too much RAM. (> 30K). As long we do not kill that forms session, noone can commit form.

Johan,
In the past there were reported other problems regarding qms_transactions. E.g. selecting a value from it took very long (> 20 seconds) and came back with answer 0 (zero).
This is the reason why we decided to make this table a temporary table in patch 6.5.2.3.
Do you run on this patch? If not, it's available via the iDevelopment Accellerator Supplement Option.
I'm interested whether this makes any difference.
Kind regards, Marc

Similar Messages

  • "ORA-00903: invalid table name" when enqueue using a CLOB in an ADT payload

    I am attempting to enqueue into an AQ that has an ADT with a CLOB field in it. If I leave the CLOB empty, it works. As soon as I place content in it, I get the error below in the BPEL log.
    I actually get the same problem when I run the "AQ_ADT_with_CLOB_Payload" example. Please help!
    Error in the BPEL log:
    <2005-11-08 09:22:07,784> <ERROR> <default.collaxa.cube.ws> <AQ Adapter::Outbound> MessageWriter_enqueue: Could not enqueue message due to database error
    <2005-11-08 09:22:07,784> <ERROR> <default.collaxa.cube.ws> <AQ Adapter::Outbound>
    java.sql.SQLException: ORA-00903: invalid table name
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
    at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:661)
    at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:951)
    at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:693)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1057)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2901)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2942)
    at oracle.tip.adapter.aq.database.MessageWriter.doEnqueue(MessageWriter.java:530)
    at oracle.tip.adapter.aq.database.MessageWriter.enqueue(MessageWriter.java:341)
    at oracle.tip.adapter.aq.database.MessageWriter.writeMessage(MessageWriter.java:303)
    at oracle.tip.adapter.aq.outbound.AQEnqueuer.execute(AQEnqueuer.java:108)
    at oracle.tip.adapter.aq.AQInteraction.executeRunTime(AQInteraction.java:194)
    at oracle.tip.adapter.aq.AQInteraction.execute(AQInteraction.java:180)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:469)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:652)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:441)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:310)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:184)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:316)
    at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:185)
    at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3398)
    at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1905)
    at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:100)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:185)
    at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5410)
    at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1300)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:509)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:307)
    at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:76)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)

    OK, I figured it out myself. :)
    Turns out when I define the queue name in the AQ Adapter definition, I was specifying "<Default Schema>" as the schema name. When I changed this to my actual schema name (eg: "SCOTT"), it worked. Nice little bug there!
    The reason it broke with the example program is because I was changing the schema name before I deployed it. As I didn't have a SCOTT schema.
    So the moral of the story here is, don't use "<Default Schema>"!
    I was running on 10.1.2.0.0 [build #1787 ]. In case anyone wants to fix this.

  • OUTER JOIN -- Error: ORA-01417  (a table may be outer joined to at most one

    Hi there,
    I have a rather simple task: retrieve all the records in a table, for agiven domain p_domain_id (input parameter). The problem is that there are about 6 FKs in the table, and I need the names (strings) corresponding to those FKs (from other tables). Unfortunately, some of the FKs are NULL, so in '=' I loose records. Without the last 2 lines in WHERE clause, I get the correct result. With d2 in place (and without the "(+)" ) I loose 2 records. With the d3 (and also without "(+)"), I do not get any record.
    With the "(+)", the code compiles but I get the run time error ORA-01417
    NOTE: I put the "+" within parentheses, in order to show it like a text in this editor.
    What's an elegant solution to this?
    Thanks a lot.
    Here's the code:
    SELECT
    a.DOMAIN,
    b.NAME,
    a.DE_ID,
    a.NAME,
    a.PREFERRED_LABEL,
    a.TECHNICAL_DEFINITION,
    a.PUBLIC_DEFINITION,
    a.DE_TYPE,
    c1.NAME,
    a.HAS_PARAMETER,
    a.VALUE_CLASS,
    c2.NAME,
    a.INDEX_TERMS,
    a.DATA_TABLE_ID,
    d1.TABLE_NAME,
    a.SP_INSERT,
    a.SP_UPDATE,
    a.SP_GET_BYMRN,
    a.SP_GET_BYATTRIBUTE,
    a.VALUE_TABLE_ID,
    d2.TABLE_NAME,
    a.PARAM_TABLE_ID,
    d3.TABLE_NAME,
    a.PARAM_DOMAIN_LOGIC,
    a.SP_LOV,
    a.LOWER_LIMIT,
    a.UPPER_LIMIT,
    a.BOOLEAN_Y,
    a.BOOLEAN_N,
    a.COMMENTS,
    a.ENTERED_BY,
    commons_API.get_person_full_name(a.ENTERED_BY),
    a.ENTERED_ON
    FROM
    DATA_ELEMENT_INDEX a,
    DE_DOMAIN b,
    GENERAL_LIST c1,
    GENERAL_LIST c2,
    TABLE_GROUP d1,
    TABLE_GROUP d2,
    TABLE_GROUP d3
    WHERE
    DOMAIN = p_domain_id AND
    b.DOMAIN_ID = a.DOMAIN AND
    c1.ID = a.DE_TYPE AND
    c2.ID = a.VALUE_CLASS AND
    d1.TABLE_ID = a.DATA_TABLE_ID AND -- it works well without the next two lines
    d2.TABLE_ID = a.VALUE_TABLE_ID "(+)" AND
    d3.TABLE_ID = a.PARAM_TABLE_ID "(+)"
    ORDER BY a.NAME;
    Edited by: user10817976 on Oct 19, 2009 8:14 AM

    One of my standard replies...
    Oracle syntax does not support outer joining to more than one table.
    However ANSI syntax does...
    SQL> select * from a;
            ID      B_KEY      C_KEY
             1          2          3
             2          1          4
             3          3          1
             4          4          2
    SQL> select * from b;
            ID     C_KEY2
             1          1
             2          5
             3          3
             4          2
    SQL> select * from c;
          KEY1       KEY2 DTA
             1          1 1-1
             1          2 1-2
             1          3 1-3
             1          4 1-4
             2          1 2-1
             2          2 2-2
             2          3 2-3
             2          4 2-4
             3          1 3-1
             3          2 3-2
             3          3 3-3
             3          4 3-4
             4          1 4-1
             4          2 4-2
             4          3 4-3
             4          4 4-4
    16 rows selected.
    SQL> ed
    Wrote file afiedt.buf
      1  select a.id as a_id, b.id as b_id, c.key1 as c_key1, c.key2 as c_key3, c.dta
      2  from a, b, c
      3  where a.b_key = b.id
      4  and   a.c_key = c.key1 (+)
      5* and   b.c_key2 = c.key2 (+)
    SQL> /
    and   a.c_key = c.key1 (+)
    ERROR at line 4:
    ORA-01417: a table may be outer joined to at most one other table
    SQL> ed
    Wrote file afiedt.buf
      1  select a.id as a_id, b.id as b_id, c.key1 as c_key1, c.key2 as c_key3, c.dta
      2  from a JOIN b ON (a.b_key = b.id)
      3*        LEFT OUTER JOIN c ON (a.c_key = c.key1 and b.c_key2 = c.key2)
    SQL> /
          A_ID       B_ID     C_KEY1     C_KEY3 DTA
             3          3          1          3 1-3
             4          4          2          2 2-2
             2          1          4          1 4-1
             1          2
    SQL>

  • ORA-01417: a table may be outer joined to at most one other table

    Hi All,
    I want to display the data even if there is no corresposding data in the fac_pos table.
    when using outer joins getting error message.
    Any work around for this ? Please suggest. :-)
    SQL> SELECT case when flen.FPID is not null then
      2        'do the calculations here'
      3        else
      4        'no value in the FAC_POS table so do the ELSE PART'
      5       end CASE ,
      6       mtf.EXT_FID
      7          FROM
      8       D_F_MAP  MTF,
      9             FAC   EFAC,
    10             TRADING       EST,
    11             FAC_POS         FLEN,
    12             USERS_MAP custmap
    13       WHERE mtf.SRC_FID  = efac.FID (+)
    14         AND mtf.SRC_DID  = efac.DID  (+)
    15         AND efac.TFID = est.TFID 
    16         AND mtf.EXT_FID (+) = flen.FID              
    17         AND mtf.EXT_DID (+)  = flen.DID 
    18      AND custmap.SRC_CUST_ID   =  est.SID  (+)     
    19         AND custmap.EXT_CUST_ID  =  flen.CUSTID (+)
    20      and est.TFID =14;
    no rows selected
    SQL> SELECT case when flen.FPID is not null then
      2        'do the calculations here'
      3        else
      4          'no value in the FAC_POS table so do the ELSE PART'
      5       end CASE ,
      6       flen.CUSTID FROM TRADING EST, USERS_MAP,FAC_POS FLEN,FAC EFAC, D_F_MAP  MTF
      7  WHERE
      8   EST.SID = USERS_MAP.SRC_CUST_ID        (+) AND
      9   USERS_MAP.EXT_CUST_ID   =  flen.CUSTID (+) AND
    10   MTF.SRC_DID (+) = EFAC.DID         AND
    11   MTF.SRC_FID (+) = EFAC.FID        AND
    12   efac.TFID = est.TFID         AND
    13   mtf.EXT_FID (+) = flen.FID                 AND         
    14   mtf.EXT_DID (+)  = flen.DID     AND
    15   est.TFID =14
    16  /
    MTF.SRC_FID (+) = EFAC.FID        AND
    ERROR at line 11:
    ORA-01417: a table may be outer joined to at most one other table
    create table D_F_MAP
      SOURCE  VARCHAR2(10) not null,
      SRC_DID VARCHAR2(8) not null,
      SRC_FID VARCHAR2(10) not null,
      EXT_DID VARCHAR2(20),
      EXT_FID VARCHAR2(20)
    create table FAC
      TFID  NUMBER,
      SRC   VARCHAR2(10),
      DID   NUMBER,
      FID   NUMBER,
      CSAMT NUMBER
    create table FAC_POS
      FPID   NUMBER,
      CUSTID NUMBER,
      SRC    VARCHAR2(10),
      DID    NUMBER,
      FID    NUMBER,
      SPOS   NUMBER
    create table PASS_OVER
      TFID VARCHAR2(20) not null,
      FLG  VARCHAR2(1)
    create table TRADING
      TFID  NUMBER not null,
      SRC   VARCHAR2(10),
      TDATE DATE,
      BID   NUMBER,
      SID   NUMBER
    create table USERS_MAP
      SRC_CUST_ID VARCHAR2(8) not null,
      EXT_CUST_ID VARCHAR2(20),
      SRC         VARCHAR2(10) not null
    insert into D_F_MAP (SOURCE, SRC_DID, SRC_FID, EXT_DID, EXT_FID)
    values ('KP', '854', '7754', '101', '1202');
    insert into D_F_MAP (SOURCE, SRC_DID, SRC_FID, EXT_DID, EXT_FID)
    values ('KP', '4545', '4444', '504', '1604');
    insert into D_F_MAP (SOURCE, SRC_DID, SRC_FID, EXT_DID, EXT_FID)
    values ('KP', '7858', '9646', '604', '1705');
    insert into D_F_MAP (SOURCE, SRC_DID, SRC_FID, EXT_DID, EXT_FID)
    values ('MS', '8799', '4544', '987', '1654');
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (10, 'KP', 854, 7754, 85000);
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (11, 'KP', 854, 7754, 44000);
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (12, 'KP', 4545, 4444, 47000);
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (13, 'KP', 7858, 9646, 80000);
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (14, 'MS', 8799, 4544, 60000);
    insert into FAC (TFID, SRC, DID, FID, CSAMT)
    values (15, 'KP', 854, 7754, 66000);
    insert into FAC_POS (FPID, CUSTID, SRC, DID, FID, SPOS)
    values (94, 5555, 'EXT', 504, 1604, 6000);
    insert into FAC_POS (FPID, CUSTID, SRC, DID, FID, SPOS)
    values (90, 1111, 'EXT', 101, 1202, 1000);
    insert into FAC_POS (FPID, CUSTID, SRC, DID, FID, SPOS)
    values (91, 2222, 'EXT', 302, 3652, 1000);
    insert into FAC_POS (FPID, CUSTID, SRC, DID, FID, SPOS)
    values (92, 3333, 'EXT', 987, 1654, 6000);
    insert into FAC_POS (FPID, CUSTID, SRC, DID, FID, SPOS)
    values (93, 4444, 'EXT', 604, 1705, 9000);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (10, 'KP', to_date('10-02-2009', 'dd-mm-yyyy'), 1548, 96751);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (11, 'KP', to_date('02-02-2009', 'dd-mm-yyyy'), 5468, 7895);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (12, 'KP', to_date('20-02-2009', 'dd-mm-yyyy'), 1258, 6985);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (13, 'KP', to_date('22-02-2009', 'dd-mm-yyyy'), 5468, 7865);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (14, 'MS', to_date('18-02-2009', 'dd-mm-yyyy'), 4669, 6893);
    insert into TRADING (TFID, SRC, TDATE, BID, SID)
    values (15, 'KP', to_date('20-02-2009', 'dd-mm-yyyy'), 1548, 6975);
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('9675', '1111', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('5468', '2222', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('6893', '3333', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('5468', '4444', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('7865', '5555', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('6975', '6666', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('6975', '7777', 'kp');
    insert into USERS_MAP (SRC_CUST_ID, EXT_CUST_ID, SRC)
    values ('6985', '8888', 'kp');Thanks.

    Hi,
    Thanks for posting the sample data in such a useful form! I'm sorry, I'm not at a database now, so I can't run it.
    What are the correct results you want from that data?
    You can outer-join to more than one table using ANSI notation.
    Another solution is to do some of the joins in a sub-query. It looks like the problem is with the est table. If you join all the tables except est in a sub-query, then you can join est to that result set in the main query.
    If you "want to display the data even if there is no corresponding data in the fac_pos table.", and fac_pos is being called flen, then you have the + signs in the wrong places.
    16         AND mtf.EXT_FID (+) = flen.FID              
    17         AND mtf.EXT_DID (+)  = flen.DID  means "display data from flen even if there is no match in mtf".

  • SQL Statement error - ORA-00903: invalid table name

    Hi
    I have written a sql script that gets executed from a form within e-business suite. Unfortunately, the script is falling over with an error:
    unknown command beginning "MERGE INTO..." - rest of line ignored.
    unknown command beginning "USING edop..." - rest of line ignored.
    unknown command beginning "ON (elw.ro..." - rest of line ignored.
    unknown command beginning "WHEN MATCH..." - rest of line ignored.
    For a list of known commands enter HELP
    and to leave enter EXIT.
          SET ELW.billed_flag          = t.billed_flag,
    ERROR at line 2:
    ORA-00903: invalid table name the actual statement that is causing the issue is:
    MERGE INTO edopaif.table1 elw
    USING edopaif.tablw2 t
    ON (elw.rowid = t.LOAD_WORKING_ROWID)
    WHEN MATCHED THEN
       UPDATE
          SET ELW.billed_flag          = t.billed_flag,
              ELW.last_bill_generated   = t.last_bill_generated,
              ELW.last_bill_type        = t.last_bill_type,
              ELW.load_month            = t.load_month,
              ELW.BILL_TRANSACTION_ID   = t.bill_transaction_id
    WHEN NOT MATCHED THEN
       INSERT(error_meaning)
       VALUES('ROWID error with ins_ptia');The version of e-business suite that we are using is: 11.5.10.2.
    The version of the Oracle database that we are using is:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    PL/SQL Release 9.2.0.6.0 - Production
    CORE 9.2.0.6.0 Production
    TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
    NLSRTL Version 9.2.0.6.0 - Production
    Please note that I am able to successfully run the statement directly connected as the APPS schema in the database - the error only occurs when the script is run from the forms front-end (which is really confusing me).
    Many thanks
    Paul

    Hi
    I've modified the script to include only the statement that is erroring and it still errors when executed from the front end application.
    Next I re-wrote the statement to use PL/SQL instead of the MERGE statement, to do the update, and the script completes succesfully, i.e.:
    DECLARE
       CURSOR cu_lw IS
             SELECT t.billed_flag,
                    t.last_bill_generated,
                    t.last_bill_type,
                    t.load_month,
                    t.bill_transaction_id,
                    t.load_working_rowid
               FROM table2 t;
    BEGIN
       FOR rec_cu_lw IN cu_lw LOOP
          UPDATE table1 elw
             SET ELW.billed_flag           = rec_cu_lw.billed_flag,
              ELW.last_bill_generated      = rec_cu_lw.last_bill_generated,
              ELW.last_bill_type           = rec_cu_lw.last_bill_type,
              ELW.load_month               = rec_cu_lw.load_month,
              ELW.BILL_TRANSACTION_ID      = rec_cu_lw.bill_transaction_id
          WHERE elw.rowid                  = rec_cu_lw.load_working_rowid;
       END LOOP;
    END;
    /I am still unsure as to why the MERGE statement is failing when executed in the front end, but completes in the backend with no issues at all. Obviously I would prefer to use the MERGE statement instead of PL/SQL to do the update.
    Thanks
    Paul

  • ORA-31694: master table "SYSTEM"."SYS_IMPORT_SCHEMA_01" failed to load/unlo

    Need help... I am importing production export file by schema to QA using this command:
    set oracle_sid=qadb
    impdp system/manager DIRECTORY=DATAEXP PARALLEL=10 DUMPFILE=exp_prod_01.dmp,exp_prod_02.dmp,exp_prod_03.dmp,exp_prod_04.dmp,exp_prod_05.dmp,exp_prod_06.dmp,exp_prod_07.dmp,exp_prod_08.dmp,exp_prod_09.dmp,exp_prod_10.dmp schemas=qaschema logfile=imp.log exclude=statistics
    here is the error shown on the imp.log
    ORA-31694: master table "SYSTEM"."SYS_IMPORT_SCHEMA_01" failed to load/unload
    ORA-02354: error in exporting/importing data
    ORA-39774: parse of metadata stream failed with the following error:
    LPX-00231: invalid character 47 ('/') found in a Name or Nmtoke

    SQL> select comp_name, status from dba_registry where status='INVALID';
    no rows selected
    SQL> select object_type,object_name,count(*) from dba_objects where status='INVA
    LID' and owner like '%SYS%';
    select object_type,object_name,count(*) from dba_objects where status='INVALID'
    and owner like '%SYS%'
    ERROR at line 1:
    ORA-00937: not a single-group group function
    SQL>

  • ORA-00903: Invalid table name - running Set based mapping

    Hello,
    Using OWB 10.2.04.36 and have created a mapping which reads data from Non-Oracle, ODBC source table, actually a worksheet in an Excel workbook which has been defined/set up using the Heterogeneous Service components.
    I can view the data in the worksheet using the Design Center, Data Object Editor, Data Viewer tab so I know the data is accessible.
    The mapping is performing a Loading Type: INSERT/UPDATE into a View which has an INSTEAD OF INSERT OR UPDATE OR DELETE ON view.
    The mapping validates okay and is deployed successfully.
    Yet when it is run in "Set based" Operating Mode from Control Center Manager the Execution Results show an "ORA-00903: Invalid table name" error is raised.
    You cannot run the mapping in any Row based operating mode as Row based running fails with "ORA:22816: Unsupported feature with RETURNING clause" due to the generated code for the INSERT/UPDATE of the view using a RETURNING clause which is actioned on an INSTEAD OF trigger.
    Looking at the generated package code I can strip out the SELECT statement from the MERGE statement for the alias "MERGE_SUBQUERY" and it runs and displays the expected result, however when the complete MERGE statement is taken and run I get the same ORA-00903 error that was reported in Control Center Manager.
    Any ideas what the problem could be? I have another mapping that reads from the same source Excel workbook/worksheet and INSERT/UPDATE into a table without an INSTEAD OF trigger, this mapping deploys, runs successfully so the issue seems to be with the INSERT/UPDATE into the view. The views are what we require to be populated.
    Thanks.

    Hi,
    But changing V_EMP_DEPT to EMP is not INSERTING/UPDATING to the view V_EMP_DEPT, what you propose is INSERTING/UPDATING into the table EMP. The code was only an example showing that the MERGE does not work when INSERTING/UPDATING into a view based on joining tables. For example say you wanted to INSERT/UPDATE the DNAME of V_EMP_DEPT then the MERGE statement generated by OWB PL/SQL mapping would use the code structure/template:-
    MERGE INTO "V_EMP_DEPT" "V_EMP_DEPT"
       USING (SELECT 5369 "EMPNO",
                     'SMITH' "ENAME",
                     'CLERK' "JOB",
                     7902 "MGR",
                     To_Date('17/12/1980','DD/MM/YYYY') "HIREDATE",
                     800 "SAL",
                     'New Dept Name" "DNAME"
              FROM   Dual,
                     "DEPT" "DEPT"
              WHERE  ("DEPT"."DEPTNO" = 20)) "MERGE_SUBQUERY"
       ON (    "V_EMP_DEPT"."EMPNO" = "MERGE_SUBQUERY"."EMPNO")
       WHEN NOT MATCHED THEN
          INSERT("V_EMP_DEPT"."EMPNO",
                 "V_EMP_DEPT"."ENAME",
                 "V_EMP_DEPT"."JOB",
                 "V_EMP_DEPT"."MGR",
                 "V_EMP_DEPT"."HIREDATE",
                 "V_EMP_DEPT"."SAL",
                 "V_EMP_DEPT"."DNAME")
          VALUES("MERGE_SUBQUERY"."EMPNO",
                 "MERGE_SUBQUERY"."ENAME",
                 "MERGE_SUBQUERY"."JOB",
                 "MERGE_SUBQUERY"."MGR",
                 "MERGE_SUBQUERY"."HIREDATE",
                 "MERGE_SUBQUERY"."SAL",
                 "MERGE_SUBQUERY"."DNAME")
       WHEN MATCHED THEN
          UPDATE
             SET "ENAME" = "MERGE_SUBQUERY"."ENAME",
                 "JOB" = "MERGE_SUBQUERY"."JOB",
                 "MGR" = "MERGE_SUBQUERY"."MGR",
                 "HIREDATE" = "MERGE_SUBQUERY"."HIREDATE",
                 "SAL" = "MERGE_SUBQUERY"."SAL",
                 "DNAME" = "MERGE_SUBQUERY"."DNAME";
    {code}
    This was only an example my target view has a lot more columns being MERGE'd into the view and joined tables.
    Cheers,
    Phil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Reconciliation error: ORA-00903: invalid table name

    I am facing this error, below:
    SELECT * FROM WHERE ORC_KEY = ? AND UD_RES_P_KEY = ?: java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name
    Is it a product issue from OIM 9.1.0.2?
    best regards,
    Robert

    No, it is not a product issue. Please go to the process definition tab related and
    set all Multivalued attribute as a key field in Reconciliation mapping in Process definition.
    Let me know the result, please.
    hope this helps,
    Thiago L Guimaraes

  • Getting ORA-00903:invalid table name with both system and table owner

    Hi All,
    Oracle version 9.2
    I'm trying to retrieve some information from a few tables and import them to Excel. I haven't got much idea about ORACLE, but I'm not able to do anything.
    I open SQL PLus, and use CONNECT SYSTEM/[email protected] AS SYSDBA
    The console shows connected.
    I use select table_name,owner from dba_tables where owner='USER1';
    I can see the tables I want to access in the output.
    I do select * from USER1.TABLE1 and also tried with select * from TABLE1, both return ORA-00903:invalid table
    I also tried to connect with "CONNECT USER1/[email protected]" also shows connected, but then same error ORA-00903:invalid table
    Could anyone guide me so I can find out whats going on wrong??
    Thanks.. Best regards!

    Great! this worked! At least now I know I can read the data.
    Now I would like to get the data from this table into Excel 2007, but I can't install Office in the ORACLE server, so I have setup my client computer (Windows 2003 server with Excel 2007).
    I installed the ORACLE ODBC driver, and put the TNSName.ora file into the network admin folder.
    I successfully create the ODBC connector, and try connection is successfull. However, when I try to get the data, Excel send an error saying that it cannot list the tables!
    Anyway, any simple solution will do. If there is an easy way of making ORACLE create for example a CSV file with all the data from the table it will be good as well. What would be the easiest way?

  • How to resolve error ORA-29491: invalid table for chunking?

    Hello,
    I'm trying to implement DBMS_PARALLEL_EXECUTE to speed up a huge update I need to do. I'm stuck on a problem with the table I'm using to test my procedure. Here's a simple test that produces the same error. As best I can tell, the table I'm declaring here is missing some kind of requirement that lets DBMS_PARALLEL_EXECUTE make use of it, but the docs and searching for the error code haven't turned up any useful discussions. Please help.
    drop table owner.why_cant_i_hold;
    create table owner.why_cant_i_hold (
    things VARCHAR2 (64),
    amount INT,
    CONSTRAINT why_cant_i_pk PRIMARY KEY (things)
    insert into why_cant_i_hold values ('limes', 8);
    insert into why_cant_i_hold values ('lemons', 8);
    insert into why_cant_i_hold values ('watermelons', 5);
    insert into why_cant_i_hold values ('cats', 4);
    insert into why_cant_i_hold values ('teacups',10);
    insert into why_cant_i_hold values ('mugs', 5);
    insert into why_cant_i_hold values ('eggs', 15);
    insert into why_cant_i_hold values ('jobs', 3);
    commit;
    -- got tasks?
    COLUMN task_name FORMAT A10
    SELECT task_name,
    status
    FROM user_parallel_execute_tasks;
    --exec DBMS_PARALLEL_EXECUTE.CREATE_TASK('holding');
    exec DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID('holding', 'ODDEV03', 'why_cant_i_hold', true, 3);
    It seems like a really simple case here. The output is all successful until
    "Error starting at line 25 in command:
    exec DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID('holding', 'owner', 'why_cant_i_hold', true, 3);
    Error report:
    ORA-29491: invalid table for chunking
    ORA-06512: at "SYS.DBMS_PARALLEL_EXECUTE", line 27
    ORA-06512: at "SYS.DBMS_PARALLEL_EXECUTE", line 121
    ORA-06512: at line 1"

    Oh. This was an easy one, table names are never really lower-case. Changing the value in my chunking call fixed the simple test:
    exec DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID('holding', 'ODDEV03', 'WHY_CANT_I_HOLD', true, 3);
    It doesn't help with why my more complicated test case isn't working, but I have details to check before I ask again.
    EDIT: lesson learned... 'invalid table' doesn't mean the database can find the table you are talking about at all. I hope that's a help.
    Edited by: user519442 on Nov 16, 2011 12:33 PM

  • ORA 7 & temp tables?

    Used migration workbench to migrate an MSS database into ORA 8i and all is well after a bit of re-jiggering. Migration Workbench modified MSS temporary table references to ORA Global Temporary Tables.
    May need to implement same database structure in ORA 7 for some customers. Does ORA 7 also support temporary tables? In the same manner as 8i? Can't find any reference to them in the ORA 7 docs.
    Thanks

    So I just create ordinary tables and flush them out manually in ORA 7 ?
    If that is correst, any techniques you can suggest when doing a "DELETE FROM" on these working tables to eliminate filling up the transaction log when these tables may be quite big? Is TRUNCATE TABLE supported within the bounds of a transaction in a Trigger or Procedure in ORA 7?

  • ORA-00903:invalide table name

    Hi,
    I can not understand. I'm loged into DB as sysdba :
    select table_name, owner from all_tables where table_name ='ORDER';
    TABLE_NAME                     OWNER
    ORDER                          SYS
    select * from ORDER
    error on line 1 :
    ORA-00903:invalide table name
    select * from SYS.ORDER
    error on line 1 :
    ORA-00903:invalide table nameThank for help.

    user522961 wrote:
    thank you.
    But why that ? I have always used table name without double qutation mark ?
    Regards.
    Edited by: user522961 on May 29, 2009 2:53 AMThink about this variant on your query:
    select * from order
    order by 1;What do you suppose oracle is doing when it parses your query and it sees "order" where it is expecting a table name?

  • SQK Developer 3.0.03 generated ORA-0904 on table detail tab

    When I select the table detail tab, I get an error dialog with the following message:
    An error was encountered performing the
    requested operation:
    ORA-00904: "STATUS": invalid identifier
    00904. 00000 - "%s: invalid identifier"
    *Cause:
    *Action:
    Vendor code 904
    Nothing is displayed on the detail tab.
    The same request, against the same database, using SQL Developer 2.1 displays the expected list of parameters and values.

    I have a saved connection for the sys user on that database. All of these connections were imported from the previous version of SQL Developer. All of the connections use the //server/instance style connection identifier.
    When I navigate to the table through the tree that opens under the Sys user:
    "Other Users" -> [userid] -> "Tables" -> [tablename]
    and select the "Details" tab, I get the same error messages as I do when I view the "Details" tab using the connection for the table owner.
    I did not check all tables, but I visited a few new tables (tables created in the last few weeks), and some old tables (ones that were created several years ago). Also, I looked at some tables owned by SYS, such as ASSOCIATION$ and DUAL. All showed the same error message.
    Edited by: djhenderson on Feb 8, 2011 3:30 PM

  • PL/SQL: Populating Cursor with List then do IF EXISTS against Table

    Here is my issue. The DB I work with is an Event Database (Network Events). I have a task to take a list of 2600 nodes and see if these nodes exist with in a set of events which would be found with a certain WHERE clause. On my first pass, I did the WHERE clause AND NODE in (List of 2600 nodes). Well you can only put 1000 items in an in list so I split it up into 3 reports and then did a UNION all between them. This used 15% of db resources and ran for hours and the dba group would like me to find a better way. They would prefer that I use PL/SQL.
    I'm new to pl/sql (but not to programming nor sql). So the first thing I did is just figure out how to get my list into an Varray, which I then switched to a table because I could not find any examples, after hours and hours of searching the web,
    of referencing a Varray with SQL syntax.
    ******** BEGIN CODE Sample 1 ***********
    DECLARE
    DECLARE
    TYPE NodeList IS TABLE OF VARCHAR2(255);
    Nodes NodeList := NodeList('node1', node2', [......list of 2597 nodes..], 'node2600')
    BEGIN
    dbms_output.enable(1000000);
    FOR i IN Nodes.FIRST .. Nodes.LAST
    LOOP
    DBMS_OUTPUT.PUT_LINE('Relevant Items: ' || Nodes(i));
    END LOOP;
    END
    ******** END CODE Sample 1 ***********
    The pseudocode I'm envisioning goes something like this:
    IF any of these nodes (2600 node list) ,
    exist in the nodes for this WHERE clause (which is pulling from the db event table),
    then print out the records (of the events in the db event table) that contain those nodes (i.e the nodes from the list).
    I think I found an example of doing this with 2 cursors but I cant find that example again. And, anyway, I cant figure out how to get my list into a cursor. I have many examples of how to fill a cursor via a select against a db.
    I tried this but it did not work:
    ******** BEGIN CODE Sample 2 ***********
    DECLARE
    DECLARE
    TYPE NodeList IS TABLE OF VARCHAR2(255);
    Nodes NodeList := NodeList('node1', node2', [......list of 2597 nodes..], 'node2600')
    CURSOR MOM_OVO_NODES IS
    SELECT Node
    FROM NodeList
    ORDER BY Node;
    BEGIN
    dbms_output.enable(1000000);
    FOR nodelist_rec IN MOM_OVO_NODES
    LOOP
    dbms_output.put_line('Relevant Nodes: '||nodelist_rec.node);
    END LOOP;
    END
    ******** END CODE Sample 2 ***********
    Is there a way to get this list into a cursor? Or am I thinking about the whole thing incorrectly?
    brad

    Every time I come to OTN thinking I finally have a reason to use PL/SQL, I find that I really only need SQL! I'm never going to get to learn PL/SQL! :)
    Thanks for the link. The information is well written.
    Unfortunately, I dont have the rights to create a GTT table. I get ORA-01031.
    I work for a very large organization where even the DBA's are so task individualized that many of them can only do very specific tasks. So I dont see myself getting rights to create even temporary tables. That would probably take and act of God.
    So, accepting that pl/sql is NOT the best practices solution here. I'd still like to , as an exercise for the student, understand how I can populate a cursor with a list. Why wont my example work? Since I could ONLY find examples of using SELECT to populate a cursor, I turned my VARRAY into a table. Then I learned that I could initialize the table in the DECLARE section. Then I put my cursor declaration after the table initialization. Still no luck. Then I saw casting as TABLE mentioned but got nowhere with that. IS there a way to get that list into a cursor? Its really bothering me.
    Also, since its a table, and, as far as I know, in referring to a table, one needs to reference a column, what is the syntax for naming the single column in my table?
    I AM reading the pl/sql books on Safari, and I do have the 10lb tome from Steven Feuerstein sitting next to me. <-- I'd page through it more often if I could find a reason to use PL/SQL. Actually, the DBA group has mandated that I write everything in PL/SQL for "performance" reasons. I dont actually adhere to that but there it is.
    Also, whats the protocol for giving credit for answers on threads like this where several people give relatively the same answer? Do I just give the earliest time stamp full credit or give them all a "helpful"?
    brad

  • SQL query against tables on MS SQL Server and Oracle using Oracle BI

    Hi All
    I have two databases Oracle and MS SQL Server. I want to write a query statement which will retrieve data from both databases and publish this data into one report. That is I want to join/merge data from tables in both database into one report with one SQL Statement something like:
    Select o.F1,o.F2, m.F1,m.F2
    from
    table@oracleServer o,
    table@microsoftSQLServer m
    where o.F1=m.F1;
    Can Oracle BI Publisher do this?
    Basically I want to query simultaneously two heterogeneous data sources in one SQL statement. Is there such a tool? I don't want to build a warehouse by moving data from SQL Server into Oracle or vice-versa. I don't want to duplicate data. I want to be able to query data at its source via 1 SQL statement.
    How would one go about doing such a thing?
    Many Thanks
    Kubilay.

    Hi Matt and Thomas
    Many thanks for your replies.
    Yes I have to do the join. Even worse I have to write an Aggregate query like this!
    Select o.F1,o.F2, m.F1,m.F2, count(*)
    from
    table@oracleServer o,
    table@microsoftSQLServer m
    where o.F1=m.F1
    group by o.F1,o.F2, m.F1,m.F2;
    These are 2 different systems (hardware & software) which actually do the same job, they produce transactions for a common business entity. Kind of, both sell tickets for the same ABC ferry company.
    I can not put them side by side on the dashboard, as I need to aggregate the data and present it maybe in a Oracle BI Report for Accounting and Financial reconciliation purposes.
    The truth is, as it is. I can't change it, is too late.
    I have to device a way to harvest both systems as they are. I don't want to move around data. I thought looking at Oracle BI I could write SQL against multiple Data Sources. I am struggling to find a way. As it seems that it can "SQL query" 1 data source at a time.
    I have been hinted on another forum (OracleTURK) to use Oracle Transparent Gateways and Generic Connectivity. http://download.oracle.com/docs/cd/B19306_01/server.102/b14232/toc.htm
    Shame, I have to pay licenses for OWB and Oracle Transparent Gateways. I thought DB vendors can do better. Why do I have to pay to access the other 50% of the market.
    I can understand the performance implications this might have. Because of it I might even be forced at the end to move data (ETL) into a separate database, slice it into partitions and manage it that way. Pitty because currenlty I only need one report out of these systems but seems like will be dear to get.
    Thank you for all your help.
    Kubilay

Maybe you are looking for

  • How can i load a VI from LABVIEW ver 6.0.1b3 to LABVIEW ver 6.1

    How can i load a VI from LABVIEW ver 6.0.1b3 to LABVIEW ver 6.1......I want to load a vi but i'm getting this error: LabVIEW load error code 9:VI version (6.1) is newer than LabVIEW version (6.0.1b3) My LabVIEW ver is 6.1 Please help ......it's impor

  • Problem with a placeholder that isn't a placeholder

    I submitted a book created with iBooks Author. Apple keeps ticketing me and saying that I have placeholder text in a pop-up. The text in the pop-up is something that I typed in. It's not lorem ipsum ... How do I get Apple to see this?

  • Editing midi in the media window ?

    In my screen shot you can see my drum track is highlighted. But in the lists window I can't seem to find my way back to just the drum midi info to do my editing. No matter what I do. This was never a problem before. Can someone tell me what I screwed

  • Toplink 9.0.4.5 problems

    Can anyone please assist... We switched our WebSphere AppServer to use TopLink 9.0.4.5 by changing the toplink.jar file. Anyway, after overcoming some password problems everything seemed to work fine, then one of our Toplink queries started failing w

  • Is it possible to install Leopard this way?

    I have a Powermac G4 and the DVD drive is shot on it. I only have an external USB DVD drive and just read that it needs to be installed with a Firewire external drive if I go that route. My G4 has 2 Hard Drives in it. Is it possible to somehow copy t