Gather_Plan_Statistics + DBMS_XPLAN A-rows for parallel queries

Looks like gather_plan_statistics + dbms_xplan displays incorrect A-rows for parallel queries. Is there any way to get the correct A-rows for a parallel query?
Version details:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi on HPUX
Create test tables:
-- Account table
create table test_tacprof
parallel (degree 2) as
select object_id ac_nr,
       object_name ac_na
from all_objects;      
alter table test_tacprof add constraint test_tacprof_pk primary key (ac_nr);
-- Account revenue table
create table test_taccrev
parallel (degree 2) as
select apf.ac_nr         ac_nr,
       fiv.r             tm_prd,
       apf.ac_nr * fiv.r ac_rev
from   (select rownum r from all_objects where rownum <= 5) fiv,
       test_tacprof apf;
alter table test_taccrev add constraint test_taccrev_pk primary key (ac_nr, tm_prd);
-- Table to hold query results
create table test_4accrev as
select apf.ac_nr, apf.ac_na, rev.tm_prd, rev.ac_rev
from test_taccrev rev,
     test_tacprof apf
where 1=2;
Run query with parallel dml/query disabled:
ALTER SESSION DISABLE PARALLEL QUERY;
ALTER SESSION DISABLE PARALLEL DML;
INSERT INTO test_4accrev
   SELECT /*+ gather_plan_statistics */
          apf.ac_nr,
          apf.ac_na,
          rev.tm_prd,
          rev.ac_rev
     FROM test_taccrev rev, test_tacprof apf
    WHERE apf.ac_nr = rev.ac_nr AND tm_prd = 4;
SELECT *
  FROM TABLE (DBMS_XPLAN.display_cursor (NULL, NULL, 'ALLSTATS LAST'));
| Id  | Operation          | Name         | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Use
|*  1 |  HASH JOIN         |              |      1 |  30442 |  23412 |00:00:00.27 |     772 |  1810K|  1380K| 2949K (0)|
|   2 |   TABLE ACCESS FULL| TEST_TACPROF |      1 |  26050 |  23412 |00:00:00.01 |     258 |       |       |    
|*  3 |   TABLE ACCESS FULL| TEST_TACCREV |      1 |  30441 |  23412 |00:00:00.03 |     514 |       |       |    
ROLLBACK ;
A-rows are correctly reported with no parallel.
Run query with parallel dml/query enabled:
ALTER SESSION enable PARALLEL QUERY;
alter session enable parallel dml;
insert into test_4accrev
select /*+ gather_plan_statistics */ apf.ac_nr, apf.ac_na, rev.tm_prd, rev.ac_rev
from test_taccrev rev,
     test_tacprof apf
where apf.ac_nr = rev.ac_nr
and   tm_prd = 4;    
select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));                
| Id  | Operation                | Name         | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-M
|   1 |  PX COORDINATOR          |              |      1 |        |  23412 |00:00:00.79 |       6 |       |       |          |
|   2 |   PX SEND QC (RANDOM)    | :TQ10001     |      0 |  30442 |      0 |00:00:00.01 |       0 |       |       |          |
|*  3 |    HASH JOIN             |              |      0 |  30442 |      0 |00:00:00.01 |       0 |  2825K|  1131K|          |
|   4 |     PX BLOCK ITERATOR    |              |      0 |  30441 |     0 |00:00:00.01 |       0 |       |       |          |
|*  5 |      TABLE ACCESS FULL   | TEST_TACCREV |      0 |  30441 |      0 |00:00:00.01 |       0 |       |       |       
|   6 |     BUFFER SORT          |              |      0 |        |      0 |00:00:00.01 |       0 | 73728 | 73728 |          |
|   7 |      PX RECEIVE          |              |      0 |  26050 |      0 |00:00:00.01 |       0 |       |       |          |
|   8 |       PX SEND BROADCAST  | :TQ10000     |      0 |  26050 |      0 |00:00:00.01 |       0 |       |       |          |
|   9 |        PX BLOCK ITERATOR |              |      0 |  26050 |      0 |00:00:00.01 |       0 |       |       |          |
|* 10 |         TABLE ACCESS FULL| TEST_TACPROF |      0 |  26050 |      0 |00:00:00.01 |       0 |       |       |          |
rollback;
A-rows are zero execpt for final step.

I'm sorry for posting following long test case.
But it's the most convenient way to explain something. :-)
Here is my test case, which is quite similar to yours.
Note on the difference between "parallel select" and "parallel dml(insert here)".
(I know that Oracle implemented psc(parallel single cursor) model in 10g, but the details of the implementation is quite in mystery as Jonathan said... )
SQL> select * from v$version;
BANNER                                                                         
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod               
PL/SQL Release 10.2.0.1.0 - Production                                         
CORE     10.2.0.1.0     Production                                                     
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production                        
NLSRTL Version 10.2.0.1.0 - Production                                         
SQL>
SQL> alter system flush shared_pool;
System altered.
SQL>
SQL> alter table t parallel 4;
Table altered.
SQL>
SQL> select /*+ gather_plan_statistics */ count(*) from t t1, t t2
  2  where t1.c1 = t2.c1 and rownum <= 1000
  3  order by t1.c2;
  COUNT(*)                                                                     
      1000                                                                     
SQL>
SQL> select sql_id from v$sqlarea
where sql_text like 'select /*+ gather_plan_statistics */ count(*) from t t1, t t2%';
SQL_ID                                                                         
bx61bkyh9ffb6                                                                  
SQL>
SQL> select * from table(dbms_xplan.display_cursor('&sql_id',null,'allstats last'));
Enter value for sql_id: bx61bkyh9ffb6
PLAN_TABLE_OUTPUT                                                              
SQL_ID  bx61bkyh9ffb6, child number 0          <-- Cooridnator and slaves shared the cursor                          
select /*+ gather_plan_statistics */ count(*) from t t1, t t2 where t1.c1 = t2.c
1 and rownum <= 1000 order by t1.c2                                            
Plan hash value: 3015647771                                                    
PLAN_TABLE_OUTPUT                                                              
| Id  | Operation                  | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |                               
|   1 |  SORT AGGREGATE            |          |      1 |      1 |      1 |00:00:00.62 |       6 |       |       |          |                                   
|*  2 |   COUNT STOPKEY            |          |      1 |        |   1000 |00:00:00.62 |       6 |       |       |          |                                   
|   3 |    PX COORDINATOR          |          |      1 |        |   1000 |00:00:00.50 |       6 |       |       |          |                                   
|   4 |     PX SEND QC (RANDOM)    | :TQ10002 |      0 |     16M|      0 |00:00:00.01 |       0 |       |       |          |                                   
|*  5 |      COUNT STOPKEY         |          |      0 |        |      0 |00:00:00.01 |       0 |       |       |          |                                   
|*  6 |       HASH JOIN BUFFERED   |          |      0 |     16M|      0 |00:00:00.01 |       0 |  1285K|  1285K|  717K (0)|                                   
|   7 |        PX RECEIVE          |          |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|   8 |         PX SEND HASH       | :TQ10000 |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|   9 |          PX BLOCK ITERATOR |          |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|* 10 |           TABLE ACCESS FULL| T        |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|  11 |        PX RECEIVE          |          |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|  12 |         PX SEND HASH       | :TQ10001 |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|  13 |          PX BLOCK ITERATOR |          |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
|* 14 |           TABLE ACCESS FULL| T        |      0 |  10000 |      0 |00:00:00.01 |       0 |       |       |          |                                   
38 rows selected.
SQL>
SQL> select sql_id, child_number, executions, px_servers_executions
  2  from v$sql where sql_id = '&sql_id';
