Help : Parallel query Syntax

We have this huge table called CIFINV, with about 10 million records.
I need to move a bunch of data to another table like below
INSERT INTO CIF_VN_TEST( COL1, COL2 ) SELECT REPLACE(DSLTN,'-',''), STRIP_LAST_TOKN( KEY_VAL )
FROM CIFINV A WHERE A.TRACKINGNUMBER = (SELECT MAX(TRACKINGNUMBER)
FROM CIFINV WHERE DSLTN = A.DSLTN
AND SERVICEREQSUBTYPE IN ('INITIATE', 'MODIFY'))
AND UPPER(CLLI) IN ( select DISTINCT(UPPER(WIRE_CENTER)) FROM REG_SCHEDULE_LOOKUP b where TO_CHAR(b.MODE_START_DT,'MM-DD-YYYY')=TO_CHAR( sysdate, 'MM-DD-YYYY' )
Basically I need to select the rows
- with the maximum TRACKINGNUMBER for the given DSLTN
- Whose SERVICEREQSUBTYPE is either 'INITIATE' or 'MODIFY')
- Whose UPPER(CLLI ) exists in another table designated for processing for today
Im trying to parallelize this SQL.
Is this possible at all.
Please help

> We have this huge table called CIFINV, with about 10 million records.
Not really large, never mind huge. Billion row tables are considered large in terms of databases today.
And you seem to be under the incorrect impression that parallel processing magically solves problems. It does not. And only applies in specific conditions where Oracle is able to parallelise the SQL into multiple processes.
Also, what is missing is an execution plan. We have no idea how Oracle decides to execute your query and what part of the SQL is the expensive part.
> AND UPPER(CLLI) IN
This applies a function to a column to use for comparison purposes. Oracle cannot use an index that may exist on this column, as the indexed value is not the same as the uppercase value.
This likely forces Oracle to use scan the actual table itself. It is far better to not apply functions to the column values in predicates. Rather use those columns in their native data types and without any kind of function/transformation. This then enables Oracle to use any indexes that may exist on that column.
The same applies to apply functions to you MODE_START_DT column in the sub-select. Don't. Use a function on that column and you loose the ability to use the index.
Instead use the data predicate as follows:
WHERE b.mode_start_dt between TRUNC(SYSDATE) and TRUNC(SYSDATE)+1-(1/60/60/24)
Consider not use UPPER on the the CLLI column. This will break an index on CLLI. Alternatively, create a function index, e.g.
create index <indexname> on <table> ( <function>( <column> ) )
Also consider what indexes to use - bitmap, b+tree, function, etc.
I suggest that you look for the thread "Why my qeury is slow" (on this forum - use the search function), and follow the instructions in it. It tells you what data you need to supply the forum in order for us to provide you with a meaningful answer regarding your SQL performance problem.

