Union all for 3 tables on repository

Hello, could anybody help me to find best way for my case?
i have 3 physical tables - Objects, Facts and Calendar table.
On repository, i make this scheme:
OBJECTS left join FACTS right join DATES
I creating analysis based on pivot table, i need all Dates (from period) and all Objects, it must look like this:
_______| Month Day 1 | ... | Month Last Day |
object 1 | fact X______| ... | fact XX _______|
..._____|..._________| ... | ... ___________|
object N | fact Z_____ | ... | fact ZZ _______|
So, physical query must be like this:
all facts (with filter by choosen period)
UNION ALL
all dates (with filter by choosen period)
UNION ALL
all objects
I don't like to make 3 unions on analysis criteria, don't like to use one view on physical level.
How i can make this on repository?

yes, i found solution, really thanks to Nico :)
[Possibilities to densify the data|http://gerardnico.com/wiki/dat/obiee/densification]
You have two possibilities in OBIEE to densify the data :
by designing the repository : OBIEE - Densification with the fact-based fragmentation capabilities
or with the OBIEE logical Sql : OBIEE - Densification with the logical Sql

Similar Messages

  • Help required on UNION ALL for select query

    Hello all,
    The execution plan for an SQL is impacted when another SELECT is concatenated with a UNION ALL. The two SELECTS are very efficient when run separately (< 100 buffer gets), but when run together (using a UNION ALL), the execution plan changes (for the first SELECT) and the buffer gets jumps to over 45000!
    what customer says with the UNION ALL, Oracle instead of doing a Merge Scan (that allows the inner table to filter out the rows from the outer table), chooses to do a NL join. This results in a Unique Index scan for each one of the 15000 rows in the outer table, resulting in 46000 consistent gets.
    Can you please suggest customer why plan changes when they use UNION ALL &  also suggest better way of running query.
    Please refer to below explain plan .
    WITH THE UNIONS
    ===============
      1  SELECT  count(*)
      2     FROM SOC_LIST SOC
      3     WHERE
      4       ( EXISTS(  SELECT  1
      5               FROM    ELIGIBILITY_RELATION
      6               WHERE   SRC_CODE = 'SHDMM4215'
      7                    AND   DEST_CODE = SOC.SOC
      8                 AND   SRC_TYPE = 'P'
      9                 AND   DEST_TYPE = 'S'))
    10  UNION ALL
    11   SELECT count(*)
    12     FROM SOC_LIST SOC
    13*    WHERE        ( = 'Y')
    12:25:39 SQL> /
      COUNT(*)                                                                                                                                           
           153                                                                                                                                           
             0                                                                                                                                           
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=31 Card=2 Bytes=10)                                                                                
       1    0   UNION-ALL                                                                                                                                
       2    1     SORT (AGGREGATE)                                                                                                                       
       3    2       FILTER                                                                                                                               
       4    3         TABLE ACCESS (FULL) OF 'SOC_LIST' (Cost=15 Card=749                                                                                
              Bytes=7490)                                                                                                                                
       5    3         PARTITION HASH (SINGLE)                                                                                                            
       6    5           INDEX (UNIQUE SCAN) OF 'ELIGIBILITY_RELATION_PK' (                                                                               
              UNIQUE) (Cost=2 Card=1 Bytes=24)                                                                                                           
       7    1     SORT (AGGREGATE)                                                                                                                       
       8    7       FILTER                                                                                                                               
       9    8         TABLE ACCESS (FULL) OF 'SOC_LIST' (Cost=15 Card=1497                                                                               
              8)                                                                                                                                         
    Statistics
              0  recursive calls                                                                                                                         
              0  db block gets                                                                                                                           
          46712  consistent gets         <------large number                                                                                                                 
              0  physical reads                                                                                                                          
              0  redo size                                                                                                                               
            215  bytes sent via SQL*Net to client                                                                                                        
            241  bytes received via SQL*Net from client                                                                                                  
              2  SQL*Net roundtrips to/from client                                                                                                       
              0  sorts (memory)                                                                                                                          
              0  sorts (disk)                                                                                                                            
              2  rows processed                                                                                                                          
    12:25:40 SQL> ed
    Wrote file C:/PADDY/AFIEDT.BUF
    PART 1 of the UNION ALL
    ========================
      1  SELECT  count(*)
      2     FROM SOC_LIST SOC
      3     WHERE
      4       ( EXISTS(  SELECT  1
      5               FROM    ELIGIBILITY_RELATION
      6               WHERE   SRC_CODE = 'SHDMM4215'
      7                    AND   DEST_CODE = SOC.SOC
      8                 AND   SRC_TYPE = 'P'
      9*                AND   DEST_TYPE = 'S'))
    12:25:54 SQL> /
      COUNT(*)                                                                                                                                           
           153                                                                                                                                           
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=1 Bytes=34)                                                                                 
       1    0   SORT (AGGREGATE)                                                                                                                         
       2    1     MERGE JOIN (SEMI) (Cost=4 Card=149 Bytes=5066)                                                                                         
       3    2       INDEX (FULL SCAN) OF 'SOC_LIST_1IX' (NON-UNIQUE) (Cost                                                                               
              =41 Card=14978 Bytes=149780)                                                                                                               
       4    2       SORT (UNIQUE) (Cost=3 Card=149 Bytes=3576)                                                                                           
       5    4         PARTITION HASH (ALL)                                                                                                               
       6    5           INDEX (RANGE SCAN) OF 'ELIGIBILITY_RELATION_PK' (U                                                                               
              NIQUE) (Cost=10 Card=149 Bytes=3576)                                                                                                       
    Statistics
              0  recursive calls                                                                                                                         
              0  db block gets                                                                                                                           
             56  consistent gets                                                                                                                         
              0  physical reads                                                                                                                          
              0  redo size                                                                                                                               
            218  bytes sent via SQL*Net to client                                                                                                        
            241  bytes received via SQL*Net from client                                                                                                  
              2  SQL*Net roundtrips to/from client                                                                                                       
              1  sorts (memory)                                                                                                                          
              0  sorts (disk)                                                                                                                            
              1  rows processed                                                                                                                          
    12:25:55 SQL> ed
    Wrote file C:/PADDY/AFIEDT.BUF
    PART 2 of the UNION ALL
    ========================
      1   SELECT count(*)
      2     FROM SOC_LIST SOC
      3*    WHERE        ( = 'Y')
    12:26:15 SQL> /
      COUNT(*)                                                                                                                                           
             0                                                                                                                                           
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=15 Card=1)                                                                                         
       1    0   SORT (AGGREGATE)                                                                                                                         
       2    1     FILTER                                                                                                                                 
       3    2       TABLE ACCESS (FULL) OF 'SOC_LIST' (Cost=15 Card=14978)                                                                               
    Statistics
              0  recursive calls                                                                                                                         
              0  db block gets                                                                                                                           
              0  consistent gets                                                                                                                         
              0  physical reads                                                                                                                          
              0  redo size                                                                                                                               
            215  bytes sent via SQL*Net to client                                                                                                        
            241  bytes received via SQL*Net from client                                                                                                  
              2  SQL*Net roundtrips to/from client                                                                                                       
              0  sorts (memory)                                                                                                                          
              0  sorts (disk)                                                                                                                            
              1  rows processed                                                                                                                          
    12:26:20 SQL> spool off
    Same results but with theUNION ALL, the buffergets is massive ...
    Thanks
    Krishna

    i am also attaching 10043/10053 trace file .
    /opt/oracle/adm/STCUST/udump/stcust_ora_7919_10046_10053_trace_file.trc
    *** TRACE DUMP CONTINUED FROM FILE  ***
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.8.0 - Production
    ORACLE_HOME = /opt/oracle/product/9.2.0.8
    System name: HP-UX
    Node name: rcihp009
    Release: B.11.23
    Version: U
    Machine: 9000/800
    Instance name: STCUST
    Redo thread mounted by this instance: 1
    Oracle process number: 152
    Unix process pid: 7919, image: oracle@rcihp009 (TNS V1-V3)
    *** 2013-06-10 13:32:48.943
    *** SESSION ID:(533.15875) 2013-06-10 13:32:48.943
    APPNAME mod='SQL*Plus' mh=3669949024 act='' ah=4029777240
    =====================
    PARSING IN CURSOR #1 len=69 dep=0 uid=33 oct=42 lid=33 tim=3017585934213 hv=2004533713 ad='4aa33998'
    alter session set events '10046 trace name context forever, level 12'
    END OF STMT
    EXEC #1:c=0,e=209,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017585933683
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:33:00.090
    WAIT #1: nam='SQL*Net message from client' ela= 10884599 p1=1413697536 p2=1 p3=0
    =====================
    PARSING IN CURSOR #1 len=69 dep=0 uid=33 oct=42 lid=33 tim=3017596819944 hv=2030017677 ad='3af92970'
    alter session set events '10053 trace name context forever, level 1'
    END OF STMT
    PARSE #1:c=0,e=484,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017596819933
    BINDS #1:
    EXEC #1:c=0,e=160,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017596820180
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:33:50.197
    WAIT #1: nam='SQL*Net message from client' ela= 48932344 p1=1413697536 p2=1 p3=0
    PARAMETERS USED BY THE OPTIMIZER
    OPTIMIZER_FEATURES_ENABLE = 9.2.0
    OPTIMIZER_MODE/GOAL = Choose
    _OPTIMIZER_PERCENT_PARALLEL = 101
    HASH_AREA_SIZE = 131072
    HASH_JOIN_ENABLED = TRUE
    HASH_MULTIBLOCK_IO_COUNT = 0
    SORT_AREA_SIZE = 65536
    OPTIMIZER_SEARCH_LIMIT = 5
    PARTITION_VIEW_ENABLED = FALSE
    _ALWAYS_STAR_TRANSFORMATION = FALSE
    _B_TREE_BITMAP_PLANS = TRUE
    STAR_TRANSFORMATION_ENABLED = FALSE
    _COMPLEX_VIEW_MERGING = TRUE
    _PUSH_JOIN_PREDICATE = TRUE
    PARALLEL_BROADCAST_ENABLED = TRUE
    OPTIMIZER_MAX_PERMUTATIONS = 2000
    OPTIMIZER_INDEX_CACHING = 0
    _SYSTEM_INDEX_CACHING = 0
    OPTIMIZER_INDEX_COST_ADJ = 1
    OPTIMIZER_DYNAMIC_SAMPLING = 1
    _OPTIMIZER_DYN_SMP_BLKS = 32
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRITY = ENFORCED
    _INDEX_JOIN_ENABLED = TRUE
    _SORT_ELIMINATION_COST_RATIO = 0
    _OR_EXPAND_NVL_PREDICATE = TRUE
    _NEW_INITIAL_JOIN_ORDERS = TRUE
    ALWAYS_ANTI_JOIN = CHOOSE
    ALWAYS_SEMI_JOIN = CHOOSE
    _OPTIMIZER_MODE_FORCE = TRUE
    _OPTIMIZER_UNDO_CHANGES = FALSE
    _UNNEST_SUBQUERY = TRUE
    _PUSH_JOIN_UNION_VIEW = TRUE
    _FAST_FULL_SCAN_ENABLED = TRUE
    _OPTIM_ENHANCE_NNULL_DETECTION = TRUE
    _ORDERED_NESTED_LOOP = TRUE
    _NESTED_LOOP_FUDGE = 100
    _NO_OR_EXPANSION = FALSE
    _QUERY_COST_REWRITE = TRUE
    QUERY_REWRITE_EXPRESSION = TRUE
    _IMPROVED_ROW_LENGTH_ENABLED = TRUE
    _USE_NOSEGMENT_INDEXES = FALSE
    _ENABLE_TYPE_DEP_SELECTIVITY = TRUE
    _IMPROVED_OUTERJOIN_CARD = TRUE
    _OPTIMIZER_ADJUST_FOR_NULLS = TRUE
    _OPTIMIZER_CHOOSE_PERMUTATION = 0
    _USE_COLUMN_STATS_FOR_FUNCTION = TRUE
    _SUBQUERY_PRUNING_ENABLED = TRUE
    _SUBQUERY_PRUNING_REDUCTION_FACTOR = 50
    _SUBQUERY_PRUNING_COST_FACTOR = 20
    _LIKE_WITH_BIND_AS_EQUALITY = FALSE
    _TABLE_SCAN_COST_PLUS_ONE = TRUE
    _SORTMERGE_INEQUALITY_JOIN_OFF = FALSE
    _DEFAULT_NON_EQUALITY_SEL_CHECK = TRUE
    _ONESIDE_COLSTAT_FOR_EQUIJOINS = TRUE
    _OPTIMIZER_COST_MODEL = CHOOSE
    _GSETS_ALWAYS_USE_TEMPTABLES = FALSE
    DB_FILE_MULTIBLOCK_READ_COUNT = 128
    _NEW_SORT_COST_ESTIMATE = TRUE
    _GS_ANTI_SEMI_JOIN_ALLOWED = TRUE
    _CPU_TO_IO = 0
    _PRED_MOVE_AROUND = TRUE
    BASE STATISTICAL INFORMATION
    Table stats    Table: SOC_LIST   Alias: SOC
      TOTAL ::  CDN: 17584  NBLKS:  653  AVG_ROW_LEN:  260
    Column:        SOC  Col#: 3      Table: SOC_LIST   Alias: SOC
        NDV: 17584     NULLS: 0         DENS: 5.6870e-05
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    -- Index stats
      INDEX NAME: I_SNAP$_SOC_LIST  COL#: 1
        TOTAL ::  LVLS: 1   #LB: 64  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 699
      INDEX NAME: SOC_LIST_1IX  COL#: 3
        TOTAL ::  LVLS: 1   #LB: 47  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 14065
    Table stats    Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
      (Using composite stats)
      TOTAL ::  CDN: 11982220  NBLKS:  125493  AVG_ROW_LEN:  71
    -- Index stats
      INDEX NAME: ELIGIBILITY_RELATION_1IX  COL#: 3 4 5
        USING COMPOSITE STATS
        TOTAL ::  LVLS: 2   #LB: 38360  #DK: 4164  LB/K: 9  DB/K: 740  CLUF: 3081860
      INDEX NAME: ELIGIBILITY_RELATION_PK  COL#: 2 3 4 5
        USING COMPOSITE STATS
        TOTAL ::  LVLS: 2   #LB: 50740  #DK: 11873160  LB/K: 1  DB/K: 1  CLUF: 9158280
      INDEX NAME: I_SNAP$_ELIGIBILITY_RELATI  COL#: 1
        TOTAL ::  LVLS: 2   #LB: 49600  #DK: 11953600  LB/K: 1  DB/K: 1  CLUF: 8833300
    _OPTIMIZER_PERCENT_PARALLEL = 0
    SINGLE TABLE ACCESS PATH
    Column:   SRC_CODE  Col#: 2      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 22087     NULLS: 0         DENS: 4.5276e-05
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    Column:   SRC_TYPE  Col#: 3      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 2         NULLS: 0         DENS: 5.0000e-01
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    Column:  DEST_TYPE  Col#: 5      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 2         NULLS: 0         DENS: 5.0000e-01
        NO HISTOGRAM: #BKT: 1 #VAL: 2
      TABLE: ELIGIBILITY_RELATION     ORIG CDN: 11982220  ROUNDED CDN: 136  CMPTD CDN: 136
      Access path: tsc  Resc:  3072  Resp:  3072
      Access path: index (iff)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 1243
      IX_SEL:  0.0000e+00  TB_SEL:  1.0000e+00
      Access path: iff  Resc:  1243  Resp:  1243
      Skip scan: ss-sel 0  andv 11970 
        ss cost 119700
        index io scan cost 19180
      Access path: index (scan)
          Index: ELIGIBILITY_RELATION_1IX
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 789653
      IX_SEL:  5.0000e-01  TB_SEL:  2.5000e-01
      Skip scan: ss-sel 0  andv 11970 
        ss cost 11970
        index io scan cost 2
      Access path: index (index-only)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 10
      IX_SEL:  2.2638e-05  TB_SEL:  2.2638e-05
      ****** trying bitmap/domain indexes ******
      ****** finished trying bitmap/domain indexes ******
      BEST_CST: 1.00  PATH: 4  Degree:  1
    SINGLE TABLE ACCESS PATH
      TABLE: SOC_LIST     ORIG CDN: 17584  ROUNDED CDN: 17584  CMPTD CDN: 17584
      Access path: tsc  Resc:  18  Resp:  18
      Access path: index (iff)
          Index: SOC_LIST_1IX
      TABLE: SOC_LIST
          RSC_CPU: 0   RSC_IO: 3
      IX_SEL:  0.0000e+00  TB_SEL:  1.0000e+00
      Access path: iff  Resc:  3  Resp:  3
      Access path: index (no sta/stp keys)
          Index: SOC_LIST_1IX
      TABLE: SOC_LIST
          RSC_CPU: 0   RSC_IO: 48
      IX_SEL:  1.0000e+00  TB_SEL:  1.0000e+00
      BEST_CST: 1.00  PATH: 4  Degree:  1
    OPTIMIZER STATISTICS AND COMPUTATIONS
    GENERAL PLANS
    Join order[1]:  SOC_LIST[SOC]#0  ELIGIBILITY_RELATION[ELIGIBILITY_RELATION]#1
    Now joining: ELIGIBILITY_RELATION[ELIGIBILITY_RELATION]#1 *******
    NL Join
      Outer table: cost: 1  cdn: 17584  rcz: 10  resp:  1
      Inner table: ELIGIBILITY_RELATION
        Access path: tsc  Resc: 768
        Join:  Resc:  13504513  Resp:  13504513
      Access path: index (iff)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 1243
      IX_SEL:  0.0000e+00  TB_SEL:  1.0000e+00
      Inner table: ELIGIBILITY_RELATION
        Access path: iff  Resc: 311
        Join:  Resc:  5464229  Resp:  5464229
      Access path: index (unique)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 1
      IX_SEL:  8.3457e-08  TB_SEL:  8.3457e-08
        Join:  resc: 177  resp: 177
      Access path: index (join index)
          Index: ELIGIBILITY_RELATION_1IX
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 750
      IX_SEL:  0.0000e+00  TB_SEL:  2.0886e-05
        Join:  resc: 131881  resp: 131881
      Access path: index (eq-unique)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 1
      IX_SEL:  0.0000e+00  TB_SEL:  0.0000e+00
        Join:  resc: 177  resp: 177
      ****** trying bitmap/domain indexes ******
      Access path: index (join index)
          Index: ELIGIBILITY_RELATION_1IX
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 10
      IX_SEL:  1.4217e-05  TB_SEL:  2.0886e-05
        Join:  resc: 1759  resp: 1759
      Access path: index (index-only)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 4
      IX_SEL:  4.5276e-05  TB_SEL:  4.5276e-05
        Join:  resc: 704  resp: 704
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:        2 Row size:           21 Rows:        543
          Initial runs:          1 Merge passes:        1 IO Cost / pass:          3
          Total IO sort cost: 2
          Total CPU sort cost: 0
          Total Temp space used: 0
      ****** finished trying bitmap/domain indexes ******
      Best NL cost: 177  resp: 177
    Semi-join cardinality:  135 = outer (17584) * sel (7.6774e-03) [flag=12]
    SM Join
      Outer table:
        resc: 1  cdn: 17584  rcz: 10  deg: 1  resp: 1
      Inner table: ELIGIBILITY_RELATION
        resc: 1  cdn: 136  rcz: 24  deg:  1  resp: 1
        using join:1 distribution:2 #groups:1
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:        1 Row size:           37 Rows:        136
          Initial runs:          1 Merge passes:        1 IO Cost / pass:          2
          Total IO sort cost: 2
          Total CPU sort cost: 0
          Total Temp space used: 0
      Merge join  Cost:  4  Resp:  4
    HA Join
      Outer table:
        resc: 1  cdn: 17584  rcz: 10  deg: 1  resp: 1
      Inner table: ELIGIBILITY_RELATION
        resc: 1  cdn: 136  rcz: 24  deg:  1  resp: 1
        using join:8 distribution:2 #groups:1
      Hash join one ptn Resc: 4   Deg: 1
          hash_area:  154 (max=7680)  buildfrag:  48                probefrag:   1 ppasses:    1
      Hash join   Resc: 6   Resp: 6
    Join result: cost: 4  cdn: 135  rcz: 34
    Best so far: TABLE#: 0  CST:          1  CDN:      17584  BYTES:     175840
    Best so far: TABLE#: 1  CST:          4  CDN:        135  BYTES:       4590
    Join order[2]:  ELIGIBILITY_RELATION[ELIGIBILITY_RELATION]#1  SOC_LIST[SOC]#0
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:        1 Row size:           37 Rows:        136
          Initial runs:          1 Merge passes:        1 IO Cost / pass:          2
          Total IO sort cost: 2
          Total CPU sort cost: 0
          Total Temp space used: 0
    Now joining: SOC_LIST[SOC]#0 *******
    NL Join
      Outer table: cost: 3  cdn: 136  rcz: 24  resp:  2
      Inner table: SOC_LIST
        Access path: tsc  Resc: 18
        Join:  Resc:  2450  Resp:  2450
      Access path: index (iff)
          Index: SOC_LIST_1IX
      TABLE: SOC_LIST
          RSC_CPU: 0   RSC_IO: 3
      IX_SEL:  0.0000e+00  TB_SEL:  1.0000e+00
      Inner table: SOC_LIST
        Access path: iff  Resc: 3
        Join:  Resc:  410  Resp:  410
      Access path: index (join index)
          Index: SOC_LIST_1IX
      TABLE: SOC_LIST
          RSC_CPU: 0   RSC_IO: 1
      IX_SEL:  0.0000e+00  TB_SEL:  5.6870e-05
        Join:  resc: 4  resp: 4
      Best NL cost: 4  resp: 4
    Join cardinality:  136 = outer (136) * inner (17584) * sel (5.6870e-05)  [flag=0]
    SM Join
      Outer table:
        resc: 2  cdn: 136  rcz: 24  deg: 1  resp: 2
      Inner table: SOC_LIST
        resc: 1  cdn: 17584  rcz: 10  deg:  1  resp: 1
        using join:1 distribution:2 #groups:1
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:        1 Row size:           37 Rows:        136
          Initial runs:          1 Merge passes:        1 IO Cost / pass:          2
          Total IO sort cost: 2
          Total CPU sort cost: 0
          Total Temp space used: 0
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:       46 Row size:           21 Rows:      17584
          Initial runs:          1 Merge passes:        1 IO Cost / pass:         51
          Total IO sort cost: 48
          Total CPU sort cost: 0
          Total Temp space used: 0
      Merge join  Cost:  54  Resp:  54
    HA Join
      Outer table:
        resc: 2  cdn: 136  rcz: 24  deg: 1  resp: 2
      Inner table: SOC_LIST
        resc: 1  cdn: 17584  rcz: 10  deg:  1  resp: 1
        using join:8 distribution:2 #groups:1
      Hash join one ptn Resc: 1   Deg: 1
          hash_area:  154 (max=7680)  buildfrag:  1                probefrag:   48 ppasses:    1
      Hash join   Resc: 4   Resp: 4
    Final - All Rows Plan:
      JOIN ORDER: 1
      CST: 4  CDN: 135  RSC: 4  RSP: 4  BYTES: 4590
      IO-RSC: 4  IO-RSP: 4  CPU-RSC: 0  CPU-RSP: 0
    QUERY
    SELECT   count(*)
       FROM SOC_LIST SOC
       WHERE
         ( EXISTS(  SELECT  1
                 FROM    ELIGIBILITY_RELATION
                 WHERE   SRC_CODE = 'SHDMM4215'
                      AND   DEST_CODE = SOC.SOC
                   AND   SRC_TYPE = 'P'
                   AND   DEST_TYPE = 'S'))
    =====================
    PARSING IN CURSOR #1 len=278 dep=0 uid=33 oct=3 lid=33 tim=3017645761269 hv=183981413 ad='492d5bb0'
    SELECT   count(*)
       FROM SOC_LIST SOC
       WHERE
         ( EXISTS(  SELECT  1
                 FROM    ELIGIBILITY_RELATION
                 WHERE   SRC_CODE = 'SHDMM4215'
                      AND   DEST_CODE = SOC.SOC
                   AND   SRC_TYPE = 'P'
                   AND   DEST_TYPE = 'S'))
    END OF STMT
    PARSE #1:c=10000,e=8343,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017645761258
    BINDS #1:
    EXEC #1:c=0,e=529,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017645761970
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='db file sequential read' ela= 9290 p1=2535 p2=142378 p3=1
    WAIT #1: nam='db file sequential read' ela= 2098 p1=2535 p2=142379 p3=1
    WAIT #1: nam='db file sequential read' ela= 11574 p1=2535 p2=33834 p3=1
    WAIT #1: nam='db file sequential read' ela= 10290 p1=2536 p2=60958 p3=1
    WAIT #1: nam='db file sequential read' ela= 11469 p1=2535 p2=61232 p3=1
    WAIT #1: nam='db file sequential read' ela= 378 p1=2535 p2=61233 p3=1
    WAIT #1: nam='db file sequential read' ela= 5493 p1=2535 p2=39498 p3=1
    WAIT #1: nam='db file sequential read' ela= 7397 p1=2536 p2=68185 p3=1
    WAIT #1: nam='db file sequential read' ela= 10037 p1=2536 p2=68520 p3=1
    WAIT #1: nam='db file sequential read' ela= 16125 p1=2535 p2=68809 p3=1
    WAIT #1: nam='db file sequential read' ela= 12426 p1=2535 p2=45162 p3=1
    WAIT #1: nam='db file sequential read' ela= 12447 p1=2535 p2=178335 p3=1
    WAIT #1: nam='db file sequential read' ela= 5974 p1=2535 p2=178798 p3=1
    WAIT #1: nam='db file sequential read' ela= 1247 p1=2535 p2=178799 p3=1
    WAIT #1: nam='db file sequential read' ela= 11010 p1=2535 p2=50826 p3=1
    WAIT #1: nam='db file sequential read' ela= 5421 p1=2536 p2=260451 p3=1
    WAIT #1: nam='db file sequential read' ela= 8230 p1=2536 p2=261538 p3=1
    WAIT #1: nam='db file sequential read' ela= 350 p1=2535 p2=142380 p3=1
    WAIT #1: nam='db file sequential read' ela= 346 p1=2535 p2=142381 p3=1
    WAIT #1: nam='db file sequential read' ela= 343 p1=2535 p2=142382 p3=1
    WAIT #1: nam='db file sequential read' ela= 480 p1=2535 p2=142383 p3=1
    WAIT #1: nam='db file sequential read' ela= 10237 p1=2535 p2=142384 p3=1
    WAIT #1: nam='db file sequential read' ela= 324 p1=2535 p2=142385 p3=1
    WAIT #1: nam='db file sequential read' ela= 359 p1=2535 p2=142386 p3=1
    WAIT #1: nam='db file sequential read' ela= 361 p1=2535 p2=142387 p3=1
    WAIT #1: nam='db file sequential read' ela= 375 p1=2535 p2=142388 p3=1
    WAIT #1: nam='db file sequential read' ela= 425 p1=2535 p2=142389 p3=1
    WAIT #1: nam='db file sequential read' ela= 540 p1=2535 p2=142390 p3=1
    WAIT #1: nam='db file sequential read' ela= 368 p1=2535 p2=142391 p3=1
    WAIT #1: nam='db file sequential read' ela= 479 p1=2535 p2=142392 p3=1
    WAIT #1: nam='db file sequential read' ela= 450 p1=2535 p2=142393 p3=1
    WAIT #1: nam='db file sequential read' ela= 307 p1=2535 p2=142394 p3=1
    WAIT #1: nam='db file sequential read' ela= 324 p1=2535 p2=142395 p3=1
    WAIT #1: nam='db file sequential read' ela= 396 p1=2535 p2=142396 p3=1
    WAIT #1: nam='db file sequential read' ela= 376 p1=2535 p2=142397 p3=1
    WAIT #1: nam='db file sequential read' ela= 295 p1=2535 p2=142398 p3=1
    WAIT #1: nam='db file sequential read' ela= 391 p1=2535 p2=142399 p3=1
    WAIT #1: nam='db file sequential read' ela= 396 p1=2535 p2=142400 p3=1
    WAIT #1: nam='db file sequential read' ela= 344 p1=2535 p2=142401 p3=1
    WAIT #1: nam='db file sequential read' ela= 337 p1=2535 p2=142402 p3=1
    WAIT #1: nam='db file sequential read' ela= 360 p1=2535 p2=142403 p3=1
    WAIT #1: nam='db file sequential read' ela= 402 p1=2535 p2=142404 p3=1
    WAIT #1: nam='db file sequential read' ela= 343 p1=2535 p2=142405 p3=1
    WAIT #1: nam='db file sequential read' ela= 408 p1=2535 p2=142406 p3=1
    WAIT #1: nam='db file sequential read' ela= 388 p1=2535 p2=142407 p3=1
    WAIT #1: nam='db file sequential read' ela= 400 p1=2535 p2=142408 p3=1
    WAIT #1: nam='db file sequential read' ela= 7999 p1=2536 p2=617 p3=1
    WAIT #1: nam='db file sequential read' ela= 520 p1=2536 p2=618 p3=1
    WAIT #1: nam='db file sequential read' ela= 294 p1=2536 p2=619 p3=1
    WAIT #1: nam='db file sequential read' ela= 311 p1=2536 p2=620 p3=1
    WAIT #1: nam='db file sequential read' ela= 316 p1=2536 p2=621 p3=1
    WAIT #1: nam='db file sequential read' ela= 306 p1=2536 p2=622 p3=1
    WAIT #1: nam='db file sequential read' ela= 303 p1=2536 p2=623 p3=1
    WAIT #1: nam='db file sequential read' ela= 1776 p1=2536 p2=624 p3=1
    FETCH #1:c=50000,e=216800,p=54,cr=54,cu=0,mis=0,r=1,dep=0,og=4,tim=3017645978865
    WAIT #1: nam='SQL*Net message from client' ela= 2802 p1=1413697536 p2=1 p3=0
    FETCH #1:c=0,e=1,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=3017645981803
    WAIT #1: nam='SQL*Net message to client' ela= 1 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:34:28.160
    WAIT #1: nam='SQL*Net message from client' ela= 36844121 p1=1413697536 p2=1 p3=0
    STAT #1 id=1 cnt=1 pid=0 pos=1 obj=0 op='SORT AGGREGATE (cr=54 r=54 w=0 time=216788 us)'
    STAT #1 id=2 cnt=157 pid=1 pos=1 obj=0 op='MERGE JOIN SEMI (cr=54 r=54 w=0 time=216734 us)'
    STAT #1 id=3 cnt=14296 pid=2 pos=1 obj=5769123 op='INDEX FULL SCAN SOC_LIST_1IX (cr=39 r=39 w=0 time=55399 us)'
    STAT #1 id=4 cnt=157 pid=2 pos=2 obj=0 op='SORT UNIQUE (cr=15 r=15 w=0 time=141933 us)'
    STAT #1 id=5 cnt=286 pid=4 pos=1 obj=0 op='PARTITION HASH ALL PARTITION: 1 4 (cr=15 r=15 w=0 time=130847 us)'
    STAT #1 id=6 cnt=286 pid=5 pos=1 obj=5401812 op='INDEX RANGE SCAN ELIGIBILITY_RELATION_PK PARTITION: 1 4 (cr=15 r=15 w=0 time=130716 us)'
    QUERY
    BEGIN := 'N'; END;
    =====================
    PARSING IN CURSOR #1 len=23 dep=0 uid=33 oct=47 lid=33 tim=3017682828223 hv=16287806 ad='464edb18'
    BEGIN := 'N'; END;
    END OF STMT
    PARSE #1:c=0,e=1569,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=0,tim=3017682828214
    BINDS #1:
    bind 0: dty=96 mxl=01(01) mal=00 scl=00 pre=00 oacflg=03 oacfl2=200071100000000 size=8 offset=0
       bfp=800003ffefe9f748 bln=01 avl=00 flg=05
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    EXEC #1:c=0,e=5494,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=4,tim=3017682833795
    *** 2013-06-10 13:34:44.174
    WAIT #1: nam='SQL*Net message from client' ela= 15630899 p1=1413697536 p2=1 p3=0
    QUERY
    SELECT count(*)
       FROM SOC_LIST SOC
       WHERE        ( = 'Y')
    =====================
    PARSING IN CURSOR #1 len=65 dep=0 uid=33 oct=3 lid=33 tim=3017698466665 hv=900106749 ad='43145458'
    SELECT count(*)
       FROM SOC_LIST SOC
       WHERE        ( = 'Y')
    END OF STMT
    PARSE #1:c=0,e=1409,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=0,tim=3017698466654
    PARAMETERS USED BY THE OPTIMIZER
    OPTIMIZER_FEATURES_ENABLE = 9.2.0
    OPTIMIZER_MODE/GOAL = Choose
    _OPTIMIZER_PERCENT_PARALLEL = 101
    HASH_AREA_SIZE = 131072
    HASH_JOIN_ENABLED = TRUE
    HASH_MULTIBLOCK_IO_COUNT = 0
    SORT_AREA_SIZE = 65536
    OPTIMIZER_SEARCH_LIMIT = 5
    PARTITION_VIEW_ENABLED = FALSE
    _ALWAYS_STAR_TRANSFORMATION = FALSE
    _B_TREE_BITMAP_PLANS = TRUE
    STAR_TRANSFORMATION_ENABLED = FALSE
    _COMPLEX_VIEW_MERGING = TRUE
    _PUSH_JOIN_PREDICATE = TRUE
    PARALLEL_BROADCAST_ENABLED = TRUE
    OPTIMIZER_MAX_PERMUTATIONS = 2000
    OPTIMIZER_INDEX_CACHING = 0
    _SYSTEM_INDEX_CACHING = 0
    OPTIMIZER_INDEX_COST_ADJ = 1
    OPTIMIZER_DYNAMIC_SAMPLING = 1
    _OPTIMIZER_DYN_SMP_BLKS = 32
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRITY = ENFORCED
    _INDEX_JOIN_ENABLED = TRUE
    _SORT_ELIMINATION_COST_RATIO = 0
    _OR_EXPAND_NVL_PREDICATE = TRUE
    _NEW_INITIAL_JOIN_ORDERS = TRUE
    ALWAYS_ANTI_JOIN = CHOOSE
    ALWAYS_SEMI_JOIN = CHOOSE
    _OPTIMIZER_MODE_FORCE = TRUE
    _OPTIMIZER_UNDO_CHANGES = FALSE
    _UNNEST_SUBQUERY = TRUE
    _PUSH_JOIN_UNION_VIEW = TRUE
    _FAST_FULL_SCAN_ENABLED = TRUE
    _OPTIM_ENHANCE_NNULL_DETECTION = TRUE
    _ORDERED_NESTED_LOOP = TRUE
    _NESTED_LOOP_FUDGE = 100
    _NO_OR_EXPANSION = FALSE
    _QUERY_COST_REWRITE = TRUE
    QUERY_REWRITE_EXPRESSION = TRUE
    _IMPROVED_ROW_LENGTH_ENABLED = TRUE
    _USE_NOSEGMENT_INDEXES = FALSE
    _ENABLE_TYPE_DEP_SELECTIVITY = TRUE
    _IMPROVED_OUTERJOIN_CARD = TRUE
    _OPTIMIZER_ADJUST_FOR_NULLS = TRUE
    _OPTIMIZER_CHOOSE_PERMUTATION = 0
    _USE_COLUMN_STATS_FOR_FUNCTION = TRUE
    _SUBQUERY_PRUNING_ENABLED = TRUE
    _SUBQUERY_PRUNING_REDUCTION_FACTOR = 50
    _SUBQUERY_PRUNING_COST_FACTOR = 20
    _LIKE_WITH_BIND_AS_EQUALITY = FALSE
    _TABLE_SCAN_COST_PLUS_ONE = TRUE
    _SORTMERGE_INEQUALITY_JOIN_OFF = FALSE
    _DEFAULT_NON_EQUALITY_SEL_CHECK = TRUE
    _ONESIDE_COLSTAT_FOR_EQUIJOINS = TRUE
    _OPTIMIZER_COST_MODEL = CHOOSE
    _GSETS_ALWAYS_USE_TEMPTABLES = FALSE
    DB_FILE_MULTIBLOCK_READ_COUNT = 128
    _NEW_SORT_COST_ESTIMATE = TRUE
    _GS_ANTI_SEMI_JOIN_ALLOWED = TRUE
    _CPU_TO_IO = 0
    _PRED_MOVE_AROUND = TRUE
    BASE STATISTICAL INFORMATION
    Table stats    Table: SOC_LIST   Alias: SOC
      TOTAL ::  CDN: 17584  NBLKS:  653  AVG_ROW_LEN:  260
    -- Index stats
      INDEX NAME: I_SNAP$_SOC_LIST  COL#: 1
        TOTAL ::  LVLS: 1   #LB: 64  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 699
      INDEX NAME: SOC_LIST_1IX  COL#: 3
        TOTAL ::  LVLS: 1   #LB: 47  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 14065
    _OPTIMIZER_PERCENT_PARALLEL = 0
    SINGLE TABLE ACCESS PATH
      TABLE: SOC_LIST     ORIG CDN: 17584  ROUNDED CDN: 17584  CMPTD CDN: 17584
      Access path: tsc  Resc:  18  Resp:  18
      ****** trying bitmap/domain indexes ******
      ****** finished trying bitmap/domain indexes ******
      BEST_CST: 18.00  PATH: 2  Degree:  1
    OPTIMIZER STATISTICS AND COMPUTATIONS
    GENERAL PLANS
    Join order[1]:  SOC_LIST[SOC]#0
    Best so far: TABLE#: 0  CST:         18  CDN:      17584  BYTES:          0
    Final - All Rows Plan:
      JOIN ORDER: 1
      CST: 18  CDN: 17584  RSC: 18  RSP: 18  BYTES: 0
      IO-RSC: 18  IO-RSP: 18  CPU-RSC: 0  CPU-RSP: 0
    BINDS #1:
    bind 0: dty=96 mxl=32(01) mal=00 scl=00 pre=00 oacflg=03 oacfl2=0 size=32 offset=0
       bfp=800003ffefea9490 bln=32 avl=01 flg=05
       value="N"
    EXEC #1:c=0,e=152,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017698469481
    WAIT #1: nam='SQL*Net message to client' ela= 4 p1=1413697536 p2=1 p3=0
    FETCH #1:c=10000,e=1506,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=4,tim=3017698471536
    WAIT #1: nam='SQL*Net message from client' ela= 2607 p1=1413697536 p2=1 p3=0
    FETCH #1:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=3017698474268
    WAIT #1: nam='SQL*Net message to client' ela= 1 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:35:07.656
    WAIT #1: nam='SQL*Net message from client' ela= 22922584 p1=1413697536 p2=1 p3=0
    STAT #1 id=1 cnt=1 pid=0 pos=1 obj=0 op='SORT AGGREGATE (cr=0 r=0 w=0 time=93 us)'
    STAT #1 id=2 cnt=0 pid=1 pos=1 obj=0 op='FILTER  (cr=0 r=0 w=0 time=29 us)'
    STAT #1 id=3 cnt=0 pid=2 pos=1 obj=5769120 op='TABLE ACCESS FULL SOC_LIST '
    =====================
    PARSE ERROR #1:len=369 dep=0 uid=33 oct=0 lid=33 tim=3017721397730 err=900
    exec := 'N'
    SELEC ...
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2403 p1=1413697536 p2=0 p3=0
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:35:24.017
    WAIT #1: nam='SQL*Net message from client' ela= 15973854 p1=1413697536 p2=1 p3=0
    QUERY
    SELECT  count(*)
       FROM SOC_LIST SOC
       WHERE
         ( EXISTS(  SELECT  1
                 FROM    ELIGIBILITY_RELATION
                 WHERE   SRC_CODE = 'SHDMM4215'
                      AND   DEST_CODE = SOC.SOC
                   AND   SRC_TYPE = 'P'
                   AND   DEST_TYPE = 'S'))
    UNION ALL
    SELECT count(*)
       FROM SOC_LIST SOC
       WHERE        ( = 'Y')
    =====================
    PARSING IN CURSOR #1 len=353 dep=0 uid=33 oct=3 lid=33 tim=3017737377655 hv=4202798596 ad='45639568'
    SELECT  count(*)
       FROM SOC_LIST SOC
       WHERE
         ( EXISTS(  SELECT  1
                 FROM    ELIGIBILITY_RELATION
                 WHERE   SRC_CODE = 'SHDMM4215'
                      AND   DEST_CODE = SOC.SOC
                   AND   SRC_TYPE = 'P'
                   AND   DEST_TYPE = 'S'))
    UNION ALL
    SELECT count(*)
       FROM SOC_LIST SOC
       WHERE        ( = 'Y')
    END OF STMT
    PARSE #1:c=0,e=2624,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=0,tim=3017737377644
    PARAMETERS USED BY THE OPTIMIZER
    OPTIMIZER_FEATURES_ENABLE = 9.2.0
    OPTIMIZER_MODE/GOAL = Choose
    _OPTIMIZER_PERCENT_PARALLEL = 101
    HASH_AREA_SIZE = 131072
    HASH_JOIN_ENABLED = TRUE
    HASH_MULTIBLOCK_IO_COUNT = 0
    SORT_AREA_SIZE = 65536
    OPTIMIZER_SEARCH_LIMIT = 5
    PARTITION_VIEW_ENABLED = FALSE
    _ALWAYS_STAR_TRANSFORMATION = FALSE
    _B_TREE_BITMAP_PLANS = TRUE
    STAR_TRANSFORMATION_ENABLED = FALSE
    _COMPLEX_VIEW_MERGING = TRUE
    _PUSH_JOIN_PREDICATE = TRUE
    PARALLEL_BROADCAST_ENABLED = TRUE
    OPTIMIZER_MAX_PERMUTATIONS = 2000
    OPTIMIZER_INDEX_CACHING = 0
    _SYSTEM_INDEX_CACHING = 0
    OPTIMIZER_INDEX_COST_ADJ = 1
    OPTIMIZER_DYNAMIC_SAMPLING = 1
    _OPTIMIZER_DYN_SMP_BLKS = 32
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRITY = ENFORCED
    _INDEX_JOIN_ENABLED = TRUE
    _SORT_ELIMINATION_COST_RATIO = 0
    _OR_EXPAND_NVL_PREDICATE = TRUE
    _NEW_INITIAL_JOIN_ORDERS = TRUE
    ALWAYS_ANTI_JOIN = CHOOSE
    ALWAYS_SEMI_JOIN = CHOOSE
    _OPTIMIZER_MODE_FORCE = TRUE
    _OPTIMIZER_UNDO_CHANGES = FALSE
    _UNNEST_SUBQUERY = TRUE
    _PUSH_JOIN_UNION_VIEW = TRUE
    _FAST_FULL_SCAN_ENABLED = TRUE
    _OPTIM_ENHANCE_NNULL_DETECTION = TRUE
    _ORDERED_NESTED_LOOP = TRUE
    _NESTED_LOOP_FUDGE = 100
    _NO_OR_EXPANSION = FALSE
    _QUERY_COST_REWRITE = TRUE
    QUERY_REWRITE_EXPRESSION = TRUE
    _IMPROVED_ROW_LENGTH_ENABLED = TRUE
    _USE_NOSEGMENT_INDEXES = FALSE
    _ENABLE_TYPE_DEP_SELECTIVITY = TRUE
    _IMPROVED_OUTERJOIN_CARD = TRUE
    _OPTIMIZER_ADJUST_FOR_NULLS = TRUE
    _OPTIMIZER_CHOOSE_PERMUTATION = 0
    _USE_COLUMN_STATS_FOR_FUNCTION = TRUE
    _SUBQUERY_PRUNING_ENABLED = TRUE
    _SUBQUERY_PRUNING_REDUCTION_FACTOR = 50
    _SUBQUERY_PRUNING_COST_FACTOR = 20
    _LIKE_WITH_BIND_AS_EQUALITY = FALSE
    _TABLE_SCAN_COST_PLUS_ONE = TRUE
    _SORTMERGE_INEQUALITY_JOIN_OFF = FALSE
    _DEFAULT_NON_EQUALITY_SEL_CHECK = TRUE
    _ONESIDE_COLSTAT_FOR_EQUIJOINS = TRUE
    _OPTIMIZER_COST_MODEL = CHOOSE
    _GSETS_ALWAYS_USE_TEMPTABLES = FALSE
    DB_FILE_MULTIBLOCK_READ_COUNT = 128
    _NEW_SORT_COST_ESTIMATE = TRUE
    _GS_ANTI_SEMI_JOIN_ALLOWED = TRUE
    _CPU_TO_IO = 0
    _PRED_MOVE_AROUND = TRUE
    BASE STATISTICAL INFORMATION
    Table stats    Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
      (Using composite stats)
      (adjusted for partition skews)
      ORIG STATS::  CDN: 11982220  NBLKS:  125493  AVG_ROW_LEN:  71
      PARTCNT::
      PRUNED: 4  ANALYZED: 4  UNANALYZED: 0
      TOTAL ::  CDN: 11982220  NBLKS:  125493  AVG_ROW_LEN:  71
    -- Index stats
      INDEX NAME: ELIGIBILITY_RELATION_1IX  COL#: 3 4 5
        USING COMPOSITE STATS
        TOTAL ::  LVLS: 2   #LB: 38360  #DK: 4164  LB/K: 9  DB/K: 740  CLUF: 3081860
      INDEX NAME: ELIGIBILITY_RELATION_PK  COL#: 2 3 4 5
        USING COMPOSITE STATS
        TOTAL ::  LVLS: 2   #LB: 50740  #DK: 11873160  LB/K: 1  DB/K: 1  CLUF: 9158280
      INDEX NAME: I_SNAP$_ELIGIBILITY_RELATI  COL#: 1
        TOTAL ::  LVLS: 2   #LB: 49600  #DK: 11953600  LB/K: 1  DB/K: 1  CLUF: 8833300
    _OPTIMIZER_PERCENT_PARALLEL = 0
    SINGLE TABLE ACCESS PATH
    Column:   SRC_CODE  Col#: 2      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 22087     NULLS: 0         DENS: 4.5276e-05
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    Column:  DEST_CODE  Col#: 4      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 11970     NULLS: 0         DENS: 8.3542e-05
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    Column:   SRC_TYPE  Col#: 3      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 2         NULLS: 0         DENS: 5.0000e-01
        NO HISTOGRAM: #BKT: 1 #VAL: 2
    Column:  DEST_TYPE  Col#: 5      Table: ELIGIBILITY_RELATION   Alias: ELIGIBILITY_RELATION
        NDV: 2         NULLS: 0         DENS: 5.0000e-01
        NO HISTOGRAM: #BKT: 1 #VAL: 2
      TABLE: ELIGIBILITY_RELATION     ORIG CDN: 11982220  ROUNDED CDN: 1  CMPTD CDN: 0
      Access path: tsc  Resc:  3072  Resp:  3072
      Access path: index (iff)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 1243
      IX_SEL:  0.0000e+00  TB_SEL:  1.0000e+00
      Access path: iff  Resc:  1243  Resp:  1243
      Access path: index (unique)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 2
      IX_SEL:  8.3457e-08  TB_SEL:  8.3457e-08
      Access path: index (equal)
          Index: ELIGIBILITY_RELATION_1IX
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 68
      IX_SEL:  0.0000e+00  TB_SEL:  2.0886e-05
      Access path: index (eq-unique)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 2
      IX_SEL:  0.0000e+00  TB_SEL:  0.0000e+00
      ****** trying bitmap/domain indexes ******
      Access path: index (equal)
          Index: ELIGIBILITY_RELATION_1IX
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 3
      IX_SEL:  2.0886e-05  TB_SEL:  2.0886e-05
      Access path: index (index-only)
          Index: ELIGIBILITY_RELATION_PK
      TABLE: ELIGIBILITY_RELATION
          RSC_CPU: 0   RSC_IO: 5
      IX_SEL:  4.5276e-05  TB_SEL:  4.5276e-05
        SORT resource      Sort statistics
          Sort width:           11 Area size:      628736 Max Area size:    31457280   Degree: 1
          Blocks to Sort:        2 Row size:           21 Rows:        543
          Initial runs:          1 Merge passes:        1 IO Cost / pass:          3
          Total IO sort cost: 2
          Total CPU sort cost: 0
          Total Temp space used: 0
      ****** finished trying bitmap/domain indexes ******
    One row CDN: 1
      BEST_CST: 1.00  PATH: 3  Degree:  1
    OPTIMIZER STATISTICS AND COMPUTATIONS
    GENERAL PLANS
    Join order[1]:  ELIGIBILITY_RELATION[ELIGIBILITY_RELATION]#0
    Best so far: TABLE#: 0  CST:          1  CDN:          1  BYTES:         24
    Final - First Rows Plan:
      JOIN ORDER: 1
      CST: 1  CDN: 1  RSC: 1  RSP: 1  BYTES: 24
      IO-RSC: 1  IO-RSP: 1  CPU-RSC: 0  CPU-RSP: 0
      First Rows Plan
    PARAMETERS USED BY THE OPTIMIZER
    OPTIMIZER_FEATURES_ENABLE = 9.2.0
    OPTIMIZER_MODE/GOAL = Choose
    _OPTIMIZER_PERCENT_PARALLEL = 101
    HASH_AREA_SIZE = 131072
    HASH_JOIN_ENABLED = TRUE
    HASH_MULTIBLOCK_IO_COUNT = 0
    SORT_AREA_SIZE = 65536
    OPTIMIZER_SEARCH_LIMIT = 5
    PARTITION_VIEW_ENABLED = FALSE
    _ALWAYS_STAR_TRANSFORMATION = FALSE
    _B_TREE_BITMAP_PLANS = TRUE
    STAR_TRANSFORMATION_ENABLED = FALSE
    _COMPLEX_VIEW_MERGING = TRUE
    _PUSH_JOIN_PREDICATE = TRUE
    PARALLEL_BROADCAST_ENABLED = TRUE
    OPTIMIZER_MAX_PERMUTATIONS = 2000
    OPTIMIZER_INDEX_CACHING = 0
    _SYSTEM_INDEX_CACHING = 0
    OPTIMIZER_INDEX_COST_ADJ = 1
    OPTIMIZER_DYNAMIC_SAMPLING = 1
    _OPTIMIZER_DYN_SMP_BLKS = 32
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRITY = ENFORCED
    _INDEX_JOIN_ENABLED = TRUE
    _SORT_ELIMINATION_COST_RATIO = 0
    _OR_EXPAND_NVL_PREDICATE = TRUE
    _NEW_INITIAL_JOIN_ORDERS = TRUE
    ALWAYS_ANTI_JOIN = CHOOSE
    ALWAYS_SEMI_JOIN = CHOOSE
    _OPTIMIZER_MODE_FORCE = TRUE
    _OPTIMIZER_UNDO_CHANGES = FALSE
    _UNNEST_SUBQUERY = TRUE
    _PUSH_JOIN_UNION_VIEW = TRUE
    _FAST_FULL_SCAN_ENABLED = TRUE
    _OPTIM_ENHANCE_NNULL_DETECTION = TRUE
    _ORDERED_NESTED_LOOP = TRUE
    _NESTED_LOOP_FUDGE = 100
    _NO_OR_EXPANSION = FALSE
    _QUERY_COST_REWRITE = TRUE
    QUERY_REWRITE_EXPRESSION = TRUE
    _IMPROVED_ROW_LENGTH_ENABLED = TRUE
    _USE_NOSEGMENT_INDEXES = FALSE
    _ENABLE_TYPE_DEP_SELECTIVITY = TRUE
    _IMPROVED_OUTERJOIN_CARD = TRUE
    _OPTIMIZER_ADJUST_FOR_NULLS = TRUE
    _OPTIMIZER_CHOOSE_PERMUTATION = 0
    _USE_COLUMN_STATS_FOR_FUNCTION = TRUE
    _SUBQUERY_PRUNING_ENABLED = TRUE
    _SUBQUERY_PRUNING_REDUCTION_FACTOR = 50
    _SUBQUERY_PRUNING_COST_FACTOR = 20
    _LIKE_WITH_BIND_AS_EQUALITY = FALSE
    _TABLE_SCAN_COST_PLUS_ONE = TRUE
    _SORTMERGE_INEQUALITY_JOIN_OFF = FALSE
    _DEFAULT_NON_EQUALITY_SEL_CHECK = TRUE
    _ONESIDE_COLSTAT_FOR_EQUIJOINS = TRUE
    _OPTIMIZER_COST_MODEL = CHOOSE
    _GSETS_ALWAYS_USE_TEMPTABLES = FALSE
    DB_FILE_MULTIBLOCK_READ_COUNT = 128
    _NEW_SORT_COST_ESTIMATE = TRUE
    _GS_ANTI_SEMI_JOIN_ALLOWED = TRUE
    _CPU_TO_IO = 0
    _PRED_MOVE_AROUND = TRUE
    BASE STATISTICAL INFORMATION
    Table stats    Table: SOC_LIST   Alias: SYS_ALIAS_1
      TOTAL ::  CDN: 17584  NBLKS:  653  AVG_ROW_LEN:  260
    -- Index stats
      INDEX NAME: I_SNAP$_SOC_LIST  COL#: 1
        TOTAL ::  LVLS: 1   #LB: 64  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 699
      INDEX NAME: SOC_LIST_1IX  COL#: 3
        TOTAL ::  LVLS: 1   #LB: 47  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 14065
    _OPTIMIZER_PERCENT_PARALLEL = 0
    SINGLE TABLE ACCESS PATH
      TABLE: SOC_LIST     ORIG CDN: 17584  ROUNDED CDN: 879  CMPTD CDN: 879
      Access path: tsc  Resc:  18  Resp:  18
      ****** trying bitmap/domain indexes ******
      ****** finished trying bitmap/domain indexes ******
      BEST_CST: 18.00  PATH: 2  Degree:  1
    OPTIMIZER STATISTICS AND COMPUTATIONS
    GENERAL PLANS
    Join order[1]:  SOC_LIST[SYS_ALIAS_1]#0
    Best so far: TABLE#: 0  CST:         18  CDN:        879  BYTES:       8790
    Final - All Rows Plan:
      JOIN ORDER: 1
      CST: 18  CDN: 879  RSC: 18  RSP: 18  BYTES: 8790
      IO-RSC: 18  IO-RSP: 18  CPU-RSC: 0  CPU-RSP: 0
    PARAMETERS USED BY THE OPTIMIZER
    OPTIMIZER_FEATURES_ENABLE = 9.2.0
    OPTIMIZER_MODE/GOAL = Choose
    _OPTIMIZER_PERCENT_PARALLEL = 101
    HASH_AREA_SIZE = 131072
    HASH_JOIN_ENABLED = TRUE
    HASH_MULTIBLOCK_IO_COUNT = 0
    SORT_AREA_SIZE = 65536
    OPTIMIZER_SEARCH_LIMIT = 5
    PARTITION_VIEW_ENABLED = FALSE
    _ALWAYS_STAR_TRANSFORMATION = FALSE
    _B_TREE_BITMAP_PLANS = TRUE
    STAR_TRANSFORMATION_ENABLED = FALSE
    _COMPLEX_VIEW_MERGING = TRUE
    _PUSH_JOIN_PREDICATE = TRUE
    PARALLEL_BROADCAST_ENABLED = TRUE
    OPTIMIZER_MAX_PERMUTATIONS = 2000
    OPTIMIZER_INDEX_CACHING = 0
    _SYSTEM_INDEX_CACHING = 0
    OPTIMIZER_INDEX_COST_ADJ = 1
    OPTIMIZER_DYNAMIC_SAMPLING = 1
    _OPTIMIZER_DYN_SMP_BLKS = 32
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRITY = ENFORCED
    _INDEX_JOIN_ENABLED = TRUE
    _SORT_ELIMINATION_COST_RATIO = 0
    _OR_EXPAND_NVL_PREDICATE = TRUE
    _NEW_INITIAL_JOIN_ORDERS = TRUE
    ALWAYS_ANTI_JOIN = CHOOSE
    ALWAYS_SEMI_JOIN = CHOOSE
    _OPTIMIZER_MODE_FORCE = TRUE
    _OPTIMIZER_UNDO_CHANGES = FALSE
    _UNNEST_SUBQUERY = TRUE
    _PUSH_JOIN_UNION_VIEW = TRUE
    _FAST_FULL_SCAN_ENABLED = TRUE
    _OPTIM_ENHANCE_NNULL_DETECTION = TRUE
    _ORDERED_NESTED_LOOP = TRUE
    _NESTED_LOOP_FUDGE = 100
    _NO_OR_EXPANSION = FALSE
    _QUERY_COST_REWRITE = TRUE
    QUERY_REWRITE_EXPRESSION = TRUE
    _IMPROVED_ROW_LENGTH_ENABLED = TRUE
    _USE_NOSEGMENT_INDEXES = FALSE
    _ENABLE_TYPE_DEP_SELECTIVITY = TRUE
    _IMPROVED_OUTERJOIN_CARD = TRUE
    _OPTIMIZER_ADJUST_FOR_NULLS = TRUE
    _OPTIMIZER_CHOOSE_PERMUTATION = 0
    _USE_COLUMN_STATS_FOR_FUNCTION = TRUE
    _SUBQUERY_PRUNING_ENABLED = TRUE
    _SUBQUERY_PRUNING_REDUCTION_FACTOR = 50
    _SUBQUERY_PRUNING_COST_FACTOR = 20
    _LIKE_WITH_BIND_AS_EQUALITY = FALSE
    _TABLE_SCAN_COST_PLUS_ONE = TRUE
    _SORTMERGE_INEQUALITY_JOIN_OFF = FALSE
    _DEFAULT_NON_EQUALITY_SEL_CHECK = TRUE
    _ONESIDE_COLSTAT_FOR_EQUIJOINS = TRUE
    _OPTIMIZER_COST_MODEL = CHOOSE
    _GSETS_ALWAYS_USE_TEMPTABLES = FALSE
    DB_FILE_MULTIBLOCK_READ_COUNT = 128
    _NEW_SORT_COST_ESTIMATE = TRUE
    _GS_ANTI_SEMI_JOIN_ALLOWED = TRUE
    _CPU_TO_IO = 0
    _PRED_MOVE_AROUND = TRUE
    BASE STATISTICAL INFORMATION
    Table stats    Table: SOC_LIST   Alias: SOC
      TOTAL ::  CDN: 17584  NBLKS:  653  AVG_ROW_LEN:  260
    -- Index stats
      INDEX NAME: I_SNAP$_SOC_LIST  COL#: 1
        TOTAL ::  LVLS: 1   #LB: 64  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 699
      INDEX NAME: SOC_LIST_1IX  COL#: 3
        TOTAL ::  LVLS: 1   #LB: 47  #DK: 17487  LB/K: 1  DB/K: 1  CLUF: 14065
    _OPTIMIZER_PERCENT_PARALLEL = 0
    SINGLE TABLE ACCESS PATH
      TABLE: SOC_LIST     ORIG CDN: 17584  ROUNDED CDN: 17584  CMPTD CDN: 17584
      Access path: tsc  Resc:  18  Resp:  18
      ****** trying bitmap/domain indexes ******
      ****** finished trying bitmap/domain indexes ******
      BEST_CST: 18.00  PATH: 2  Degree:  1
    OPTIMIZER STATISTICS AND COMPUTATIONS
    GENERAL PLANS
    Join order[1]:  SOC_LIST[SOC]#0
    Best so far: TABLE#: 0  CST:         18  CDN:      17584  BYTES:          0
    Final - All Rows Plan:
      JOIN ORDER: 1
      CST: 18  CDN: 17584  RSC: 18  RSP: 18  BYTES: 0
      IO-RSC: 18  IO-RSP: 18  CPU-RSC: 0  CPU-RSP: 0
    BINDS #1:
    bind 0: dty=96 mxl=32(01) mal=00 scl=00 pre=00 oacflg=03 oacfl2=0 size=32 offset=0
       bfp=800003ffefea9490 bln=32 avl=01 flg=05
       value="N"
    EXEC #1:c=0,e=159,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017737385286
    WAIT #1: nam='SQL*Net message to client' ela= 2 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='db file sequential read' ela= 9958 p1=586 p2=128001 p3=1
    WAIT #1: nam='db file scattered read' ela= 619 p1=586 p2=128002 p3=4
    WAIT #1: nam='db file sequential read' ela= 12880 p1=2535 p2=39498 p3=1
    WAIT #1: nam='db file sequential read' ela= 39878 p1=2536 p2=68185 p3=1
    WAIT #1: nam='db file sequential read' ela= 10240 p1=2536 p2=68520 p3=1
    WAIT #1: nam='db file sequential read' ela= 15805 p1=2535 p2=45162 p3=1
    WAIT #1: nam='db file sequential read' ela= 11733 p1=2535 p2=178335 p3=1
    WAIT #1: nam='db file sequential read' ela= 11863 p1=2535 p2=178798 p3=1
    WAIT #1: nam='db file sequential read' ela= 4886 p1=2535 p2=33834 p3=1
    WAIT #1: nam='db file sequential read' ela= 12067 p1=2536 p2=60958 p3=1
    WAIT #1: nam='db file sequential read' ela= 16496 p1=2535 p2=61232 p3=1
    WAIT #1: nam='db file sequential read' ela= 8970 p1=2535 p2=50826 p3=1
    WAIT #1: nam='db file sequential read' ela= 10940 p1=2536 p2=260451 p3=1
    WAIT #1: nam='db file sequential read' ela= 8508 p1=2536 p2=261538 p3=1
    WAIT #1: nam='db file scattered read' ela= 32000 p1=1613 p2=4622 p3=35
    WAIT #1: nam='db file sequential read' ela= 1762 p1=2535 p2=178799 p3=1
    WAIT #1: nam='db file sequential read' ela= 341 p1=2535 p2=61233 p3=1
    WAIT #1: nam='db file scattered read' ela= 50494 p1=957 p2=230324 p3=35
    WAIT #1: nam='db file scattered read' ela= 36716 p1=5 p2=588169 p3=35
    WAIT #1: nam='db file scattered read' ela= 45241 p1=2326 p2=227427 p3=35
    WAIT #1: nam='db file sequential read' ela= 11783 p1=2535 p2=68809 p3=1
    WAIT #1: nam='db file scattered read' ela= 26720 p1=471 p2=102809 p3=35
    WAIT #1: nam='db file scattered read' ela= 31074 p1=1496 p2=97015 p3=35
    WAIT #1: nam='db file scattered read' ela= 39750 p1=586 p2=69452 p3=35
    WAIT #1: nam='db file scattered read' ela= 30923 p1=1613 p2=8636 p3=35
    WAIT #1: nam='db file scattered read' ela= 46328 p1=957 p2=67050 p3=35
    WAIT #1: nam='db file scattered read' ela= 34570 p1=5 p2=362823 p3=35
    WAIT #1: nam='db file scattered read' ela= 43343 p1=2326 p2=240311 p3=35
    WAIT #1: nam='db file scattered read' ela= 30818 p1=471 p2=76417 p3=35
    WAIT #1: nam='db file scattered read' ela= 19167 p1=1496 p2=480612 p3=35
    WAIT #1: nam='db file scattered read' ela= 26405 p1=586 p2=193036 p3=35
    WAIT #1: nam='db file scattered read' ela= 35374 p1=1613 p2=201565 p3=35
    WAIT #1: nam='db file scattered read' ela= 14275 p1=957 p2=15804 p3=7
    FETCH #1:c=190000,e=926019,p=552,cr=43429,cu=0,mis=0,r=1,dep=0,og=4,tim=3017738311433
    WAIT #1: nam='SQL*Net message from client' ela= 2749 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net message to client' ela= 2 p1=1413697536 p2=1 p3=0
    FETCH #1:c=0,e=79,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=4,tim=3017738314443
    *** 2013-06-10 13:35:44.078
    WAIT #1: nam='SQL*Net message from client' ela= 18650883 p1=1413697536 p2=1 p3=0
    STAT #1 id=1 cnt=2 pid=0 pos=1 obj=0 op='UNION-ALL  (cr=43429 r=552 w=0 time=926047 us)'
    STAT #1 id=2 cnt=1 pid=1 pos=1 obj=0 op='SORT AGGREGATE (cr=43429 r=552 w=0 time=925989 us)'
    STAT #1 id=3 cnt=157 pid=2 pos=1 obj=0 op='FILTER  (cr=43429 r=552 w=0 time=925909 us)'
    STAT #1 id=4 cnt=14296 pid=3 pos=1 obj=5769120 op='TABLE ACCESS FULL SOC_LIST (cr=541 r=537 w=0 time=579577 us)'
    STAT #1 id=5 cnt=157 pid=3 pos=2 obj=0 op='PARTITION HASH SINGLE PARTITION: KEY KEY (cr=42888 r=15 w=0 time=285564 us)'
    STAT #1 id=6 cnt=157 pid=5 pos=1 obj=5401812 op='INDEX UNIQUE SCAN ELIGIBILITY_RELATION_PK PARTITION: KEY KEY (cr=42888 r=15 w=0 time=265355 us)'
    STAT #1 id=7 cnt=1 pid=1 pos=2 obj=0 op='SORT AGGREGATE (cr=0 r=0 w=0 time=4 us)'
    STAT #1 id=8 cnt=0 pid=7 pos=1 obj=0 op='FILTER  (cr=0 r=0 w=0 time=1 us)'
    STAT #1 id=9 cnt=0 pid=8 pos=1 obj=5769120 op='TABLE ACCESS FULL SOC_LIST '
    QUERY
    select 'close cursor' from dual
    =====================
    PARSING IN CURSOR #1 len=31 dep=0 uid=33 oct=3 lid=33 tim=3017756967074 hv=3487944275 ad='48de6a60'
    select 'close cursor' from dual
    END OF STMT
    PARSE #1:c=0,e=986,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017756967063
    BINDS #1:
    EXEC #1:c=0,e=47,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017756967278
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    FETCH #1:c=0,e=134,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=4,tim=3017756967515
    WAIT #1: nam='SQL*Net message from client' ela= 2682 p1=1413697536 p2=1 p3=0
    FETCH #1:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=3017756970325
    WAIT #1: nam='SQL*Net message to client' ela= 1 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:35:57.804
    WAIT #1: nam='SQL*Net message from client' ela= 13399621 p1=1413697536 p2=1 p3=0
    =====================
    PARSING IN CURSOR #3 len=116 dep=1 uid=0 oct=3 lid=0 tim=3017770371839 hv=431456802 ad='39fbad80'
    select o.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname,o.dataobj#,o.flags from obj$ o where o.obj#=:1
    END OF STMT
    PARSE #3:c=0,e=1249,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=0,tim=3017770371828
    BINDS #3:
    bind 0: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
       bfp=800003ffefea7a90 bln=22 avl=03 flg=05
       value=172
    EXEC #3:c=0,e=666,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=3017770372725
    WAIT #3: nam='db file sequential read' ela= 10318 p1=1 p2=978 p3=1
    WAIT #3: nam='db file sequential read' ela= 10292 p1=1 p2=318 p3=1
    FETCH #3:c=10000,e=21071,p=2,cr=3,cu=0,mis=0,r=1,dep=1,og=4,tim=3017770393830
    STAT #1 id=1 cnt=1 pid=0 pos=1 obj=172 op='TABLE ACCESS FULL DUAL (cr=3 r=0 w=0 time=121 us)'
    QUERY
    ALTER SESSION SET EVENTS '10053 trace name context off'
    =====================
    PARSING IN CURSOR #1 len=55 dep=0 uid=33 oct=42 lid=33 tim=3017770394351 hv=3500836485 ad='3bed84c8'
    ALTER SESSION SET EVENTS '10053 trace name context off'
    END OF STMT
    PARSE #1:c=0,e=227,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017770394344
    BINDS #1:
    EXEC #1:c=0,e=177,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017770394624
    WAIT #1: nam='SQL*Net message to client' ela= 4 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:36:13.139
    WAIT #1: nam='SQL*Net message from client' ela= 14951473 p1=1413697536 p2=1 p3=0
    =====================
    PARSE ERROR #1:len=55 dep=0 uid=33 oct=42 lid=33 tim=3017785346905 err=911
    ALTER SESSION SET EVENT=¿10046 trace name context off¿
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2358 p1=1413697536 p2=0 p3=0
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:36:53.497
    WAIT #1: nam='SQL*Net message from client' ela= 39408861 p1=1413697536 p2=1 p3=0
    =====================
    PARSE ERROR #1:len=56 dep=0 uid=33 oct=42 lid=33 tim=3017824759339 err=911
    ALTER SESSION SET EVENTS ¿10046 trace name context off¿
    WAIT #1: nam='SQL*Net break/reset to client' ela= 4 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2342 p1=1413697536 p2=0 p3=0
    WAIT #1: nam='SQL*Net message to client' ela= 4 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:37:17.528
    WAIT #1: nam='SQL*Net message from client' ela= 23463963 p1=1413697536 p2=1 p3=0
    =====================
    PARSE ERROR #1:len=57 dep=0 uid=33 oct=42 lid=33 tim=3017848226738 err=911
    ALTER SESSION SET EVENTS '10043 trace name context off';
    WAIT #1: nam='SQL*Net break/reset to client' ela= 1 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net break/reset to client' ela= 2305 p1=1413697536 p2=0 p3=0
    WAIT #1: nam='SQL*Net message to client' ela= 3 p1=1413697536 p2=1 p3=0
    WAIT #1: nam='SQL*Net message from client' ela= 9416071 p1=1413697536 p2=1 p3=0
    =====================
    PARSING IN CURSOR #1 len=55 dep=0 uid=33 oct=42 lid=33 tim=3017857646552 hv=2635134026 ad='4b92b7e8'
    ALTER SESSION SET EVENTS '10043 trace name context off'
    END OF STMT
    PARSE #1:c=0,e=616,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3017857646541
    BINDS #1:
    EXEC #1:c=0,e=285,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3017857647009
    WAIT #1: nam='SQL*Net message to client' ela= 4 p1=1413697536 p2=1 p3=0
    *** 2013-06-10 13:58:46.112
    WAIT #1: nam='SQL*Net message from client' ela= 1248974802 p1=1413697536 p2=1 p3=0
    XCTEND rlbk=0, rd_only=1

  • Inconsistent SQL results when using View with UNION-ALL and table function

    Can any of you please execute the below scripts and check the output. In the table type variable, I am adding 4 distinct object ids, where as in the result, I get only the row pertaining to last id in the table type variable. Same row is returned 4 times (4= number of values in the table type).
    This scenario is occurring in our product with a SQL with exactly same pattern. I could simulate the same issue with the sample script I have provided.
    Database version: 11.2.0.3 Enterprise Edition, Single node
    Thank you.
    CREATE TABLE TEMP_T1 AS SELECT * FROM ALL_OBJECTS;
    CREATE TABLE TEMP_T2 AS SELECT * FROM ALL_OBJECTS;
    UPDATE TEMP_T2 SET OBJECT_ID = OBJECT_ID * 37;
    CREATE UNIQUE INDEX TEMP_T1_U1 ON TEMP_T1(OBJECT_ID);
    CREATE UNIQUE INDEX TEMP_T2_U1 ON TEMP_T2(OBJECT_ID);
    CREATE OR REPLACE VIEW TEMP_T1T2_V AS
    SELECT * FROM TEMP_T1 UNION ALL SELECT * FROM TEMP_T2;
    CREATE OR REPLACE TYPE TEMP_OBJ_TYPE AS OBJECT (OBJ_ID NUMBER);
    CREATE OR REPLACE TYPE TEMP_OBJ_TAB_TYPE IS TABLE OF TEMP_OBJ_TYPE;
    SET SERVEROUTPUT ON;
    DECLARE
    TYPE TEMP_T1T2_V_ROW_TAB_TYPE IS TABLE OF TEMP_T1T2_V%ROWTYPE;
    TEMP_T1T2_V_ROW_TAB TEMP_T1T2_V_ROW_TAB_TYPE;
    TEMP_OBJ_TAB TEMP_OBJ_TAB_TYPE := TEMP_OBJ_TAB_TYPE();
    PROCEDURE ADD_TO_TEMP_OBJ_TAB(OBJ_ID IN NUMBER) IS
    BEGIN
    TEMP_OBJ_TAB.EXTEND;
    TEMP_OBJ_TAB(TEMP_OBJ_TAB.LAST) := TEMP_OBJ_TYPE(OBJ_ID);
    END;
    BEGIN
    ADD_TO_TEMP_OBJ_TAB(100);
    ADD_TO_TEMP_OBJ_TAB(116);
    ADD_TO_TEMP_OBJ_TAB(279);
    ADD_TO_TEMP_OBJ_TAB(364);
    DBMS_OUTPUT.PUT_LINE('=====================');
    FOR I IN TEMP_OBJ_TAB.FIRST..TEMP_OBJ_TAB.LAST
    LOOP
    DBMS_OUTPUT.PUT_LINE('OBJ_ID = '||TEMP_OBJ_TAB(I).OBJ_ID);
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('---------------------');
    SELECT * BULK COLLECT INTO TEMP_T1T2_V_ROW_TAB
    FROM TEMP_T1T2_V VW
    WHERE ((VW.OBJECT_ID) IN (SELECT OBJ_ID
    FROM TABLE(CAST(TEMP_OBJ_TAB AS TEMP_OBJ_TAB_TYPE))));
    FOR I IN TEMP_OBJ_TAB.FIRST..TEMP_OBJ_TAB.LAST
    LOOP
    DBMS_OUTPUT.PUT_LINE('OBJ_ID = '||TEMP_OBJ_TAB(I).OBJ_ID);
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('---------------------');
    IF TEMP_T1T2_V_ROW_TAB.COUNT > 0 THEN
    FOR I IN TEMP_T1T2_V_ROW_TAB.FIRST..TEMP_T1T2_V_ROW_TAB.LAST
    LOOP
    DBMS_OUTPUT.PUT_LINE(TEMP_T1T2_V_ROW_TAB(I).OBJECT_ID||' : '||TEMP_T1T2_V_ROW_TAB(I).OBJECT_NAME);
    END LOOP;
    ELSE
    DBMS_OUTPUT.PUT_LINE('NO ROWS RETURNED!');
    END IF;
    DBMS_OUTPUT.PUT_LINE('---------------------');
    END;
    /

    I can reproduce it:
    SQL*Plus: Release 11.2.0.3.0 Production on Tue Oct 30 14:05:39 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Enter user-name: scott
    Enter password:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select  *
      2    from  v$version
      3  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> CREATE TABLE TEMP_T1 AS SELECT * FROM ALL_OBJECTS;
    Table created.
    SQL>
    SQL> CREATE TABLE TEMP_T2 AS SELECT * FROM ALL_OBJECTS;
    Table created.
    SQL>
    SQL> UPDATE TEMP_T2 SET OBJECT_ID = OBJECT_ID * 37;
    72883 rows updated.
    SQL>
    SQL> CREATE UNIQUE INDEX TEMP_T1_U1 ON TEMP_T1(OBJECT_ID);
    Index created.
    SQL>
    SQL> CREATE UNIQUE INDEX TEMP_T2_U1 ON TEMP_T2(OBJECT_ID);
    Index created.
    SQL>
    SQL> CREATE OR REPLACE VIEW TEMP_T1T2_V AS
      2  SELECT * FROM TEMP_T1 UNION ALL SELECT * FROM TEMP_T2;
    View created.
    SQL>
    SQL> CREATE OR REPLACE TYPE TEMP_OBJ_TYPE AS OBJECT (OBJ_ID NUMBER)
      2  /
    Type created.
    SQL> CREATE OR REPLACE TYPE TEMP_OBJ_TAB_TYPE IS TABLE OF TEMP_OBJ_TYPE
      2  /
    Type created.
    SQL> SET SERVEROUTPUT ON;
    SQL>
    SQL> DECLARE
      2  TYPE TEMP_T1T2_V_ROW_TAB_TYPE IS TABLE OF TEMP_T1T2_V%ROWTYPE;
      3  TEMP_T1T2_V_ROW_TAB TEMP_T1T2_V_ROW_TAB_TYPE;
      4  TEMP_OBJ_TAB TEMP_OBJ_TAB_TYPE := TEMP_OBJ_TAB_TYPE();
      5  PROCEDURE ADD_TO_TEMP_OBJ_TAB(OBJ_ID IN NUMBER) IS
      6  BEGIN
      7  TEMP_OBJ_TAB.EXTEND;
      8  TEMP_OBJ_TAB(TEMP_OBJ_TAB.LAST) := TEMP_OBJ_TYPE(OBJ_ID);
      9  END;
    10  BEGIN
    11  ADD_TO_TEMP_OBJ_TAB(100);
    12  ADD_TO_TEMP_OBJ_TAB(116);
    13  ADD_TO_TEMP_OBJ_TAB(279);
    14  ADD_TO_TEMP_OBJ_TAB(364);
    15  DBMS_OUTPUT.PUT_LINE('=====================');
    16  FOR I IN TEMP_OBJ_TAB.FIRST..TEMP_OBJ_TAB.LAST
    17  LOOP
    18  DBMS_OUTPUT.PUT_LINE('OBJ_ID = '||TEMP_OBJ_TAB(I).OBJ_ID);
    19  END LOOP;
    20  DBMS_OUTPUT.PUT_LINE('---------------------');
    21  SELECT * BULK COLLECT INTO TEMP_T1T2_V_ROW_TAB
    22  FROM TEMP_T1T2_V VW
    23  WHERE ((VW.OBJECT_ID) IN (SELECT OBJ_ID
    24  FROM TABLE(CAST(TEMP_OBJ_TAB AS TEMP_OBJ_TAB_TYPE))));
    25  FOR I IN TEMP_OBJ_TAB.FIRST..TEMP_OBJ_TAB.LAST
    26  LOOP
    27  DBMS_OUTPUT.PUT_LINE('OBJ_ID = '||TEMP_OBJ_TAB(I).OBJ_ID);
    28  END LOOP;
    29  DBMS_OUTPUT.PUT_LINE('---------------------');
    30  IF TEMP_T1T2_V_ROW_TAB.COUNT > 0 THEN
    31  FOR I IN TEMP_T1T2_V_ROW_TAB.FIRST..TEMP_T1T2_V_ROW_TAB.LAST
    32  LOOP
    33  DBMS_OUTPUT.PUT_LINE(TEMP_T1T2_V_ROW_TAB(I).OBJECT_ID||' : '||TEMP_T1T2_V_ROW_TAB(I).OBJECT_NAME);
    34  END LOOP;
    35  ELSE
    36  DBMS_OUTPUT.PUT_LINE('NO ROWS RETURNED!');
    37  END IF;
    38  DBMS_OUTPUT.PUT_LINE('---------------------');
    39  END;
    40  /
    =====================
    OBJ_ID = 100
    OBJ_ID = 116
    OBJ_ID = 279
    OBJ_ID = 364
    OBJ_ID = 100
    OBJ_ID = 116
    OBJ_ID = 279
    OBJ_ID = 364
    364 : I_AUDIT
    364 : I_AUDIT
    364 : I_AUDIT
    364 : I_AUDIT
    PL/SQL procedure successfully completed.
    SQL> column object_name format a30
    SQL> select  object_id,
      2          object_name
      3    from  dba_objects
      4    where object_id in (100,116,279,364)
      5  /
    OBJECT_ID OBJECT_NAME
           100 ORA$BASE
           116 DUAL
           279 MAP_OBJECT
           364 I_AUDIT
    SQL>  Works fine in:
    =====================
    OBJ_ID = 100
    OBJ_ID = 116
    OBJ_ID = 279
    OBJ_ID = 364
    OBJ_ID = 100
    OBJ_ID = 116
    OBJ_ID = 279
    OBJ_ID = 364
    100 : ORA$BASE
    116 : DUAL
    364 : SYSTEM_PRIVILEGE_MAP
    279 : MAP_OBJECT
    PL/SQL procedure successfully completed.
    SQL> select  object_id,
      2          object_name
      3    from  dba_objects
      4    where object_id in (100,116,279,364)
      5  /
    OBJECT_ID OBJECT_NAME
          100 ORA$BASE
          116 DUAL
          364 SYSTEM_PRIVILEGE_MAP
          279 MAP_OBJECT
    SQL> select  *
      2    from  v$version
      3  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL>SY.
    Edited by: Solomon Yakobson on Oct 30, 2012 2:14 PM

  • Is the order in which a UNION ALL query returns rows guaranteed?

    Guys
    I'm doing a kind of query where I want to return matching rows in a priority order and take the first one. THink of it as getting the most specific error message for a particular context.
    SELECT * FROM (
    SELECT msg FROM errormessages WHERE device = 'x'
    UNION ALL
    SELECT msg FROM errormessages WHERE client = 'y'
    UNION ALL
    SELECT msg FROM (SELECT msg from errormessages WHERE class LIKE 'generic_' ORDER BY class)
    UNION ALL
    SELECT 'missing error message' FROM dual
    WHERE ROWNUM =1
    If UNION ALL is guaranteed to return rows in this order, great. If not, would it be better to have:
    SELECT * FROM ( SELECT * FROM(
    SELECT 1 as ord, msg FROM errormessages WHERE device = 'x'
    UNION ALL
    SELECT 2, msg FROM errormessages WHERE client = 'y'
    UNION ALL
    SELECT 4+SUBSTR(class, 7, 1), msg FROM errormessages WHERE class LIKE 'generic_'
    UNION ALL
    SELECT 9999, 'missing error message' FROM dual
    ) ORDER BY ord )
    WHERE ROWNUM =1Or, another option:
    SELECT msg FROM(
    SELECT
      CASE
        WHEN device = 'x' THEN 1
        WHEN client = 'y' THEN 2
        WHEN class LIKE 'generic_' THEN 4+SUBSTR(class, 7, 1)
      END as ord, msg
    FROM (
      SELECT * FROM errormessages WHERE device = 'x' OR  client = 'y' OR class LIKE 'generic_'
      UNION ALL
      SELECT 999, 'missing error' FROM dual
    ) ORDER BY ord
    )WHERE ROWNUM =1As you can see there is a complication in the generic; devices may advertise that they accept 1,2,3 or 4 lines of info, so I want to use the advertised capabiltiy to pick the most relevant message from the generic set if no specifics exist for the device or the client
    Which was would you go?
    Cheers
    Edited by: charred on Feb 11, 2009 4:56 AM - code tags

    charred wrote:
    So tell me guys, do I go for:
    4 queries unioned together
    or
    1 query with 4 ORs in the where clause and a case when to determine priority?It will depend on your conditions, but if you look at your explain plans you should get an idea for which is the better one; typically I would expect this to be the OR method...
    SQL> select * from emp where deptno = 20
      2  union all
      3  select * from emp where job = 'CLERK'
      4  union all
      5  select * from emp where sal > 2500;
    Execution Plan
    Plan hash value: 3153085224
    | Id  | Operation                    | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |          |    14 |   546 |     8  (75)| 00:00:01 |
    |   1 |  UNION-ALL                   |          |       |       |            |          |
    |   2 |   TABLE ACCESS BY INDEX ROWID| EMP      |     5 |   195 |     2   (0)| 00:00:01 |
    |*  3 |    INDEX RANGE SCAN          | DEPT_IDX |     5 |       |     1   (0)| 00:00:01 |
    |*  4 |   TABLE ACCESS FULL          | EMP      |     4 |   156 |     3   (0)| 00:00:01 |
    |*  5 |   TABLE ACCESS FULL          | EMP      |     5 |   195 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       3 - access("DEPTNO"=20)
       4 - filter("JOB"='CLERK')
       5 - filter("SAL">2500)
    Statistics
              1  recursive calls
              0  db block gets
             18  consistent gets
              1  physical reads
              0  redo size
           1328  bytes sent via SQL*Net to client
            396  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
             14  rows processed
    SQL> select * from emp
      2  where deptno = 20 or job = 'CLERK' or sal > 2500;
    Execution Plan
    Plan hash value: 3956160932
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |      |    10 |   390 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| EMP  |    10 |   390 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("DEPTNO"=20 OR "SAL">2500 OR "JOB"='CLERK')
    Statistics
              1  recursive calls
              0  db block gets
              8  consistent gets
              0  physical reads
              0  redo size
           1146  bytes sent via SQL*Net to client
            396  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              9  rows processed
    SQL>

  • How to create xsd's for each table in repository instead of entire repos

    Hi Gurus,
    Is there any way i could create xsd's for each table in the repository separately instead of creating single xsd file from "Export repository schema" option which creates a single xml file for the entire repository.I need to create xsd for each table in repository...
    Any Help greatly appreciated
    Thanks
    Aravind

    Open the Lookup table you want the XSD for, in Data manger
    Export it to access.( You can select all the fields you want to export to access and then check option "open Access after export")
    Now in Access, again right click the table and export it to XML.
    Provided you have .NET frame work installed on the machine where you are doing this export, you can do the following:
    Use XSD.exe from command prompt and get the XSD.
    Use the following link as a reference for XSD stuff.
    http://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx
    (OR)
    Get the whole XML of the repository and distill the whole structure for Lookups and create XSD using any standard XML editor.

  • Strange behaviour of view based on several tables join with union all

    Dear fellows we r facing a strange problem we have a view based on several tables joined by union all ,when we issue an ordered query on date,rows returned are unusually different than they should be .
    Is oracle has some special behaviour for view based on union all ?
    I m using oracle 8.1.6 on windows 2000
    Kashif Sohail

    Did you ever solve this problem? I have two select statements based on 4 tables and 3 views using about 5 more tables. When I execute each select individually I get exactly what is expected. When I UNION ALL both selects together, I get "no rows returned", however when I UNION them I get exactly what is expected. I should get the same answer for both UNION ALL and UNION. The two select statements are identical, except for one column where I changed the constant to be different. Any thoughts?

  • Excluding slow table access in a UNION ALL view

    Hi,
    I have a view which unions three tables together.
    One component of the view requires a table scan, as 90% of the records are required.
    This view is then used in another outer select where these records are actually not required.
    So I tagged each component with a code and excluded that in the outer select. However it still appears to access the table.
    Is there any way I can exclude a component of the UNION ALL or do I need to explicitly split them?
    example:
    SELECT * FROM (
    SELECT 'A' Q, JANUARY F FROM ENORMOUS.TABLE WHERE KEY = 'Non Selective Key' UNION ALL
    SELECT 'B' Q, 1 F FROM DUAL UNION ALL
    SELECT 'C' Q, 1 F FROM DUAL
    ) A
    WHERE Q = 'B'
    When I run the query plan without the WHERE it performs the table scan
    When I include the WHERE it still performs the table scan but with a FILTER NULL IS NOT NULL afterwards.
    So it appears that it is doing the table scan regardless and then throwing the records away - is that correct?
    Any thoughts appreciated. I would prefer not the split this view out if possible as it is used everywhere.

    In summary my question is: is The Oracle query planner smart enough to exclude a component from a load of stacked UNION ALL queries?
    given this query:
    CREATE VIEW TEST AS
    SELECT Q, F
    FROM
    SELECT 'A' Q, JANUARY F FROM ENORMOUS.TABLE WHERE KEY = 'Non Selective Key' UNION ALL
    SELECT 'B' Q, 1 F FROM DUAL UNION ALL
    SELECT 'C' Q, 1 F FROM DUAL
    ) A;
    -- 1. This one selects from all tables, including a table scan on the enormous table
    SELECT * FROM TEST;
    -- 2. This one selects from all tables, including a table scan on the enormous table
    -- However the query plan has a FILTER after the table scan. Does it exclude this work?
    SELECT * FROM TEST WHERE Q = 'B';When I run the query plan without the WHERE it performs the table scan
    When I include the WHERE the query plan indicates it's doing the table scan but with a FILTER NULL IS NOT NULL afterwards.
    So it appears that it is doing the table scan regardless and then throwing the records away - is that correct?
    Any thoughts appreciated. I would prefer not the split this view out if possible as it is used everywhere.
    Oracle version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE     11.2.0.2.0     Production
    TNS for 64-bit Windows: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    Plan output for 1:
    SELECT STATEMENT Optimizer Mode=ALL_ROWS (Cost=7166 Card=2 M Bytes=41 M)
    1 VIEW (Cost=7166 Card=2 M Bytes=41 M)
    2 1 UNION-ALL
    3 2 TABLE ACCESS FULL PLANNING.BF_GEN_STATS_TRAN (Cost=7162 Card=2 M Bytes=72 M)
    4 2 FAST DUAL (Cost=2 Card=1)
    5 2 FAST DUAL (Cost=2 Card=1)
    Plan output for 2:
    SELECT STATEMENT Optimizer Mode=ALL_ROWS (Cost=2 Card=3 Bytes=48)
    1 VIEW (Cost=2 Card=3 Bytes=48)
    2 1 UNION-ALL
    3 2 FILTER
    4 3 TABLE ACCESS FULL PLANNING.BF_GEN_STATS_TRAN (Cost=7162 Card=2 M Bytes=72 M)
    5 2 FAST DUAL (Cost=2 Card=1)
    6 2 FILTER
    7 6 FAST DUAL (Cost=2 Card=1)

  • Date table accross the year with a union all query

    Hi
    I'm trying to create a table in SQL that will show the Output Values acrross the year.
    I'm basically trying to change a date range of BETWEEN  '2014-01-01' AND '2014-01-30' as Jan show the Columns look like the below.
    Jan
    Feb
    March
    April
    May
    June
    July
    121
    12
    154
    78
    21
    32
    21
    SELECT count(distinct [Form Number]) as Starts
    FROM dbo.WATP
    WHERE [Cohort Desc] IN ('BBC APPs', 'ETP', 'Foundation Learning', 'WBL Scheme')
    AND [Episode Start] BETWEEN '2014-01-01' AND '2014-01-30'
    UNION ALL
    SELECT count(distinct [Form Number]) as Starts
    FROM dbo.WATP
    WHERE [Cohort Desc] IN ('BBC APPs', 'ETP', 'Foundation Learning', 'WBL Scheme')
    AND [Episode Start] BETWEEN '2014-02-01' AND '2014-02-28'
    UNION ALL
    SELECT count(distinct [Form Number]) as Starts
    FROM dbo.WATP
    WHERE [Cohort Desc] IN ('BBC APPs', 'ETP', 'Foundation Learning', 'WBL Scheme')
    AND [Episode Start] BETWEEN '2014-03-01' AND '2014-02-30'
    UNION ALL
    SELECT count(distinct [Form Number]) as Starts
    FROM dbo.WATP
    WHERE [Cohort Desc] IN ('BBC APPs', 'ETP', 'Foundation Learning', 'WBL Scheme')
    AND [Episode Start] BETWEEN '2014-04-01' AND '2014-04-30'
    Hope you can help,
    SIIOBIIB

    You can simplify that, like this:
    DECLARE @WATP TABLE ([Form Number] INT IDENTITY, [Episode Start] DATE)
    INSERT INTO @WATP ([Episode Start])
    VALUES
    ('2013-01-01'),('2013-02-01'),('2013-04-01'),('2013-04-01'),('2013-05-01'),('2013-06-01'),
    ('2013-01-01'),('2013-02-01'),('2013-04-01'),('2013-04-01'),('2013-05-01'),('2013-06-01'),
    ('2014-01-01'),('2014-02-01'),('2014-03-01'),('2014-04-01'),('2014-05-01'),('2014-06-01'),
    ('2014-01-01'),('2014-02-01'),('2014-04-01'),('2014-04-01'),('2014-05-01'),('2014-06-01'),
    ('2014-01-01'),('2014-02-01'),('2014-04-01'),('2014-04-01'),('2014-05-01'),('2014-06-01'),
    ('2014-07-01'),('2014-08-01'),('2014-09-01'),('2014-10-01'),('2014-11-01'),('2014-12-01'),
    ('2014-07-01'),('2014-08-01'),('2014-09-01'),('2014-10-01'),('2014-11-01'),('2014-12-01'),
    ('2014-04-01'),('2014-05-01'),('2014-06-01'),('2014-04-01'),('2014-05-01'),('2014-06-01'),
    ('2014-04-01'),('2014-05-01'),('2014-06-01'),('2014-10-01'),('2014-11-01'),('2014-12-01'),
    ('2014-10-01'),('2014-11-01'),('2014-12-01')
    SELECT YEAR([Episode Start]) AS year, COUNT(DISTINCT [Form Number]) AS yearTotal,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 1 THEN [Form Number] END) AS Jan,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 2 THEN [Form Number] END) AS Feb,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 3 THEN [Form Number] END) AS Mar,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 4 THEN [Form Number] END) AS Apr,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 5 THEN [Form Number] END) AS May,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 6 THEN [Form Number] END) AS Jun,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 7 THEN [Form Number] END) AS Jul,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 8 THEN [Form Number] END) AS Aug,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 9 THEN [Form Number] END) AS Sep,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 10 THEN [Form Number] END) AS Oct,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 11 THEN [Form Number] END) AS Nov,
    COUNT(DISTINCT CASE WHEN MONTH([Episode Start]) = 12 THEN [Form Number] END) AS Dec
    FROM @WATP
    GROUP BY YEAR([Episode Start])
    Please include DDL,DML and example data when posing a question, it makes it much easier for us to help you.

  • Trying to create table using Union All Clause with multiple Select stmts

    The purpose of the query is to get the Substring from the value for eg.
    if the value is *2 ASA* then it should come as ASA
    where as if the value is *1.5 TST* the it sholud come as TST like wise for others too.
    I am trying to execute the below written SQL stmt but getting error as:
    *"ORA-00998 must name this expression with the column alias 00998.00000 - Must name this expression with the column alias"*
    CREATE TABLE TEST_CARE AS
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3), len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =5
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3), len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =7
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3), len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =14
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3),LEN FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =7 AND old_care_lvl ='Regular'
    I want to create the table using the above given multiple select using the Union ALL clause but when trying to create run the query getting error as "ORA-00998 must name this expression with the column alias 00998.00000 - Must name this expression with the column alias"
    Please guide me how to approach to resolve this problem.
    Thanks in advance.

    When you create a table using a SELECT statement the column names are derived from the SELECT list.
    Your problem is that one of your columns is an expression that does not work as a column name SUBSTR(old_care_lvl,3)What you need to do is alias this expression and the CREATE will pick up the alias as the column name, like this:
    CREATE TABLE TEST_CARE AS
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3) column3, len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =5
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3), len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =7
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3), len FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =14
    UNION ALL
    SELECT row_id, old_care_lvl,SUBSTR(old_care_lvl,3),LEN FROM test_care_lvl
    WHERE LENGTH(old_care_lvl) =7 AND old_care_lvl ='Regular'
    );You may not like the name "column3" so use something appropriate.

  • What are all the tables used for this report:

    hi
    what are all the tables used for this report:
    report:
    •     <b>Stock Report, which will give opening balance, receipt, issue, and closing balance for any given Duration for any material.</b>
    thanks in advance

    Tables: MSEG, MKPF, MARD.
    FOR REFERENCE SEE TRANSACTION : MB5B.
    Message was edited by: Sharath kumar R

  • How to find all the tables associated for a particular transaction

    Hi-
    May I know how to find all the tables, related(foreign key) tables for a transaction within SAP GUI?
    Up to my technical knowledge, this can be achieved by looking database diagrams from DB level. But that would be for entire database as a whole. What I'm expecting is to see transaction level relative tables that too from SAP GUI. Please share the possibilities if any.
    Regards
    Sekhar

    Dear Micky Oestreich
    May be we possess expertise or high level experience, it should not show up in our way of communication. Every professional starts with the basic stuff to learn. When the question is raised in such minimum polite way, the same level of courtesy is expected in return. If you felt my question was basic, you might have refused it gently. If you are in good mood or bad mood it doesn't matters.
    Hi Vengal Rao
    Thanks for your response. It helped me.
    Regards
    Sekhar

  • Max no of records in for all entries table

    Hello all,
    Hi have used for all entries in a select statement in BW extractor. This extractor is working fine for the test data. When i moved this code to pre-production for testing, there this extractor has to deal with thousands of records. In pre-prod , this select statement is not picking up all the records available in DB. Can any one give any idea on behavior of for all entries for large number of records. and is the any max limit for for all entries table.
    Thank you..correct answer will be rewarded.
    Regards
    Sravan

    Moderator message - Please search before asking and do not offer rewards (particularly since as far as I can see, you've awarded a total of two points in the last two years - post locked
    Rob

  • How to generate test data for all the tables in oracle

    I am planning to use plsql to generate the test data in all the tables in schema, schema name is given as input parameters, min records in master table, min records in child table. data should be consistent in the columns which are used for constraints i.e. using same column value..
    planning to implement something like
    execute sp_schema_data_gen (schemaname, minrecinmstrtbl, minrecsforchildtable);
    schemaname = owner,
    minrecinmstrtbl= minimum records to insert into each parent table,
    minrecsforchildtable = minimum records to enter into each child table of a each master table;
    all_tables where owner= schemaname;
    all_tab_columns and all_constrains - where owner =schemaname;
    using dbms_random pkg.
    is anyone have better idea to do this.. is this functionality already there in oracle db?

    Ah, damorgan, data, test data, metadata and table-driven processes. Love the stuff!
    There are two approaches you can take with this. I'll mention both and then ask which
    one you think you would find most useful for your requirements.
    One approach I would call the generic bottom-up approach which is the one I think you
    are referring to.
    This system is a generic test data generator. It isn't designed to generate data for any
    particular existing table or application but is the general case solution.
    Building on damorgan's advice define the basic hierarchy: table collection, tables, data; so start at the data level.
    1. Identify/document the data types that you need to support. Start small (NUMBER, VARCHAR2, DATE) and add as you go along
    2. For each data type identify the functionality and attributes that you need. For instance for VARCHAR2
    a. min length - the minimum length to generate
    b. max length - the maximum length
    c. prefix - a prefix for the generated data; e.g. for an address field you might want a 'add1' prefix
    d. suffix - a suffix for the generated data; see prefix
    e. whether to generate NULLs
    3. For NUMBER you will probably want at least precision and scale but might want minimum and maximum values or even min/max precision,
    min/max scale.
    4. store the attribute combinations in Oracle tables
    5. build functionality for each data type that can create the range and type of data that you need. These functions should take parameters that can be used to control the attributes and the amount of data generated.
    6. At the table level you will need business rules that control how the different columns of the table relate to each other. For example, for ADDRESS information your business rule might be that ADDRESS1, CITY, STATE, ZIP are required and ADDRESS2 is optional.
    7. Add table-level processes, driven by the saved metadata, that can generate data at the record level by leveraging the data type functionality you have built previously.
    8. Then add the metadata, business rules and functionality to control the TABLE-TO-TABLE relationships; that is, the data model. You need the same DETPNO values in the SCOTT.EMP table that exist in the SCOTT.DEPT table.
    The second approach I have used more often. I would it call the top-down approach and I use
    it when test data is needed for an existing system. The main use case here is to avoid
    having to copy production data to QA, TEST or DEV environments.
    QA people want to test with data that they are familiar with: names, companies, code values.
    I've found they aren't often fond of random character strings for names of things.
    The second approach I use for mature systems where there is already plenty of data to choose from.
    It involves selecting subsets of data from each of the existing tables and saving that data in a
    set of test tables. This data can then be used for regression testing and for automated unit testing of
    existing functionality and functionality that is being developed.
    QA can use data they are already familiar with and can test the application (GUI?) interface on that
    data to see if they get the expected changes.
    For each table to be tested (e.g. DEPT) I create two test system tables. A BEFORE table and an EXPECTED table.
    1. DEPT_TEST_BEFORE
         This table has all EMP table columns and a TEST_CASE column.
         It holds EMP-image rows for each test case that show the row as it should look BEFORE the
         test for that test case is performed.
         CREATE TABLE DEPT_TEST_BEFORE
         TESTCASE NUMBER,
         DEPTNO NUMBER(2),
         DNAME VARCHAR2(14 BYTE),
         LOC VARCHAR2(13 BYTE)
    2. DEPT_TEST_EXPECTED
         This table also has all EMP table columns and a TEST_CASE column.
         It holds EMP-image rows for each test case that show the row as it should look AFTER the
         test for that test case is performed.
    Each of these tables are a mirror image of the actual application table with one new column
    added that contains a value representing the TESTCASE_NUMBER.
    To create test case #3 identify or create the DEPT records you want to use for test case #3.
    Insert these records into DEPT_TEST_BEFORE:
         INSERT INTO DEPT_TEST_BEFORE
         SELECT 3, D.* FROM DEPT D where DEPNO = 20
    Insert records for test case #3 into DEPT_TEST_EXPECTED that show the rows as they should
    look after test #3 is run. For example, if test #3 creates one new record add all the
    records fro the BEFORE data set and add a new one for the new record.
    When you want to run TESTCASE_ONE the process is basically (ignore for this illustration that
    there is a foreign key betwee DEPT and EMP):
    1. delete the records from SCOTT.DEPT that correspond to test case #3 DEPT records.
              DELETE FROM DEPT
              WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT_TEST_BEFORE WHERE TESTCASE = 3);
    2. insert the test data set records for SCOTT.DEPT for test case #3.
              INSERT INTO DEPT
              SELECT DEPTNO, DNAME, LOC FROM DEPT_TEST_BEFORE WHERE TESTCASE = 3;
    3 perform the test.
    4. compare the actual results with the expected results.
         This is done by a function that compares the records in DEPT with the records
         in DEPT_TEST_EXPECTED for test #3.
         I usually store these results in yet another table or just report them out.
    5. Report out the differences.
    This second approach uses data the users (QA) are already familiar with, is scaleable and
    is easy to add new data that meets business requirements.
    It is also easy to automatically generate the necessary tables and test setup/breakdown
    using a table-driven metadata approach. Adding a new test table is as easy as calling
    a stored procedure; the procedure can generate the DDL or create the actual tables needed
    for the BEFORE and AFTER snapshots.
    The main disadvantage is that existing data will almost never cover the corner cases.
    But you can add data for these. By corner cases I mean data that defines the limits
    for a data type: a VARCHAR2(30) name field should have at least one test record that
    has a name that is 30 characters long.
    Which of these approaches makes the most sense for you?

  • Recordcount for all the tables in my user

    How I will get recordcount for all the tables in my user
    with a single query??
    Plz help.
    Thanx in advance.

    Not possible. As there can be any number of tables with any names, this requires dynamic SQL.
    SQL given to the Oracle SQL Engine cannot be dynamic ito scope and references - it must be static. For example, one cannot do this:
    SELECT count(*) FROM :table
    For the SQL Engine to parse the SQL, determine if it is valid, determine the scope and security, determine an execution plan, it needs to know the actual object names. Objects like tables and columns and functions cannot be variable.
    You will therefore need to write a user function (in PL/SQL) that dynamically creates a [SELECT COUNT] SQL for a table, execute that SQL and return the row count - and then use SQL to iterate through USER_TABLES for example and sum the results of this function.
    Note that object tables are not listed in USER_TABLES - thus a more comprehensive list of all table objects in your schema can be found in USER_OBJECTS.

  • What r all the tables used for this report. please reply

    hai,
    what r all the tables used for this report.
    report :
    <b>
    •     Report to display all finished goods that go out-of-stock. Developed a drill down report for materials details (totals and subtotals for material stock values by material group and material type).</b>
    thanks in advance

    hi Ashok,
    Check this out
    http://www.allsaplinks.com/tables.html
    http://www.sapgenie.com/abap/tables.htm
    Regards,
    Santosh

Maybe you are looking for

  • How to check whether a page is published?

    Hi      I have a requirement where i need to check a page and print its published date only if the page is published and active. How can i acheive this exactly? What properties in the CRX exactly will tell me if the page is in published state or not?

  • Regenrate STACK XML  for EHP5

    Hello Guys! I have issue here, there is difference file loaded while i regenrate the XML with addtional technical usage. How will i knows which files are added today while i regenrate the XML, so that i can download those files instead of downloading

  • Updating a portlet's content with data from another portlet

    hi, I have two portlets. The first portlet has a form that collects data from the user to process a query. Once the query gets processed, i want to display the query results on the second portlet. How do i go about doing this? Thanks in advance

  • Oracle 9.2 Join error

    Hi, When i try to execute joins in Oracle 9.2 its failing. Select a.empno,a.name,b.deptnum from emp a , dept b where a.deptno=b.empno. When i try to execute the query in VisualBasic,its not selecting the a.empno whereas it is selecting the remaining

  • Kp06 variable cost planning

    i want to maintained cost element wise variable cost not activity price. in kp06 we can plan only fixed cost, variable cost field is display status. pl advise