SQL_ID                                  CHILD_NUMBER EXECUTIONS                
PX_SERVERS_EXECUTIONS                                                          
bx61bkyh9ffb6                                      0          1                
                    8                                                          
SQL>
SQL> insert /*+ gather_plan_statistics */ into t select * from t;
10000 rows created.
SQL>
SQL> select sql_id from v$sqlarea
where sql_text like 'insert /*+ gather_plan_statistics */ into t select * from t%';
SQL_ID                                                                         
9dkmu9bdhg5h0                                                                  
SQL>
SQL> select * from table(dbms_xplan.display_cursor('&sql_id', null, 'allstats last'));
Enter value for sql_id: 9dkmu9bdhg5h0
PLAN_TABLE_OUTPUT                                                              
SQL_ID  9dkmu9bdhg5h0, child number 0       <-- Coordinator Cursor                         
insert /*+ gather_plan_statistics */ into t select * from t                    
Plan hash value: 3050126167                                                    
| Id  | Operation            | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers |                                                                    
|   1 |  PX COORDINATOR      |          |      1 |        |  10000 |00:00:00.20 |       3 |                                                                    
|   2 |   PX SEND QC (RANDOM)| :TQ10000 |      0 |  10000 |      0 |00:00:00.01 |       0 |                                                                    
|   3 |    PX BLOCK ITERATOR |          |      0 |  10000 |      0 |00:00:00.01 |       0 |                                                                    
|*  4 |     TABLE ACCESS FULL| T        |      0 |  10000 |      0 |00:00:00.01 |       0 |                                                                    
SQL_ID  9dkmu9bdhg5h0, child number 1        <-- Slave(s)
insert /*+ gather_plan_statistics */ into t select * from t                    
PLAN_TABLE_OUTPUT                                                              
Plan hash value: 3050126167                                                    
| Id  | Operation            | Name     | Starts | E-Rows | A-Rows |   A-Time  | Buffers |                                                                    
|   1 |  PX COORDINATOR      |          |      0 |        |      0 |00:00:00.01 |       0 |                                                                    
|   2 |   PX SEND QC (RANDOM)| :TQ10000 |      0 |  10000 |      0 |00:00:00.01 |       0 |                                                                    
|   3 |    PX BLOCK ITERATOR |          |      1 |  10000 |   2628 |00:00:00.20 |      16 |                                                                    
|*  4 |     TABLE ACCESS FULL| T        |      4 |  10000 |   2628 |00:00:00.02 |      16 |                                                                    
SQL>
SQL> select sql_id, child_number, executions, px_servers_executions
  2  from v$sql where sql_id = '&sql_id';  <-- 2 child cursors here
SQL_ID                                  CHILD_NUMBER EXECUTIONS                
PX_SERVERS_EXECUTIONS                                                          
9dkmu9bdhg5h0                                      0          1                
                    0                                                          
9dkmu9bdhg5h0                                      1          0                
                    4                                                          