Similar Messages

  • Error in Parallel query server

    Please help!
    SELECT SUM(DECODE(r.sexe,�M�,1,0)) H, SUM(DECODE(r.sexe,�F�,1,0))F, FLOOR(MONTHS_BETWEEN(TO_DATE(:p_date),r.date_naissance)/12) age
    FROM resource r
    GROUP BY FLOOR(MONTHS_BETWEEN(TO_DATE(:p_date), r.date_naissance)/12)
    This �select� worked on Oracle 7 but gives the following error messages on Oracle 8i:
    ORA-1281: Error signaled in parallel query server P_004.
    ORA-00979: Not a group by expression.
    Thanks.

    user10699277 wrote:
    I got the following error while import data.You are doing import with datapump or imp ?
    If so, look at the import log where ORA-01452 is mentioned, you should find the name of the table there for which ORA-01452 is raised.
    Hi All,
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys foundYou are trying to create unique index on the column where duplicate values exists.
    By the definition of unique index, that would be impossibe.
    So, either remove 'unique' from the create index syntax , or make sure there are no duplicate values in the coulumn on which you are creating unique index.
    Could you resolve it?No, that should be your responsibility.

  • XPATH Database Query Syntax in an Assign

    Trying to get an XPATH Database query to work by assigning the Input variable value in a simple BPEL Process to my query condition. I keep getting invalid XPATH errors. I cannot seem to figure out how get write it out.
    Here is what I have:
    <from expression="orcl:query-database( 'select ename from emp where ename = bpws:getVariableData('inputVariable','payload','/client:ReadDBProcessRequest/client:input')' ,false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')"/>
    Here is my error:
    Error(30): [Error ORABPEL-10039]: invalid xpath expression [Description]: in line 30 of "C:\OraBPELPM_1\integration\jdev\jdev\mywork\BPELws\ReadDB\ReadDB.bpel", xpath expression "orcl:query-database( 'select ename from emp where ename = bpws:getVariableData('inputVariable','payload','/client:ReadDBProcessRequest/client:input')' ,false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')" specified in <from> is not valid, because XPath query syntax error. Syntax error while parsing xpath expression "orcl:query-database( 'select ename from emp where ename = bpws:getVariableData('inputVariable','payload','/client:ReadDBProcessRequest/client:input')' ,false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')", at position "80" the exception is Expected: ). Please verify the xpath query "orcl:query-database( 'select ename from emp where ename = bpws:getVariableData('inputVariable','payload','/client:ReadDBProcessRequest/client:input')' ,false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')" which is defined in BPEL process. . [Potential fix]: Please make sure the expression is valid.
    Any help?
    Thanks!!!

    Ok. I have figured out how to place the condition (variable value) inside a concatentated string. So my final result is the actual XPATH Query-Database statement. But the problem is it is being returned as a String. How can I turn that final string into the XPATH expression I need? I suspect another <COPY> block could pull this off but I am not sure how to do it.
    Here is my code:
    <process name="QueryBuild" targetNamespace="http://xmlns.oracle.com/QueryBuild" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://xmlns.oracle.com/QueryBuild" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:QueryBuild" myRole="QueryBuildProvider"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable" messageType="client:QueryBuildRequestMessage"/>
    <variable name="outputVariable" messageType="client:QueryBuildResponseMessage"/>
    <variable name="QueryText" type="ns1:string"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client" portType="client:QueryBuild" operation="process" variable="inputVariable" createInstance="yes"/><!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from expression="concat(&quot;orcl:query-database('select ename from emp where empno = &quot;, bpws:getVariableData('inputVariable','payload','/client:QueryBuildProcessRequest/client:input'), &quot;,false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL)'&quot;)"/>
    <to variable="QueryText"/>
    </copy>
    <copy>
    <from variable="QueryText"/>
    <to variable="outputVariable" part="payload" query="/client:QueryBuildProcessResponse/client:result"/>
    </copy>
    </assign>
    <reply name="replyOutput" partnerLink="client" portType="client:QueryBuild" operation="process" variable="outputVariable"/>
    </sequence>
    </process>

  • Error on Parallel Query

    Hi,
    My application throws the following error when Iam processing a parallel query on my database. Can any one help me to resolve this.
    ERROR at line 1:
    ORA-29903: error in executing ODCIIndexFetch() routine
    ORA-20000: Oracle Text error:
    DRG-50857: oracle error in drekrgm (one piece lob read)
    ORA-01555: snapshot too old: rollback segment number with name "" too small
    ORA-22924: snapshot too old
    Regards
    Venkat

    HI,
    Thanks for the article. I read the article but my problem is getting addressed. I have enough disk space and rollback segments.
    7 rollback segments (1 default 200 MB + 6 created for my executing wtih 1GB each ). All of them are auto extended 10M per block.
    Apart from this I have a free space for 25 GB in the drive left out. Inspite of all of these. I am getting this error.
    I am not able to understand the "DreKrgm" part.
    Can you throw some light on this part.

  • Error signaled in parallel query server p005 DATE format comparison

    Hello All,
    I have a data like this.
    {code}
    j_id   s_id     b_id    lc   t_date                             my_val1     my_val2
    100    200    300     prs   2013-07-17 16:01:47         myval1     myval2
    100    200   300     prs    2013-07-17 16:01:47         myCval1   myCval2
    {code}
    When i am running a query like this
    {code}
    update my_tab b
            set my_col = 'X'
            where rowid <> ( select max(t.rowid) from my_tab t
                             where
                                    t.J_ID        = b.J_ID   and
                                    t.S_ID = b.S_ID and
                                    t.B_ID      = b.B_ID and
                                    t.LC   = b.LC
                                  and TO_TIMESTAMP(trim(t.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
                                   = TO_TIMESTAMP(trim(b.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    I know i have a DATE format but converting it into TIMESTAMP because my data is random and could contain the time stamp as well.
    My concern here is when i run above update statement i get error
    {code}
    ORA-12801: error signaled in parallel query server P005
    ORA-01862: the numeric value does not match the length of the format item
    {code}
    but when i do like below.. It runs fine. Not sure what i am missing here or doing something wrong. Please help.
    {code}
    select to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
    where
    to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') = to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    Thanks!

    user10647455 wrote:
    Hello All,
    I have a data like this.
    {code}
    j_id   s_id     b_id    lc   t_date                             my_val1     my_val2
    100    200    300     prs   2013-07-17 16:01:47         myval1     myval2
    100    200   300     prs    2013-07-17 16:01:47         myCval1   myCval2
    {code}
    When i am running a query like this
    {code}
    update my_tab b
            set my_col = 'X'
            where rowid <> ( select max(t.rowid) from my_tab t
                             where
                                    t.J_ID        = b.J_ID   and
                                    t.S_ID = b.S_ID and
                                    t.B_ID      = b.B_ID and
                                    t.LC   = b.LC
                                  and TO_TIMESTAMP(trim(t.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
                                   = TO_TIMESTAMP(trim(b.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    I know i have a DATE format but converting it into TIMESTAMP because my data is random and could contain the time stamp as well.
    My concern here is when i run above update statement i get error
    {code}
    ORA-12801: error signaled in parallel query server P005
    ORA-01862: the numeric value does not match the length of the format item
    {code}
    but when i do like below.. It runs fine. Not sure what i am missing here or doing something wrong. Please help.
    {code}
    select to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
    where
    to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') = to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    Thanks!
    If you have a date column, converting that to a timestamp isn't going to magically add more information to the date.
    Date data types hold time information (not to the fractional precision like timestamps, but up to the second) ... if you are having a problem seeing that information, it's likely because of your NLS_DATE_FORMAT setting (whatever client you are using to view the data isn't showing you all of the information, but it's still there).
    So basically, this boils down to your code not "making sense" at the moment
    Cheers,

  • ORA-12801: error signaled in parallel query server P000

    Hello All,
    Week before one of the APPLY process ABORTED with following error:
    ORA-12801: error signaled in parallel query server P000
    ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
    We are using ORACLE 10.2.0.4.0 on HP unix B.11.23
    For now, I have started the APPLY process again and it's working properly.
    When I looked into the trace file it shows following
    A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
    *** 2009-06-15 10:53:57.897
    A001: warning -- apply server 1, sid 302 waiting on user sid 267 for event (since 302 seconds):
    A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
    *** 2009-06-15 10:58:58.792
    A001: warning -- apply server 1, sid 302 waiting on user sid 267 for event (since 603 seconds):
    A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
    *** 2009-06-15 12:14:36.679
    A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
    *** 2009-06-15 12:19:36.961
    A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 300 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
    *** 2009-06-15 12:24:37.417
    A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 600 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
    *** 2009-06-15 12:29:37.906
    A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 901 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
    *** 2009-06-15 12:34:37.428
    A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 1201 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
    *** 2009-06-19 11:26:44.601
    A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
    *** 2009-06-19 11:31:43.753
    A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 300 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
    *** 2009-06-19 11:36:44.149
    A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 600 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
    *** 2009-06-19 11:41:43.775
    A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 900 seconds):
    A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
    *** 2009-06-23 16:55:24.002
    A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
    *** 2009-06-29 09:48:58.166
    A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
    *** 2009-07-01 06:02:37.236
    A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
    *** 2009-07-01 11:46:43.672
    error 12801 in STREAMS process
    ORA-12801: error signaled in parallel query server P000
    ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
    OPIRIP: Uncaught error 447. Error stack:
    ORA-00447: fatal error in background process
    ORA-12801: error signaled in parallel query server P000
    ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
    Can you please help to provide details on that how i can fix this problem permanetely.
    Any suggestions would be great!
    Thanks,
    Nick

    It seems that you are using Oracle database and not Berkeley Database.
    To fix ORA-04031 errors on streams pool, you need to increase streams pool size with
    alter system set streams_pool_size=<the right value>;See recommandations in http://download.oracle.com/docs/cd/B19306_01/server.102/b14229/strms_mprep.htm#i1006278

  • ORA-12801: error signaled in parallel query server P007

    Hi friends,
    I am running a update on a big table with parallel clause.
    I got the below error.Can someone help what should i next? This query takes a long time to execute(nearly 1 hour).
    I searched on google and metalink but no success yet.
    =======
    ORA-12801: error signaled in parallel query server P007
    ORA-00001: unique constraint (VEL5APPO.BL1_CHARGE_PK) violated
    =======
    Cheers,
    Kunwar

    Kunwar wrote:
    Hi friends,
    I am running a update on a big table with parallel clause.
    I got the below error.Can someone help what should i next? This query takes a long time to execute(nearly 1 hour).
    I searched on google and metalink but no success yet.
    =======
    ORA-12801: error signaled in parallel query server P007
    ORA-00001: unique constraint (VEL5APPO.BL1_CHARGE_PK) violated
    =======Not sure why you think this a complex and unusual and difficult to understand error. It is very clear what is happening.
    WHAT: your code violates constraint VEL5APPO.BL1_CHARGE_PK that says that one or more columns must contain unique values.
    Who says it? That is specified by the first line in the error stack.
    WHO: parallel query process 7 ran into the constraint error
    So what's happening? Your SQL is executed in parallel. Up to 7 PX slaves are used to run your SQL - with each slave running the SAME SQL for DIFFERENT rowid ranges. PX slave 7 attempted an insert/update that would have resulted in a duplicate row. The database constraint protecting the integrity of that table, prevented it.
    So the error is very clear as to what is wrong, why it is wrong, and where it is happening.
    I fail to understand that you search google and metalink and failed to find answers, when the error is meaningful....?

  • SQL Error: ORA-12801: error signaled in parallel query server P007

    Hi  all
    I am getting the following error when doing aggregation for a cube
    <b>SQL Error: ORA-12801: error signaled in parallel query server P007.</b>Job is showing as finished but no aggregation is hapenning.
    regards
      KK

    for ORA- 20000
    check the note below it shows you have insufficient authorizations.
    <b>Reason and Prerequisites</b>
    You are using BW 7.00 with Support Package 07 or higher.
    The BW module for the update statistics has been adjusted to SAPDBA or BRConnect (with regard to the heuristic, which is when, how and which statistics are created). To ensure that all table changes are taken into account, the relevant information must be flushed from the Oracle memory before the update statistics is carried out. For this purpose, the SAPCONN role (higher than ORA 10.2) or SAP SAP<sid> oder SAPR3 (ORA 10.1) requires additional authorizations that were not assigned up to now.
    <b> Note 963760 - 'ORA-20000: Insufficient privileges' for creating statistics</b> 
    For Error -for SQL Error: ORA-01418: specified index does not exist
    check note below-
    <b>Note 337830 - BW: ORA-1418 in system log</b>
    It seems that Index no longer exist which you are trying to delete.The 900 index, which exists on the F table only if the E table is partitioned, is deleted twice and on the second attempt it no longer exists.
    <b>
    Note 1003360 - BW fact tables: Deleting index from process chain terminates</b>
    If it relates your error it requires corrections for SP-12.
    Hope it Helps
    Chetan
    @CP..

  • Parallel query problem

    problem:
    In this explain plan 3 indexes are used and I altered these indexes with no parallel degree 1. after that its again using the parallel query...
    How to disable the parallel query use for the mentioned above....
    Plz help me out....
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost | Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
    | 0 | SELECT STATEMENT | | 1 | 54 | 3 | | | | | |
    | 1 | PX COORDINATOR | | | | | | | | | |
    | 2 | PX SEND QC (RANDOM) | :TQ10001 | 1 | 54 | 3 | | | Q1,01 | P->S | QC (RAND) |
    | 3 | NESTED LOOPS | | 1 | 54 | 3 | | | Q1,01 | PCWP | |
    | 4 | NESTED LOOPS ANTI | | 1 | 42 | 3 | | | Q1,01 | PCWP | |
    | 5 | NESTED LOOPS | | 1 | 28 | 3 | | | Q1,01 | PCWP | |
    | 6 | BUFFER SORT | | | | | | | Q1,01 | PCWC | |
    | 7 | PX RECEIVE | | | | | | | Q1,01 | PCWP | |
    | 8 | PX SEND BROADCAST | :TQ10000 | | | | | | | S->P | BROADCAST |
    | 9 | TABLE ACCESS BY GLOBAL INDEX ROWID| LEA_AGREEMENT_DTL | 1 | 10 | 1 | 1 | 1 | | | |
    | 10 | INDEX UNIQUE SCAN | LEA_AGREEMENT_DTL_UQ | 1 | | 1 | | | | | |
    | 11 | PX BLOCK ITERATOR | | 1 | 18 | 2 | | | Q1,01 | PCWC | |
    | 12 | TABLE ACCESS FULL | PDC_DISBURSAL_TXN_D | 1 | 18 | 2 | | | Q1,01 | PCWP | |
    | 13 | INDEX RANGE SCAN | PDC_MULTIPLE_LOAN_TXN_DE | 1 | 14 | 1 | | | Q1,01 | PCWP | |
    | 14 | TABLE ACCESS BY INDEX ROWID | PDC_DISBURSAL_TXN_H | 1 | 12 | 1 | | | Q1,01 | PCWP | |
    | 15 | INDEX UNIQUE SCAN | PDC_DISBURSAL_TXN_H_PK_01 | 1 | | 1 | | | Q1,01 | PCWP | |
    -----------------------------------------------------------------------------------------------------------------------------------------------------_

    please try to use "noparallel hints" in your query.
    R.Wang
    http://www.oraclepoint.com

  • ERROR - ORA-12801: error signaled in parallel query server P098

    Hi Experts,
    Today one of our developer complained that they are continously getting the below error in their application logs
    ERROR - ORA-12801: error signaled in parallel query server P098
    ORA-01461: can bind a LONG value only for insert into a LONG column
    When we checked we didn't find any error in our alert log and we have enough space in our temp tablespace as we are unable to understand exactly why are we getting the above error.
    Please help..
    Thanks....

    Please check, Couple of useful MOS Notes
    How to Analyze an ORA-12801 (Doc ID 1187823.1)
    ORA-01461 Can Bind A Long Value Only For Insert Into A Long Column (Doc ID 387587.1)

  • "ORA-12801: error signalled in parallel query server"

    A client of ours is using our reporting tool, Impromptu 6, to report from an Oracle 8.1.6 database connecting with Net8. He has built a simple report which displays a single item from a single table but it fails with:-
    Query Server Error
    "ORA-12801: error signalled in parallel query server"
    Error number -9:
    DMS-E-GENERAL, A general exception has occurred during operation 'asynchronous open'.
    According to Oracle documentation, there should be an accompanying error message with the ORA-12801 which gives more information.
    The last few lines of the DMAUDFIL show:-
    OCI OEXEC LINE 5219:orsgbl.C
    OCI OEXEC LINE 5219:orsgbl.C
    CHECK_CODE2 -12801 LINE 5249:orsgbl.C
    OCI OERHMS -12801,ORA-12801: error signaled in parallel query server
    LINE 858:orsmisc.C
    The DMAPIFIL shows no error.
    The query being sent to the database is:-
    select T1."PRD_LVL_PARENT" "c1"
    from "JDAOPRD"."PRDMSTEE" T1
    where PRD_LVL_PARENT is defined as NUMBER(12)
    If they paste the above into SQL*Plus, it works fine.
    Reporting any other items from the database do not give this error.
    If they use the Oracle ODBC driver, they don't get the problem but it runs a lot slower.

    As your ORA-12801 is followed by a ORA-0600 this should be a database bug. First of all I'd bring the database on the last patchlevel (10.2.0.5), and if the error persists you can use the ORA-600/ORA-7445 Troubleshooter (Metalink Note 153788.1). If this doesn't help either you should log a SR with oracle support (you need a support contract to do all those steps).
    Also I don't think forms 5 is certified against a 10gR2 database, so this might cause your trouble. For 6i you should use the latest patchset.
    If you don't have a valid support contract you might have a chance in putting your query in a database procedure.
    cheers

  • Parallel Query Error (Ora 12801 Ora-00904)

    when i run this particular query in a report or in SQL it wrks
    but some times it give the error .........
    any one who could help ........ASAP
    SELECT
    D.DISTRIBUTOR_CODE "DIST_CODE",
    D.DISTRIBUTOR_NAME "DIST_NAME",
    O.OPERATOR_CODE "OPER_CODE",
    O.OPERATOR_NAME "OPER_NAME",
    O.ACTIVE_STATUS "Act",
    r.receipt_no "receipt_no",
    r.ch_or_dd_no "cheque",
    r.receipt_date "receipt_date",
    '' "channel Code",
    '' "channel_name",
    b. SUBS_IRD "ird_subs",
    b.amount "amount"
    FROM
    dms_channel_dump z,
    DMS_OPERATOR_MASTER O,
    DMS_DISTRIBUTOR_MAIN D,
    dms_receipt_header r,
    DMS_BIFURCATION b
    WHERE
    b.channel_code = z.channel_code
    and r.OPERATOR_CODE = O.OPERATOR_CODE
    AND r.DISTRIBUTOR_CODE = D.DISTRIBUTOR_CODE
    AND r.receipt_no = b.receiopt_no
    union all
    SELECT
    D.DISTRIBUTOR_CODE "DIST_CODE",
    D.DISTRIBUTOR_NAME "DIST_NAME",
    '' "OPER_CODE",
    '' "OPER_NAME",
    'N' "Act",
    r.receipt_no "receipt_no",
    r.ch_or_dd_no "cheque",
    r.receipt_date "receipt_date",
    b.channel_code "channel Code",
    z.channel_name "channel_name",
    b. SUBS_IRD "ird_subs",
    b.amount "amount"
    FROM
    dms_channel_dump z,
    DMS_OPERATOR_MASTER O,
    DMS_DISTRIBUTOR_MAIN D,
    dms_receipt_header r,
    DMS_BIFURCATION b
    WHERE
    b.channel_code = z.channel_code
    and r.OPERATOR_CODE is null
    AND r.DISTRIBUTOR_CODE = D.DISTRIBUTOR_CODE
    AND r.receipt_no = b.receiopt_no
    order by 4,7
    ERROR:
    ORA-12801: error signaled in parallel query server P004
    ORA-00904: invalid column name
    no rows selecte
    REGARDS AND TIA
    ADOLPH

    If the data never changes, there would be no reason to gather statistics.
    If the data changes, there may or may not be a reason to gather statistics. There is some risk to gathering statistics because that can cause query plans to change and you could find that a query that was working fine yesterday is running very slowly today. Failing to gather statistics, though, can have the same effect-- if a histogram on a column indicates that the maximum value of a date field is December 1, 2006 because you haven't updated statistics in a few days, the CBO may conclude that a query this column with a value of December 4 would return very few row, rather than the many rows that are really there, causing Oracle to use a different query plan. Oracle tends to believe that the latter risk is more of a concern than the former and in 10g regularly and automatically gathers statistics unless you susped that job. Some DBAs disagree with Oracle and prefer less frequent, more controlled statistics gathering.
    If you GATHER AUTO, assuming your tables are set to MONITORING, Oracle gathers statistics on every table that has had more than some cutoff percentage of rows changed since statistics were last gathered. This cutoff is generally pretty reasonable, though ideally you'd probably want to gather statistics more frequently on smaller tables (adding 30 new rows to a 100 row table is probably more significant from a query plan perspective than adding 3 million rows to a 10 million row table) and less frequently on larger tables, more frequently on tables that have volatile data distributions (i.e. our DATE table) and less frequently on tables whose data distribution is relatively constant.
    Justin

  • Parallel Query - which actions are possible?

    Hello guys,
    we have an OLTP system which a huge amount of data... and now i want to try to introduce parallel query in the system and test something around.
    I have some experiences with parallel query in an OLAP environment, but not in an OLTP.
    What i am searching for?
    An overview for Oracle 10g which lists all possible query accesses that are possible in a parallel environment.
    For example:
    - FTS - possible
    - Nested Loops - possible
    - Index Range scans - not possible
    I know some .. but not all so i am searching for an overview on the oracle documentation page but was not able to found something.
    Maybe you can help me.
    Regards
    Stefan

    Hello sybrand (my little senior dba),
    regarding to the paper of Doug Burns there are more things that can be executed parallel (but this paper is about Oracle 9i), so please don't post if you don't have any knowledge.
    http://www.dbanotes.net/archives/px.pdf
    => As Oracle’s parallel capabilities have been developed, most tasks can be executed in parallel now. According to the 9.2.0.5 documentation, Oracle supports parallel execution of the following operations: -
    Access methods
    For example, table scans, index fast full scans, and partitioned index range scans.
    Join methods
    For example, nested loop, sort merge, hash, and star transformation.
    I am searching for such an information about Oracle 10g... maybe there are some more things that can be executed parallel wit 10g.
    Thanks and Regards
    Stefan

  • Database stopped with Error:ORA-10388: parallel query server interrupt (fai

    Hi Team,
    My Oracle 10g Database stopped automatically. When i checked the alert log i found the below Errors:
    Errors in file /opt/oracle/admin/DWS/bdump/dws_p000_10374.trc:
    ORA-10388: parallel query server interrupt (failure)
    Fri Mar 2 18:55:18 2012
    SMON: Restarting fast_start parallel rollback
    Fri Mar 2 18:55:47 2012
    Thread 1 advanced to log sequence 384310 (LGWR switch)
    Current log# 3 seq# 384310 mem# 0: +DBDG/dws/onlinelog/group_3.259.733426831
    Fri Mar 2 18:57:48 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_p000_10374.trc:
    ORA-10388: parallel query server interrupt (failure)
    Fri Mar 2 18:57:49 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_smon_10337.trc:
    ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], []
    Fri Mar 2 19:18:31 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc:
    ORA-00474: SMON process terminated with error
    Fri Mar 2 19:18:31 2012
    PMON: terminating instance due to error 474
    ======================================================================
    A week before we stopped oracle using "Shutdown abort" command. But two days before we stopped using "shutdown immediate", it went fine and system up and run fine.
    But today it stopped with this error message.
    Operating system : SOlaris 10
    I changed the parameter parameter fast_start_parallel_rollback to HIGH from LOW, but no use
    SQL> ALTER SYSTEM SET FAST_START_PARALLEL_ROLLBACK=HIGH SCOPE=BOTH;
    System altered.
    SQL> show parameter fast_start_parallel_rollback
    NAME TYPE VALUE
    fast_start_parallel_rollback string HIGH
    Usually The dead transaction will be rolled back after raising the Priority from LOW to HIGH. But this time its not rolled back. still etting the same error.
    Your answers will help to stop the oracle getting down in the LIVE production server. please share your experience guys.
    Thanks and Regards,
    Deeban

    Hi,
    Here im pasting the Trace file content for the error "ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], []".
    [10:20pm] root@dws41: # cat /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc
    /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /opt/oracle/product/10.2.0
    System name: SunOS
    Node name: dws41
    Release: 5.10
    Version: Generic_138888-06
    Machine: sun4u
    Instance name: DWS
    Redo thread mounted by this instance: 1
    Oracle process number: 3
    Unix process pid: 10277, image: oracle@dws41 (PMON)
    **** 2012-03-02 19:18:31.509*
    **** SERVICE NAME:(SYS$BACKGROUND) 2012-03-02 19:18:31.504*
    **** SESSION ID:(1511.1) 2012-03-02 19:18:31.504*
    Background process SMON found dead
    Oracle pid = 8
    OS pid (from detached process) = 10337
    OS pid (from process state) = 10337
    dtp = 380017a10, proc = 7fd001048
    Dump of memory from 0x0000000380017A10 to 0x0000000380017A58
    380017A10 0000007C 00000000 00000007 FD001048 [...|...........H]
    380017A20 00000000 00000000 00000000 534D4F4E [............SMON]
    380017A30 00020000 00000000 00002861 00000000 [..........(a....]
    380017A40 00000000 4F507D38 00000001 327FA838 [....OP}8....2..8]
    380017A50 00040081 00000000 [........]
    Dump of memory from 0x00000007FD001048 to 0x00000007FD001830
    7FD001040 02010000 00000000 [........]
    7FD001050 00000000 00000000 00000000 00000000 [................]
    7FD001060 00000000 00000000 00000007 FD6D0CD0 [.............m..]
    7FD001070 00000007 FD700328 00000007 FD546D78 [.....p.(.....Tmx]
    7FD001080 00000005 3C6FD110 00000000 00000000 [....<o..........]
    7FD001090 00000005 3C6FD198 00000005 3C6FD198 [....<o......<o..]
    7FD0010A0 00000007 FD700318 01160800 00000000 [.....p..........]
    7FD0010B0 00000007 FD53FF88 00000007 FD544698 [.....S.......TF.]
    7FD0010C0 00000008 00000000 00000000 00000000 [................]
    7FD0010D0 00000000 00000000 00000000 00000000 [................]
    7FD0010E0 00000007 FD6CE770 00000007 FD6D0D00 [.....l.p.....m..]
    7FD0010F0 00000000 00000000 00000000 00000000 [................]
    Repeat 3 times
    7FD001130 00000000 00000000 00000012 00000000 [................]
    7FD001140 00000000 00000000 0000000F 00000000 [................]
    7FD001150 00000000 00000000 00000012 00000000 [................]
    Repeat 1 times
    7FD001170 00000000 00000000 0000000F 00000000 [................]
    Repeat 1 times
    7FD001190 00000000 00000000 00000012 00000000 [................]
    Repeat 1 times
    7FD0011B0 00000000 00000000 0000000E 00000000 [................]
    7FD0011C0 00000000 00000000 00000008 00000000 [................]
    7FD0011D0 00000000 00000000 00000012 00000000 [................]
    7FD0011E0 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD001210 00000000 00000000 00000004 00000000 [................]
    7FD001220 00000000 00000000 00000000 00000000 [................]
    7FD001230 4F50FF9A 00000000 00000000 00000000 [OP..............]
    7FD001240 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD001260 00000007 FD001260 00000007 FD001260 [.......`.......`]
    7FD001270 00000000 00000000 00000000 FFFFFFFF [................]
    7FD001280 00000007 FD001280 00000007 FD001280 [................]
    7FD001290 00000000 00000000 00000005 00000000 [................]
    7FD0012A0 00000000 00000000 00000000 00000000 [................]
    7FD0012B0 000000AB BABCDEFA 00000000 00000000 [................]
    7FD0012C0 00000000 00000000 000000FF 7FFFC971 [...............q]
    7FD0012D0 00000021 00000026 0008CBAA 00039976 [...!...&.......v]
    7FD0012E0 00000005 3C003FB8 00000006 7E0037D0 [....<.?.....~.7.]
    7FD0012F0 00000001 00000000 00000000 00000000 [................]
    7FD001300 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD001320 00000000 00000000 00002861 00000000 [..........(a....]
    7FD001330 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD001360 00000000 00000000 00000007 FD001048 [...............H]
    7FD001370 00000000 00000000 00000000 00000000 [................]
    Repeat 4 times
    7FD0013C0 00000000 00000000 00000001 00000000 [................]
    7FD0013D0 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD0013F0 4F50FF9A 00000000 00000007 FD0013F8 [OP..............]
    7FD001400 00000007 FD0013F8 00000000 00000000 [................]
    7FD001410 00010000 00000000 00000000 01000057 [...............W]
    7FD001420 0000000C 00000000 00002861 00000000 [..........(a....]
    7FD001430 00000000 4F507D38 00000001 00000000 [....OP}8........]
    7FD001440 00000000 00000000 00000000 00000000 [................]
    Repeat 3 times
    7FD001480 0000000F FFFFFFFF 00000000 00000000 [................]
    7FD001490 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD0014C0 00000000 00000000 00000020 00000000 [........... ....]
    7FD0014D0 00000000 00000000 00000000 00000000 [................]
    Repeat 8 times
    7FD001560 00000000 00000000 6F726163 6C650000 [........oracle..]
    7FD001570 00000000 00000000 00000000 00000000 [................]
    7FD001580 00000000 00000000 00000000 00000006 [................]
    7FD001590 64777334 31000000 00000000 00000000 [dws41...........]
    7FD0015A0 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD0015D0 00000000 00000005 554E4B4E 4F574E00 [........UNKNOWN.]
    7FD0015E0 00000000 00000000 00000000 00000000 [................]
    7FD0015F0 00000000 00000000 00000000 00000008 [................]
    7FD001600 31303333 37000000 00000000 00000000 [10337...........]
    7FD001610 00000000 00000000 00000000 00000005 [................]
    7FD001620 6F726163 6C654064 77733431 2028534D [oracle@dws41 (SM]
    7FD001630 4F4E2900 00000000 00000000 00000000 [ON).............]
    7FD001640 00000000 00000000 00000000 00000000 [................]
    7FD001650 00000000 00000013 00000000 00000002 [................]
    7FD001660 00000000 00000000 00000000 00000000 [................]
    Repeat 9 times
    7FD001700 00000000 00020000 00000000 00000000 [................]
    7FD001710 00000000 00000000 00000000 00000000 [................]
    7FD001720 00000003 BD4FFA28 00000005 3C0026F8 [.....O.(....<.&.]
    7FD001730 00000006 7E000F40 00000000 00000000 [....~..@........]
    7FD001740 00000003 BC691FD8 00000000 00000000 [.....i..........]
    7FD001750 00000000 00000000 00000000 00000000 [................]
    7FD001760 00000000 00000000 00000007 FD001768 [...............h]
    7FD001770 00000007 FD001768 00000000 09EF0000 [.......h........]
    7FD001780 00000000 086F0000 00000000 017A17D9 [.....o.......z..]
    7FD001790 00000000 00273A49 00000000 13B817D9 [.....':I........]
    7FD0017A0 00000000 00015030 00000000 0000A848 [......P0.......H]
    7FD0017B0 00000000 001350A0 00000000 00000828 [......P........(]
    7FD0017C0 00000000 000000E0 00000000 00000828 [...............(]
    7FD0017D0 00000000 00000000 00000000 00000000 [................]
    Repeat 4 times
    7FD001820 32B310E7 000152FB 00000003 00000000 [2.....R.........]
    error 474 detected in background process
    ORA-00474: SMON process terminated with error
    [10:20pm] root@dws41: #

  • Parallel Query/Execution

    Guys,
    What is parallel quering/execution? How does it help to improve the performance.
    Thanks

    Hi,
    Parallel query is an Oracle feature designed to solve large-scale data warehouse reporting and DML I/O performance issues. It is easy to implement
    PARALLEL_AUTOMATIC_TUNING=TRUE, include PARALLEL option on table DDL definition and it is in place.
    This feature improves performance when used on a multi-cpu platform, with PARTITIONED tables (i.e... typcially FACT, or transaction records, where rowcount is approaching or greater than 100million). Oracle distributes the SQL workload against each table partition to an individual CPU. Rather than 1 CPU scanning a table, many CPUs are used to scan different table partitions of the same table at the same time (i.e. in parallel).

Maybe you are looking for