SQL>
SQL> set serveroutput on
-- check mismatch
SQL> exec print_table('select * from v$sql_shared_cursor where sql_id = ''&sql_id''');
Enter value for sql_id: 9dkmu9bdhg5h0
SQL_ID                        : 9dkmu9bdhg5h0                                  
ADDRESS                       : 6AD85A70                                       
CHILD_ADDRESS                 : 6BA596A8                                       
CHILD_NUMBER                  : 0                                              
UNBOUND_CURSOR                : N                                              
SQL_TYPE_MISMATCH             : N                                              
OPTIMIZER_MISMATCH            : N                                              
OUTLINE_MISMATCH              : N                                              
STATS_ROW_MISMATCH            : N                                              
LITERAL_MISMATCH              : N                                              
SEC_DEPTH_MISMATCH            : N                                              
EXPLAIN_PLAN_CURSOR           : N                                              
BUFFERED_DML_MISMATCH         : N                                              
PDML_ENV_MISMATCH             : N                                              
INST_DRTLD_MISMATCH           : N                                              
SLAVE_QC_MISMATCH             : N                                              
TYPECHECK_MISMATCH            : N                                              
AUTH_CHECK_MISMATCH           : N                                              
BIND_MISMATCH                 : N                                              
DESCRIBE_MISMATCH             : N                                              
LANGUAGE_MISMATCH             : N                                              
TRANSLATION_MISMATCH          : N                                              
ROW_LEVEL_SEC_MISMATCH        : N                                              
INSUFF_PRIVS                  : N                                              
INSUFF_PRIVS_REM              : N                                              
REMOTE_TRANS_MISMATCH         : N                                              
LOGMINER_SESSION_MISMATCH     : N                                              
INCOMP_LTRL_MISMATCH          : N                                              
OVERLAP_TIME_MISMATCH         : N                                              
SQL_REDIRECT_MISMATCH         : N                                              
MV_QUERY_GEN_MISMATCH         : N                                              
USER_BIND_PEEK_MISMATCH       : N                                              
TYPCHK_DEP_MISMATCH           : N                                              
NO_TRIGGER_MISMATCH           : N                                              
FLASHBACK_CURSOR              : N                                              
ANYDATA_TRANSFORMATION        : N                                              
INCOMPLETE_CURSOR             : N                                              
TOP_LEVEL_RPI_CURSOR          : N                                              
DIFFERENT_LONG_LENGTH         : N                                              
LOGICAL_STANDBY_APPLY         : N                                              
DIFF_CALL_DURN                : N                                              
BIND_UACS_DIFF                : N                                              
PLSQL_CMP_SWITCHS_DIFF        : N                                              
CURSOR_PARTS_MISMATCH         : N                                              
STB_OBJECT_MISMATCH           : N                                              
ROW_SHIP_MISMATCH             : N                                              
PQ_SLAVE_MISMATCH             : N                                              
TOP_LEVEL_DDL_MISMATCH        : N                                              
MULTI_PX_MISMATCH             : N                                              
BIND_PEEKED_PQ_MISMATCH       : N                                              
MV_REWRITE_MISMATCH           : N                                              
ROLL_INVALID_MISMATCH         : N                                              
OPTIMIZER_MODE_MISMATCH       : N                                              
PX_MISMATCH                   : N                                              
MV_STALEOBJ_MISMATCH          : N                                              
FLASHBACK_TABLE_MISMATCH      : N                                              
LITREP_COMP_MISMATCH          : N                                              
SQL_ID                        : 9dkmu9bdhg5h0                                  
ADDRESS                       : 6AD85A70                                       
CHILD_ADDRESS                 : 6B10AA00                                       
CHILD_NUMBER                  : 1                                              
UNBOUND_CURSOR                : N                                              
SQL_TYPE_MISMATCH             : N                                              
OPTIMIZER_MISMATCH            : N                                              
OUTLINE_MISMATCH              : N                                              
STATS_ROW_MISMATCH            : N                                              
LITERAL_MISMATCH              : N                                              
SEC_DEPTH_MISMATCH            : N                                              
EXPLAIN_PLAN_CURSOR           : N                                              
BUFFERED_DML_MISMATCH         : N                                              
PDML_ENV_MISMATCH             : N                                              
INST_DRTLD_MISMATCH           : N                                              
SLAVE_QC_MISMATCH             : N                                              
TYPECHECK_MISMATCH            : N                                              
AUTH_CHECK_MISMATCH           : N                                              
BIND_MISMATCH                 : N                                              
DESCRIBE_MISMATCH             : N                                              
LANGUAGE_MISMATCH             : N                                              
TRANSLATION_MISMATCH          : N                                              
ROW_LEVEL_SEC_MISMATCH        : N                                              
INSUFF_PRIVS                  : N                                              
INSUFF_PRIVS_REM              : N                                              
REMOTE_TRANS_MISMATCH         : N                                              
LOGMINER_SESSION_MISMATCH     : N                                              
INCOMP_LTRL_MISMATCH          : N                                              
OVERLAP_TIME_MISMATCH         : N                                              
SQL_REDIRECT_MISMATCH         : N                                              
MV_QUERY_GEN_MISMATCH         : N                                              
USER_BIND_PEEK_MISMATCH       : N                                              
TYPCHK_DEP_MISMATCH           : N                                              
NO_TRIGGER_MISMATCH           : N                                              
FLASHBACK_CURSOR              : N                                              
ANYDATA_TRANSFORMATION        : N                                              
INCOMPLETE_CURSOR             : N                                              
TOP_LEVEL_RPI_CURSOR          : N                                              
DIFFERENT_LONG_LENGTH         : N                                              
LOGICAL_STANDBY_APPLY         : N                                              
DIFF_CALL_DURN                : Y      <-- Mismatch here. diff_call_durn
BIND_UACS_DIFF                : N                                              
PLSQL_CMP_SWITCHS_DIFF        : N                                              
CURSOR_PARTS_MISMATCH         : N                                              
STB_OBJECT_MISMATCH           : N                                              
ROW_SHIP_MISMATCH             : N                                              
PQ_SLAVE_MISMATCH             : N                                              
TOP_LEVEL_DDL_MISMATCH        : N                                              
MULTI_PX_MISMATCH             : N                                              
BIND_PEEKED_PQ_MISMATCH       : N                                              
MV_REWRITE_MISMATCH           : N                                              
ROLL_INVALID_MISMATCH         : N                                              
OPTIMIZER_MODE_MISMATCH       : N                                              
PX_MISMATCH                   : N                                              
MV_STALEOBJ_MISMATCH          : N                                              
FLASHBACK_TABLE_MISMATCH      : N                                              
LITREP_COMP_MISMATCH          : N                                              
PL/SQL procedure successfully completed.

Similar Messages

  • Count number of rows for TWO QUERIES USING MINUS OPERATOR

    I have the following piece of sql, i would like to know how could i programatically using plsql count the number of rows returned by the following statement. I know that %ROWCOUNT returns the rowcount for the last execute INSERT, UPDATE, DELETE and SELECT INTO statement. Any help is much appreciated thanks.
    select *
    from admt1m4.usr@tcprod u
    where u.authoriztion = 'Omf99FullUsage'
    and u.obid in (select right from admt1m4.usrtogrp@TCPROD ug where ug.left in
    (select obid from admt1m4.usrgrp@tcprod g 
    where g.participant not in ('super user grp', 't1_WbsPSAnalystGrp')))
    and u.activeuser = '+'
    MINUS
    select *
    from admt1m4.usr@TCPROD u
    where u.authoriztion = 'Omf99FullUsage'
    and u.obid in (select right from admt1m4.usrtogrp@TCPROD ug
    where ug.usrgrpname in ('super user grp', 't1_WbsPSAnalystGrp'))
    and u.activeuser = '+'

    Hi,
    Have you tried
    SELECT COUNT (1) cnt
      FROM (SELECT *
              FROM admt1m4.usr@tcprod u
             WHERE u.authoriztion = 'Omf99FullUsage'
               AND u.obid IN (
                      SELECT RIGHT
                        FROM admt1m4.usrtogrp@tcprod ug
                       WHERE ug.LEFT IN (
                                SELECT obid
                                  FROM admt1m4.usrgrp@tcprod g
                                 WHERE g.participant NOT IN
                                          ('super user grp', 't1_WbsPSAnalystGrp')))
               AND u.activeuser = '+'
            MINUS
            SELECT *
              FROM admt1m4.usr@tcprod u
             WHERE u.authoriztion = 'Omf99FullUsage'
               AND u.obid IN (
                      SELECT RIGHT
                        FROM admt1m4.usrtogrp@tcprod ug
                       WHERE ug.usrgrpname IN
                                         ('super user grp', 't1_WbsPSAnalystGrp'))
               AND u.activeuser = '+')or your requirement is something else...
    *009*

  • Tkprof d'ont give rows for parallel

    Hi,
    When i trace a session with parallel dml i use trcsess to agregate my trc in bdump i d'ont obtain the number of rows.
    Why ?
    SELECT /*+ PARALLEL(LNK, 6) PARALLEL(ZKS1, 6) PARALLEL(ZKFA, 6) PARALLEL(POL,
    6) */
    rownum,
    POL.POL_REF,
    ZKFA.CLM_MAST_CODE_FAFANO,
    ZKFA.MAST_NUM_FAFANU,
    ZKFA.MAST_SEQ_FAFASE,
    ZKFA.CLM_MAST_REF_FAFAMR,
    ZKFA.CIM_CLM_NUM_FAFAFN,
    ZKFA.CLM_CM_MAST_STS_CODE_FAFAMS,
    ZKFA.CLM_TIT_FAFATL,
    ICIS.CLM_CCY_COD,
    ICIS.CLM_DTL,
    ICIS.VAL_TYP_COD,
    ICIS.CLM_VAL_AMT,
    ICIS.DCL_TYP,
    ZKFA.ADVI_TYPE_QUAL_FAFAAQ,
    ZKFA.ASS_NME_COD_FAFAIN,
    ZKFA.DATE_EVENT_FAFADE,
    ZKFA.CLM_LOSS_ANA2_CODE_FAFA2L,
    ZKFA.CLM_LOSS_ANA1_CODE_FAFA1L,
    ZKFA.CLAIM_MAST_ORIG,
    ZKFA.CLM_ADVI_DATE_FAFADA,
    ZKFA.BRK_NME_COD_FAFALB,
    ZKFA.LOSS_BRKR_REF1_FAFAB1,
    ZKFA.CLM_DATE_LAST_UPD_FAFADU,
    ZKFA.CLM_ASC_CUR_FAFASC,
    ZKFA.HND_NME_COD_FAFAHC,
    ZKFA.DEPT_COD_FAFADC,
    ZKFA.F6_VAL_LST_CODE_FAFAL6,
    ZKFA.F6_VAL_CODE_FAFAV6,
    ZKFA.LOSS_BRKR_REF2_FAFAB2,
    ZKFA.CLM_CLMT_NME_COD_FAFACC,
    ZKFA.DATE_LAST_MVMT_FAFALM,
    ZKFA.CLM_DATE_LOSS_FROM_FAFADL,
    ZKFA.CLM_DATE_LOSS_TO_FAFADT,
    ZKFA.DATE_LOSS_QUAL_FAFADQ,
    ZKFA.CLM_LVL2_CAT_COD_FAFA2C,
    ZKFA.CLM_LVL2_CAT_QUA_FAFA2Q,
    ZKFA.CLM_LVL1_CAT_COD_FAFA1C,
    ZKFA.CLM_LVL1_CAT_QUA_FAFA1Q,
    ZKFA.NXT_REW_DAT_FAFARN,
    ZKFA.F5_VAL_LST_CODE_FAFAL5,
    ZKFA.F5_VAL_CODE_FAFAV5,
    ZKFA.CLM_LOSS_ANA3_CODE_FAFA3L,
    ZKFA.F1_VAL_LST_CODE_FAFAL1,
    ZKFA.F1_VAL_CODE_FAFAV1,
    ZKFA.F2_VAL_LST_CODE_FAFAL2,
    ZKFA.F2_VAL_CODE_FAFAV2,
    ZKFA.F3_VAL_LST_CODE_FAFAL3,
    ZKFA.F3_VAL_CODE_FAFAV3,
    ZKFA.CLM_LOSS_ANA4_CODE_FAFA4L,
    ZKS1.USR_S1USER,
    ZKS1.ENT_DAT_S1DJD1,
    ZKS1.CLM_HIS_SEQ_S1S1SQ,
    ZKS1.CLM_HIS_LOG_EVE_S1S1FR,
    ZHAA.AREA_LEV_FLG_AAAIFG,
    ZHAA.AREA_CODE_AAAACD,
    ZHAA.AREA_LONG_NME_AAAADS,
    POL.PRD_COD,
    POL.BUS_PRF,
    POL.GEO_PRF,
    POL.BCH_COD,
    POL.MST_ORI,
    ZKLI.CLM_ADD_COD4_LIKC04,
    ZKLI.CLM_ADD_COD4_GRP_LIKG04,
    ZKLI.CLM_ADD_COD2_LIKC02,
    ZKLI.CLM_ADD_COD2_GRP_LIKG02,
    ZKLI.CLM_ADD_COD3_LIKC03,
    ZKLI.CLM_ADD_COD5_LIKC05,
    ZKFA.PROD_CODE_FAK701
    FROM
    crdowner.CLMS_ZKFA ZKFA,
    crdowner.LNK_CLM_GNS_ICI LNK,
    crdowner.CLM_DSC_ICI ICIS,
    crdowner.CLM_FNR_LOG_ZKS1 ZKS1,
    crdowner.AREA_CODE_ZHAA ZHAA,
    crdowner.DIM_POLICY POL,
    crdowner.CLM_ADD_DTL_ZKLI ZKLI
    WHERE
    RTRIM(ZKFA.CLM_MAST_REF_FAFAMR) = LNK.GNS_CLM_REF(+)
    AND LNK.CLM_TCH_ID =
    ICIS.CLM_TCH_ID(+)
    AND ZKFA.CLM_MAST_CODE_FAFANO =
    ZKS1.CLM_MST_COD_S1FANO(+)
    AND (ZKS1.CLM_HIS_SEQ_S1S1SQ = (
    SELECT max (CLM_HIS_SEQ_S1S1SQ)
    FROM crdowner.CLM_FNR_LOG_ZKS1
    ZKS1_2
    WHERE ZKS1_2.CLM_MST_COD_S1FANO = ZKS1.CLM_MST_COD_S1FANO
    GROUP BY ZKS1_2.CLM_MST_COD_S1FANO
    OR
    ZKS1.CLM_HIS_SEQ_S1S1SQ is NULL
    AND
    ZKFA.CLM_LOSS_AREA_CODE_FAFAAC = ZHAA.AREA_CODE_AAAACD(+)
    AND
    ZKFA.MAST_NUM_FAFANU = POL.MST_NUM
    AND ZKFA.MAST_SEQ_FAFASE =
    POL.MST_SEQ
    AND POL.LST_NDS_FLG = 1
    AND ZKFA.CLM_MAST_CODE_FAFANO =
    ZKLI.CLM_MST_COD_LIFANO(+)
    call count cpu elapsed disk query current rows
    Parse 12 0.00 0.00 0 0 0 0
    Execute 12 202.26 392.98 419288 133736 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 24 202.26 392.98 419288 133736 0 0
    Thanks

    Hi,
    When i trace a session with parallel dml i use trcsess to agregate my trc in bdump i d'ont obtain the number of rows.
    Why ?
    SELECT /*+ PARALLEL(LNK, 6) PARALLEL(ZKS1, 6) PARALLEL(ZKFA, 6) PARALLEL(POL,
    6) */
    rownum,
    POL.POL_REF,
    ZKFA.CLM_MAST_CODE_FAFANO,
    ZKFA.MAST_NUM_FAFANU,
    ZKFA.MAST_SEQ_FAFASE,
    ZKFA.CLM_MAST_REF_FAFAMR,
    ZKFA.CIM_CLM_NUM_FAFAFN,
    ZKFA.CLM_CM_MAST_STS_CODE_FAFAMS,
    ZKFA.CLM_TIT_FAFATL,
    ICIS.CLM_CCY_COD,
    ICIS.CLM_DTL,
    ICIS.VAL_TYP_COD,
    ICIS.CLM_VAL_AMT,
    ICIS.DCL_TYP,
    ZKFA.ADVI_TYPE_QUAL_FAFAAQ,
    ZKFA.ASS_NME_COD_FAFAIN,
    ZKFA.DATE_EVENT_FAFADE,
    ZKFA.CLM_LOSS_ANA2_CODE_FAFA2L,
    ZKFA.CLM_LOSS_ANA1_CODE_FAFA1L,
    ZKFA.CLAIM_MAST_ORIG,
    ZKFA.CLM_ADVI_DATE_FAFADA,
    ZKFA.BRK_NME_COD_FAFALB,
    ZKFA.LOSS_BRKR_REF1_FAFAB1,
    ZKFA.CLM_DATE_LAST_UPD_FAFADU,
    ZKFA.CLM_ASC_CUR_FAFASC,
    ZKFA.HND_NME_COD_FAFAHC,
    ZKFA.DEPT_COD_FAFADC,
    ZKFA.F6_VAL_LST_CODE_FAFAL6,
    ZKFA.F6_VAL_CODE_FAFAV6,
    ZKFA.LOSS_BRKR_REF2_FAFAB2,
    ZKFA.CLM_CLMT_NME_COD_FAFACC,
    ZKFA.DATE_LAST_MVMT_FAFALM,
    ZKFA.CLM_DATE_LOSS_FROM_FAFADL,
    ZKFA.CLM_DATE_LOSS_TO_FAFADT,
    ZKFA.DATE_LOSS_QUAL_FAFADQ,
    ZKFA.CLM_LVL2_CAT_COD_FAFA2C,
    ZKFA.CLM_LVL2_CAT_QUA_FAFA2Q,
    ZKFA.CLM_LVL1_CAT_COD_FAFA1C,
    ZKFA.CLM_LVL1_CAT_QUA_FAFA1Q,
    ZKFA.NXT_REW_DAT_FAFARN,
    ZKFA.F5_VAL_LST_CODE_FAFAL5,
    ZKFA.F5_VAL_CODE_FAFAV5,
    ZKFA.CLM_LOSS_ANA3_CODE_FAFA3L,
    ZKFA.F1_VAL_LST_CODE_FAFAL1,
    ZKFA.F1_VAL_CODE_FAFAV1,
    ZKFA.F2_VAL_LST_CODE_FAFAL2,
    ZKFA.F2_VAL_CODE_FAFAV2,
    ZKFA.F3_VAL_LST_CODE_FAFAL3,
    ZKFA.F3_VAL_CODE_FAFAV3,
    ZKFA.CLM_LOSS_ANA4_CODE_FAFA4L,
    ZKS1.USR_S1USER,
    ZKS1.ENT_DAT_S1DJD1,
    ZKS1.CLM_HIS_SEQ_S1S1SQ,
    ZKS1.CLM_HIS_LOG_EVE_S1S1FR,
    ZHAA.AREA_LEV_FLG_AAAIFG,
    ZHAA.AREA_CODE_AAAACD,
    ZHAA.AREA_LONG_NME_AAAADS,
    POL.PRD_COD,
    POL.BUS_PRF,
    POL.GEO_PRF,
    POL.BCH_COD,
    POL.MST_ORI,
    ZKLI.CLM_ADD_COD4_LIKC04,
    ZKLI.CLM_ADD_COD4_GRP_LIKG04,
    ZKLI.CLM_ADD_COD2_LIKC02,
    ZKLI.CLM_ADD_COD2_GRP_LIKG02,
    ZKLI.CLM_ADD_COD3_LIKC03,
    ZKLI.CLM_ADD_COD5_LIKC05,
    ZKFA.PROD_CODE_FAK701
    FROM
    crdowner.CLMS_ZKFA ZKFA,
    crdowner.LNK_CLM_GNS_ICI LNK,
    crdowner.CLM_DSC_ICI ICIS,
    crdowner.CLM_FNR_LOG_ZKS1 ZKS1,
    crdowner.AREA_CODE_ZHAA ZHAA,
    crdowner.DIM_POLICY POL,
    crdowner.CLM_ADD_DTL_ZKLI ZKLI
    WHERE
    RTRIM(ZKFA.CLM_MAST_REF_FAFAMR) = LNK.GNS_CLM_REF(+)
    AND LNK.CLM_TCH_ID =
    ICIS.CLM_TCH_ID(+)
    AND ZKFA.CLM_MAST_CODE_FAFANO =
    ZKS1.CLM_MST_COD_S1FANO(+)
    AND (ZKS1.CLM_HIS_SEQ_S1S1SQ = (
    SELECT max (CLM_HIS_SEQ_S1S1SQ)
    FROM crdowner.CLM_FNR_LOG_ZKS1
    ZKS1_2
    WHERE ZKS1_2.CLM_MST_COD_S1FANO = ZKS1.CLM_MST_COD_S1FANO
    GROUP BY ZKS1_2.CLM_MST_COD_S1FANO
    OR
    ZKS1.CLM_HIS_SEQ_S1S1SQ is NULL
    AND
    ZKFA.CLM_LOSS_AREA_CODE_FAFAAC = ZHAA.AREA_CODE_AAAACD(+)
    AND
    ZKFA.MAST_NUM_FAFANU = POL.MST_NUM
    AND ZKFA.MAST_SEQ_FAFASE =
    POL.MST_SEQ
    AND POL.LST_NDS_FLG = 1
    AND ZKFA.CLM_MAST_CODE_FAFANO =
    ZKLI.CLM_MST_COD_LIFANO(+)
    call count cpu elapsed disk query current rows
    Parse 12 0.00 0.00 0 0 0 0
    Execute 12 202.26 392.98 419288 133736 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 24 202.26 392.98 419288 133736 0 0
    Thanks

  • What is the best big data solution for interactive queries of rows with up?

    0 down vote favorite
    We have a simple table such as follows:
    | Name | Attribute1 | Attribute2 | Attribute3 | ... | Attribute200 |
    | Name1 | Value1 | Value2 | null | ... | Value3 |
    | Name2 | null | Value4 | null | ... | Value5 |
    | Name3 | Value6 | null | Value7 | ... | null |
    | ... |
    But there could be up to hundreds of millions of rows/names. The data will be populated every hour or so.
    The goal is to get results for interactive queries on the data within a couple of seconds.
    Most queries look like:
    select count(*) from table
    where Attribute1 = Value1 and Attribute3 = Value3 and Attribute113 = Value113;
    The where clause contains arbitrary number of attribute name-value pairs.
    I'm new in big data and wondering what the best option is in terms of data store (MySQL, HBase, Cassandra, etc) and processing engine (Hadoop, Drill, Storm, etc) for interactive queries like above.

    Hi,
    As always, the correct answer is "it depends".
    - Will there be more reads (queries) or writes (INSERTs)?
    - Will there be any UPDATEs?
    - Does the use case require any of the ACID guarantees, or would "eventual consistency" be fine?
    At first glance, Hadoop (HDFS + MapReduce) doesn't look like a viable option, since you require "interactive queries". Also, if you require any level of ACID guarantees or UPDATE capabilities the best (and arguably only) solution is a RDBMS. Also, keep in mind that Millions of rows is pocket change for modern RDBMSs on average hardware.
    On the other hand, if there'll be a lot more queries than inserts, VERY few or no updates at all, and eventual consistency will not be a problem, I'd probably recommend you to test a Key-Value store (such as Oracle NoSQL Database). The idea would be to use (AttributeX,ValueY) as the Key, and a Sorted List of Names that have ValueY for their AttributeX. This way you only do as many reads as attributes you have in the WHERE clause, and then compute the intersection (very easy and fast with sorted lists).
    Also, I'd do this computation manually. SQL may be comfortable, but I don't think It's Big Data ready yet (unless you chose the RDBMS way, of course).
    I hope it helped,
    Joan
    Edited by: JPuig on Apr 23, 2013 1:45 AM

  • Regarding parallel queries in ABAP same as in oracle 10g

    Hi,
       Is there any way we can write parallel queries in ABAP, in the same way we do in oracle 10g.Kindly see below;
    alter table emp parallel (degree 4);
    select degree from user_tables where table_name = 'EMP';
    select count(*) from emp;
    alter table emp noparallel;
    SELECT /*+ PARALLEL(emp,4) / COUNT()
    FROM emp;
    The idea here is to distribute the load of select query in multiple CPUs for load balancing & performance improvement.
    Kindly advise.
    Thanks:
    Gaurav

    Hi,
    >    Is there any way we can write parallel queries in ABAP, in the same way we do in oracle 10g.
    sure. Since it is just a hint...
    SELECT *
      FROM t100 INTO TABLE it100
      %_HINTS ORACLE 'PARALLEL(T100,4)'.
    will give you such an execution plan for example:
    SELECT STATEMENT ( Estimated Costs = 651 , Estimated #Rows = 924.308 )
           4 PX COORDINATOR
               3 PX SEND QC (RANDOM) :TQ10000
                 ( Estim. Costs = 651 , Estim. #Rows = 924.308 )
                 Estim. CPU-Costs = 33.377.789 Estim. IO-Costs = 646
                   2 PX BLOCK ITERATOR
                     ( Estim. Costs = 651 , Estim. #Rows = 924.308 )
                     Estim. CPU-Costs = 33.377.789 Estim. IO-Costs = 646
                       1 TABLE ACCESS FULL T100
                         ( Estim. Costs = 651 , Estim. #Rows = 924.308 )
                         Estim. CPU-Costs = 33.377.789 Estim. IO-Costs = 646
    PX = Parallel eXecution...
    But be sure that you know what you do with the parallel execution option... it is not scalable.... .
    Kind regards,
    Hermann

  • Capture @@ROWCOUNT for all QUERIES using SQL AUDIT

    I have a requirement where the customer wants to audit all SELECT queries made to a specific table  and also capture
    "No of rows returned" for these queries made to the table. I was able to capture various SELECT queries happening in the database /Table using SQL AUDIT, Wondering if anybody can suggest how to capture no of rows affected along
    with it, Since we have numerous stored procedures in the system we wont be able to modify existing stored procedures.

    Good day Vish_SQL,
    There are several options that you can use, which fit different cases. for example:
    1. Using extended events (My prefered solution for most cases like this)
    2. Using profiler (older option)
    3. Using view (with the same name as the table, and rename the tables related to the issue) instead of the original table, adding to the view a simple function or SP (CLR for example). the function return the
    column value, but behind the  screen write information to another table. It is a very rare case that you need this option, and I can't recommend
    it.
    4. using applications like GREENSQL which give another level between the application and the SQL Server. The users connect to the server but the server do not listen to remote connection but the external app dose.
    In this case the app get the query and send it t the server (after security or monitoring if you need)
    * it was much simpler if you want to monitor delete, update, or insert for example, since in those cases you could work with AFTER trigger.
    ** I highly recommend you to monitor the application that connect to the SQL Server rather than the SQL Server. if you can.
    Check this:
    http://solutioncenter.apexsql.com/auditing-select-statements-on-sql-server/
      Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

  • Error: Common entries are not permitted for plan queries and input queries

    Hi,
    I have a 2 selections in the column struct:
    1. year = 2005, version = actual
    2. year = 2006, version = plan, marked as data can be changed using user entry or planning function
    row has posting periods from 1-12
    in the workbook I have inserted this query in the workbook in analysis grid. it runs good.
    now i added a button and assigned planning function to it. this planning function copies 2005, actuals to 2006, plan.
    when i execute the workbook and hit this button, it gives me following error:
    "Common entries are not permitted for plan queries and input queries"
    please can anyone provide me assistance with this issue.
    thanks,
    sam

    when i go to diagnosis it displays following:
    Diagnosis
    InfoProvider ZIP_PLAN2 must be described in this application by both a plan query and by a input-ready query, which is directly defined on the InfoProvider ZIP_PLAN2.
    System Response
    This is not permitted.

  • Configuration of Cost threshold for Parallelism

    Hi all, 
    I want to adjust the 'Cost Threshold for Parallelism' on the SQL server running  OLTP databases.
    MSDN says that this is an estimate query duration - in seconds.
    Is this estimate available in a DMV? I want to look at my server's query workload & assess which queries I want to be considered for parallel processing and which ones I don't.
    Some potential candidates include:
    dm_exec_query_stats.max_elapsed_time / dm_exec_query_stats.execution_count
    I don't want to use this as this actual - where the setting is an estimate (on some arbitrary server).
    I thought it might be the Estimated Subtree Cost in the query plan? Though I've read this has nothing to do with an estimated number of seconds.
    Any assistance greatly appreciated.
    Cheers, Clay

    Thanks for the replies SQL24 and Ashwin - 
    I am looking at a server which is struggling to keep up with a substantial increase in volumes.
    My top 3 waits are:
    - CXPACKET @ 55%
    - LCK_M_IX @ 25%
    - SOS_SCHEDULER_YIELD @9% (25% signal waits)
    The production server has only 2 CPUs - the current MAXDOP and Cost Threshold for Parallelism are the default, 0 and 5. 
    Though 2 CPUs is a tiny amount of CPU - I'm hesitant to request more until I can prove CPU is struggling (my 
    In regards to "issues relating to parallelism" - my guess (I'm not a DBA) is
    that too many queries are being parallelised - I'm basing this guess on the high level of waits on CXPACKET, the fact that it is primarily managing small transactions (+ plus some manifesting/grouping of those transactions each afternoon)  & the
    fact that I currently only have 2 CPUs! 
    To my original question - MSDN states "The
    cost refers to an estimated elapsed time in seconds required to run the serial plan on a specific hardware configuration"
    http://technet.microsoft.com/en-us/library/ms188603(v=sql.105).aspx
    It is the 'specific hardware configuration' part of this description that renders all of the actual times (be it a max or average) that I can obtain from
    dm_exec_query_stats worthless.... for this purpose.
    My guess (again) was that it could be compared to the query plans estimated subtree cost - but before I attempted extraction of this info from query plans - I wanted to confirm.
    Thanks again.

  • Precision Changes when running parallel queries in Oracle?

    I am trying to speed up our SQL queries and database draws by running parallel queries. However, we are noticing a slight difference in one of our queries. We have identified two possible reasons. One of those reasons is parallel queries for some reason have either less or more precision than what we were doing.
    Has this ever been reported before? Is it even possible? Thanks for any help.

    One of those reasons is parallel queries for some reason have either less or more precision than what we were doing.What do you mean? Show us an example of that happening and exactly what you mean.

  • Cost threshold for parallelism

    I ran
    Jonathan Kehayias's query to inspect my plan cache for costs and counts (see below for query).  Some of the costs returned were less than 5.  My server is currently configured with the default settings for MAXDOP and the cost threshold for
    parallelism.  I thought the query was only reporting on queries where parallelization had occurred per the clause "WHERE  n.query('.').exist('//RelOp[@PhysicalOp="Parallelism"]') = 1".  Obviously I do not understand what
    the query is doing, should I expect to see results with a StatementSubTreeCost of less than 5?
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    WITH XMLNAMESPACES
    (DEFAULT 'http://schemas.microsoft.com/sqlserver/2004/07/showplan')
    SELECT
    query_plan AS CompleteQueryPlan,
    n.value('(@StatementText)[1]', 'VARCHAR(4000)') AS StatementText,
    n.value('(@StatementOptmLevel)[1]', 'VARCHAR(25)') AS StatementOptimizationLevel,
    n.value('(@StatementSubTreeCost)[1]', 'VARCHAR(128)') AS StatementSubTreeCost,
    n.query('.') AS ParallelSubTreeXML,
    ecp.usecounts,
    ecp.size_in_bytes
    FROM sys.dm_exec_cached_plans AS ecp
    CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS eqp
    CROSS APPLY query_plan.nodes('/ShowPlanXML/BatchSequence/Batch/Statements/StmtSimple') AS qn(n)
    WHERE n.query('.').exist('//RelOp[@PhysicalOp="Parallelism"]') = 1

    Looks like it returns the plans where Parallelism has been using... I suggest you reading that Jonathan's blog especially comments . As you know
    SQL Server creates and runs a parallel plan for a query only when the estimated cost to run a serial plan for the same query is higher than the value set in cost
    threshold for parallelism
    That means if the cost of the plan is more than  5 sec  , then a parallel query will be created. So of cause you should see the costs more than 5 sec  in the output.
    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

  • Parallel queries are failing in 8 node RAC DB

    While running queries with parallel hints , the queries are failing with
    ORA-12805 parallel query server died unexpectedly
    Upon checking the alert logs, I couldnt find any thing about ORA-12805, But the i find this error: Please help me to fix this problem
    Fatal NI connect error 12537, connecting to:
    (LOCAL=NO)
    VERSION INFORMATION:
    TNS for Linux: Version 11.1.0.7.0 - Production
    Oracle Bequeath NT Protocol Adapter for Linux: Version 11.1.0.7.0 - Production
    TCP/IP NT Protocol Adapter for Linux: Version 11.1.0.7.0 - Production
    Time: 15-MAY-2012 16:49:15
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12537
    TNS-12537: TNS:connection closed
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
    ORA-609 : opiodr aborting process unknown ospid (18807_47295439087424)
    Tue May 15 16:49:16 2012

    A couple of thoughts come immediately to mind:
    1. When I read ... "Tracing not turned on" ... I wonder to myself ... why not turn on tracing?
    2. When I read ... "Version 11.1.0.7.0" ... I wonder to myself ... why not apply all of the patches Oracle has created in the last 3 years and see if having a fully patched version addresses the issue?
    3. When I read ... "parallel query server died" ... I wonder whether you have gone to support.oracle.com and looked up the causes and solutions for Parallel Query Server dying?
    Of course I also wonder why you have an 8 node cluster as that is adding substantial complexity and which leads me to wonder ... "is it happening on only one node or all nodes?"
    Hope this helps.

  • Return type for count queries

    Hello,
    My entity manager executes a native query for a count(*) operation to get the row count from a table. But I am confused to see that while executing I get different datatypes such BigInteger, BigDecimal etc on different runs of the same query. Why is this so?
    What is the deciding factor for count queries data type??
    Please help....

    The whole point of a constructor is to create an object on the heap and return a reference to that memory block. In fact the call to the constructor will return a reference to the instantiated object. Thus there is no point in specifying a return type to a constructor.
    If you think about the way we call the constructor then it's obvious that it's not a regular method which goes inside an object.
    Hope this will do what you want :)

  • Data Driven Subscriptions Error - the query processor could not start the necessary thread resources for parallel query execution

    Hi,
    We are getting the following error when certain data driven subscriptions are fired off: "the query processor could not start the necessary thread resources for parallel query execution".  I've read other posts that have the same error, and
    the solution usually involves adjusting MaxDOP to limit the number of queries that are fired off in parallel.  
    Unfortunately, we cannot change this setting on our server for performance reasons (outside of data driven subscriptions, it negatively impacts our ETL processing times).  We tried putting query hints like "OPTION (MAXDOP 2);" in the reports
    that are causing the error, but it did not resolve the problem.
    Are there any settings within Reporting Services that can be adjusted to limit the number of subscriptions that get fired off in parallel?
    Any help is appreciated - thanks!

    Yes, that is correct.  It's a painful problem, because you don't know which specific subscription failed. For example, we have a data driven subscription that sends out about 800 emails. Lately, we've been having a handful of them fail. You don't know
    which ones out of the 800 failed though, even from the RS log files - all it tells you is that "the
    query processor could not start the necessary thread resources for parallel query execution".
    Thanks, I'll try changing <MaxQueueThreads> and will let you know if it works.
    On a side note: I've noticed that it is only reports with cascading parameters (ex. where parameter 2 is dependent on the selection from parameter 1) that get this error message...

  • Job fail with Timeout for parallel process (for SID Gener.): 006000

    Hello all,
    Im getting below error and not able to find any issue with Basis side. Please anyone help on this!
    Job started
    Data package has already been activated successfully (will be skipped)
    Process started
    Process started
    Process started
    Process started
    Process started
    Import from cluster of the data package to be activated () failed
    Process 000001 returned with errors
    Process 000002 returned with errors
    Process 000003 returned with errors
    Process 000004 returned with errors
    Background process BCTL_4XU7J1JPLOHYI3Y5RYKD420UL terminated due to missing confirmation
    Process 000006 returned with errors
    Data pkgs 000001; Added records 1-; Changed records 0; Deleted records 0
    Log for activation request ODSR_4XUG2LVXX3DH4L1WT3LUFN125 data package 000001...000001
    Errors occured when carrying out activation
    Analyze errors and activate again, if necessary
    Activation of M records from DataStore object CRACO20A terminated
    Activation is running: Data target CRACO20A, from 1,732,955 to 1,732,955
    Overlapping check with archived data areas for InfoProvider CRACO20A
    Data to be activated successfully checked against archiving objects
    Parallel processes (for Activation); 000005
    Timeout for parallel process (for Activation): 006000
    Package size (for Activation): 100000
    Task handling (for Activation): Backgr Process
    Server group (for Activation): No Server Group Configured
    Parallel processes (for SID Gener.); 000002
    Timeout for parallel process (for SID Gener.): 006000
    Package size (for SID Gener.): 100000
    Task handling (for SID Gener.): Backgr Process
    Server group (for SID Gener.): No Server Group Configured
    Activation started (process is running under user *****)
    Not all data fields were updated in mode "overwrite"
    Data package has already been activated successfully (will be skipped)
    Process started
    Process started
    Process started
    Process started
    Process started
    Import from cluster of the data package to be activated () failed
    Process 000001 returned with errors
    Process 000002 returned with errors
    Process 000003 returned with errors
    Process 000004 returned with errors
    Errors occured when carrying out activation
    Analyze errors and activate again, if necessary
    Activation of M records from DataStore object CRACO20A terminated
    Report RSODSACT1 ended with errors
    Job cancelled after system exception ERROR_MESSAGE

    Thanks for the link TSharma I will try that today.
    UPDATE:
    I ran a non-parallel Data Pump and just let it run overnight. This time it finished after 9 hours.  In this run I set the STATUS=300 parameter in the PARFILE which basically echos STATUS updates to standard out every 300 seconds (5 minutes).
    And as before after 2 hours it finished 99% of the export and just spit out WAITING status for the last 7 hours until it finished.  The remaining TABLES it exported (a few hundred) were all very small or ZERO rows.  There clearly is something going on that is not normal.  I've done this expdp before on clones of this database and it usually takes about 2-2.5 hours to finish.
    The database is about 415 Gigabytes in size.
    I will update what the TRACE finds and I'm also opening a case with MOS.

  • Plan hash value for two queries!

    Hi,
    DB : Oracle 11g (11.2.0.3.0)
    OS: RHEL 5
    I have two question:
    1. Can two queries have same plan hash value? I mean I have below two queries:
    SELECT /+ NO_MERGE */ MIN(payor.next_review_date)*
    * FROM payor*
    * WHERE payor.review_complete = 0*
    * AND payor.closing_date IS NULL*
    * AND payor.patient_key = 10;*
    and
    SELECT  MIN(payor.next_review_date)
    * FROM payor*
    * WHERE payor.review_complete = 0*
    * AND payor.closing_date IS NULL*
    * AND payor.patient_key = 10;*
    When I tried to review the execution plan for both queries, the plan hash value remain same. Does it mean that execution plan for both queries are same? If yes, then how Oracle understands or changes the execution plan based on hint. If no then what plan hash value represents?
    2. If the execution plan with hint and without hint is same except for a given query except no.of rows and bytes. Does it mean that query with less rows and bytes scanned is better?
    Thanks in advance
    -Onkar

    Hi,
    there are two different things. One is EXPLAIN PLAN, which is how the optimizer thinks the query will be executed. It contains some estimates of cost, cardinalities etc. There is also EXECUTION PLAN. It also contains all this information regarding the optimizer estimates, but on the top of that, it also contains information about actual I/O incurred, actual cardinalities, actual timings etc.
    So if a hint is changing optimizer estimates, but the plan stays the same, then impact on query's performance is zero.
    If the actual numbers are changing, this is probably also irrelevant to the hint (e.g. you can have less physical reads because more blocks are found in the buffer cache the second time you're running the query, or you less work because you don't have to parse the statement etc.).
    Actually, most of optimizer hints don't affect optimizer estimates; rather, they try to get the optimizer to use a certain access method or a certain join order etc. regardless of the cost. So you must be talking about such hints as cardinality, dynamic_sampling etc. If that's not the case -- please clarify, because this means that something wrong is going on here (e.g. an INDEX hint may work or it may fail to work, but if it fails, optimizer estimates shouldn't change).
    Best regards,
    Nikolay

Maybe you are looking for

  • I can no longer get music from my computer to my ipod

    This has been a problem since the update to ios7. How can I resolve this issue? I've tried resets, and I've tried unsyncing, resyncing and so forth. It always gets stuck on 'waiting for changes to be applied'. This is incredibly frustrating. I have b

  • Identity Services Engine 1.1.4: REPLICATION DISABLED

    Hey, guys. Has anyone accountered the problem, that replication between ISE nodes stops after an unpredictable timeframe ??? This is the result after one day: I have set up a distributed deployment of ISE nodes, seven in total, split up into two node

  • How to recover root password in S10 for Intel

    Please is Urgent! how to recover root password in S10 for Intel Thanks.

  • Scheduled Tasks -- Different Server posssible?

    I have the basic of a basic go daddy account and can't access the administrator page on my coldfusion. is there ANYWAY at all to use a scheduled task?

  • Runclient on win98

    I'm trying out the converter tutorial. I was able to successfully install and run j2ee, deploytool and ant on win98. Now I'm trying to run the application client. runclient -client ConverterApp.ear -name ConverterClient -textauth The login screen app