HELP TO TUNE THIS QUERY

Hi,
I'm using below query in procedure.It's taking more more time can some one help to tune this query or advice to rewrite the query.
Databse :10.1
SELECT   'Reading Comprehension' TEST_NAME,T.TEST_END_DATE TEST_SESSION_DATE,
        C.POOL_VERSION_ID, I.CREATED_ON POOL_CREATED_DT,
        C.ITEM_ID, C.ITEM_RESPONSE_ID, S.STUDENT_ID_PK, C.RESPONSE_KEY, C.IS_CORRECT RESPONSE_IS_CORRECT,
        T.SCORE SCALE_SCORE, C.RESPONSE_DURATION, P.ITEM_KEY,
        T.TEST_SESSION_DETAIL_ID, SYSDATE CREATED_ON
       -- BULK COLLECT INTO TV_PSYCHO_DET
        FROM
        CAT_ITEM_PARAMETER P, CAT_ITEM_USER_RESPONSE C, TEST_SESSION_DETAIL T,
        TEST_SESSION S, ITEM_POOL_VERSION I, TEST_DETAIL D
        ,INSTITUTION E
        WHERE  TRUNC(T.TEST_END_DATE) BETWEEN TO_DATE('01-11-09','dd-mm-yy') AND TO_DATE('30-11-09','dd-mm-yy')
        AND D.TEST_NAME =  'Reading Comprehension'
        AND T.TEST_SESSION_STATUS_ID = 3
        AND I.POOL_AVAILABILITY='Y'
        AND P.PRETEST=0 AND C.RESTART_FLAG=0
        AND T.TEST_DETAIL_ID = D.TEST_DETAIL_ID
        AND S.TEST_SESSION_ID = T.TEST_SESSION_ID
        AND C.TEST_SESSION_DETAIL_ID = T.TEST_SESSION_DETAIL_ID
        AND S.INSTITUTION_ID=E.INSTITUTION_ID
        AND SUBSTR(E.INSTITUTION_ID_DISPLAY,8,3) <> '000'
        AND I.ITEM_ID = C.ITEM_ID
        AND P.ITEM_ID = I.ITEM_ID;expln plan
Plan hash value: 3712814491                                                                                                      
| Id  | Operation                                 | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart|
Pstop |                                                                                                                          
|   0 | SELECT STATEMENT                          |                             | 50857 |  7151K| 93382   (1)| 00:18:41 |       |
      |                                                                                                                          
|*  1 |  FILTER                                   |                             |       |       |            |          |       |
      |                                                                                                                          
|*  2 |   HASH JOIN                               |                             | 50857 |  7151K| 93382   (1)| 00:18:41 |       |
      |                                                                                                                          
|   3 |    PARTITION HASH ALL                     |                             |  2312 | 23120 |    25   (0)| 00:00:01 |     1 |
    5 |                                                                                                                          
|*  4 |     TABLE ACCESS FULL                     | CAT_ITEM_PARAMETER          |  2312 | 23120 |    25   (0)| 00:00:01 |     1 |
    5 |                                                                                                                          
|*  5 |    HASH JOIN                              |                             | 94938 |    12M| 93356   (1)| 00:18:41 |       |
      |                                                                                                                          
|*  6 |     TABLE ACCESS FULL                     | ITEM_POOL_VERSION           |  9036 |   132K|    30   (0)| 00:00:01 |       |
      |                                                                                                                          
|*  7 |     TABLE ACCESS BY GLOBAL INDEX ROWID    | CAT_ITEM_USER_RESPONSE      |     9 |   279 |    18   (0)| 00:00:01 | ROWID |
ROWID |                                                                                                                          
|   8 |      NESTED LOOPS                         |                             | 45349 |  5270K| 93325   (1)| 00:18:40 |       |
      |                                                                                                                          
|*  9 |       HASH JOIN                           |                             |  4923 |   423K| 11377   (1)| 00:02:17 |       |
      |                                                                                                                          
|* 10 |        INDEX FAST FULL SCAN               | INSTI_ID_NAME_COUN_DISP_IDX |  8165 |   111K|    18   (0)| 00:00:01 |       |
      |                                                                                                                          
|* 11 |        HASH JOIN                          |                             |  4923 |   355K| 11359   (1)| 00:02:17 |       |
      |                                                                                                                          
|* 12 |         TABLE ACCESS BY GLOBAL INDEX ROWID| TEST_SESSION_DETAIL         |  4107 |   148K|  6804   (1)| 00:01:22 | ROWID |
ROWID |                                                                                                                          
|  13 |          NESTED LOOPS                     |                             |  4923 |   278K|  6806   (1)| 00:01:22 |       |
      |                                                                                                                          
|* 14 |           INDEX RANGE SCAN                | TEST_DETAIL_AK_1            |     1 |    21 |     2   (0)| 00:00:01 |       |
      |                                                                                                                          
|* 15 |           INDEX RANGE SCAN                | TEST_SESSION_DETAIL_FK2_I   | 39737 |       |   102   (0)| 00:00:02 |       |
      |                                                                                                                          
|  16 |         PARTITION HASH ALL                |                             |  1672K|    25M|  4546   (1)| 00:00:55 |     1 |
    5 |                                                                                                                          
|  17 |          TABLE ACCESS FULL                | TEST_SESSION                |  1672K|    25M|  4546   (1)| 00:00:55 |     1 |
    5 |                                                                                                                          
|* 18 |       INDEX RANGE SCAN                    | CAT_ITEM_USER_RESP_IDX1     |    18 |       |     3   (0)| 00:00:01 |       |
      |                                                                                                                          
Predicate Information (identified by operation id):                                                                              
   1 - filter(TO_DATE('01-11-09','dd-mm-yy')<=TO_DATE('30-11-09','dd-mm-yy'))                                                    
   2 - access("P"."ITEM_ID"="I"."ITEM_ID")                                                                                       
   4 - filter("P"."PRETEST"=0)                                                                                                   
   5 - access("I"."ITEM_ID"="C"."ITEM_ID")                                                                                       
   6 - filter("I"."POOL_AVAILABILITY"='Y')                                                                                       
   7 - filter(TO_NUMBER("C"."RESTART_FLAG")=0)                                                                                   
   9 - access("S"."INSTITUTION_ID"="E"."INSTITUTION_ID")                                                                         
  10 - filter(SUBSTR("E"."INSTITUTION_ID_DISPLAY",8,3)<>'000')                                                                   
  11 - access("S"."TEST_SESSION_ID"="T"."TEST_SESSION_ID")                                                                       
  12 - filter(TRUNC(INTERNAL_FUNCTION("T"."TEST_END_DATE"))>=TO_DATE('01-11-09','dd-mm-yy') AND "T"."TEST_SESSION_STATUS_ID"=3   
              AND TRUNC(INTERNAL_FUNCTION("T"."TEST_END_DATE"))<=TO_DATE('30-11-09','dd-mm-yy'))                                 
  14 - access("D"."TEST_NAME"='Reading Comprehension')                                                                           
  15 - access("T"."TEST_DETAIL_ID"="D"."TEST_DETAIL_ID")                                                                         
  18 - access("C"."TEST_SESSION_DETAIL_ID"="T"."TEST_SESSION_DETAIL_ID")                                                         
43 rows selected.Edited by: user575115 on Dec 18, 2009 12:31 AM

When you see something like ...
   7 - filter(TO_NUMBER("C"."RESTART_FLAG")=0)                                                                                    It means that Oracle had to do a conversion for you since you aren't using the proper data type in your query.
That would mean IF there is an index on that column, it won't be useable...

Similar Messages

  • Help Fine tune this query

    I am running the following query. This is being run for every row that is being loaded. I figured that this is taking the most time
    select distinct h.PRNT_PROD_GRP_ID, h.CHILD_PROD_GRP_ID, pg.PROD_GRP_REPORTING_NM, pg.PROD_GRP_ID, pg.PROD_GRP_TYP_ID
    from PROD_GRP_HCHY_OUTBD h, PROD_GRP pg
    where pg.PROD_GRP_ID = h.PRNT_PROD_GRP_ID and
    pg.PROD_GRP_ID in (select c.PROD_GRP_ID from prod_grp p, prod_grp c, PROD_GRP_HCHY_OUTBD hy, (select h.PRNT_PROD_GRP_ID, h.CHILD_PROD_GRP_ID, level LVLID, PROD_GRP_HCHY_OUTBD_ID from PROD_GRP_HCHY_OUTBD h where h.PROD_MKT_ID in (select pga.PROD_GRP_ID from APLCTN_SYS aps, APLCTN a, PROD_GRP_APLCTN pga where aps.APLCTN_SYS_Cd = 'ETMS' AND aps.APLCTN_SYS_ID = a.APLCTN_SYS_ID and a.APLCTN_ID = pga.APLCTN_ID) start with h.PRNT_PROD_GRP_ID in (select pga.PROD_GRP_ID from APLCTN_SYS aps, APLCTN a, PROD_GRP_APLCTN pga where aps.APLCTN_SYS_Cd = 'ETMS' AND aps.APLCTN_SYS_ID = a.APLCTN_SYS_ID and a.APLCTN_ID = pga.APLCTN_ID) connect by h.PRNT_PROD_GRP_ID = prior h.CHILD_PROD_GRP_ID) TREE where p.prod_grp_id = TREE.PRNT_PROD_GRP_ID and c.prod_grp_id = TREE.CHILD_PROD_GRP_ID and hy.PROD_GRP_HCHY_OUTBD_ID = TREE.PROD_GRP_HCHY_OUTBD_ID) connect by prior h.PRNT_PROD_GRP_ID = h.CHILD_PROD_GRP_ID start with h.CHILD_PROD_GRP_ID = 7650 order by pg.PROD_GRP_TYP_ID;

    hey nick,
    this is the query that is run by Tibco (middleware).
    we are trying to extract this data from the data store and load into a target database.
    this query generates a tree of parent - child rows that belong to a particular criteria.
    everytime the parent is fetched for a particular child, we need to make sure that the parent falls in that criteria and hence the many (in) queries.
    hope this helps

  • Need help in tune this query.

    Hi All,
    The below query is taking nearly one hour to give the output.
      2  select sku.VK_UNIT
      3       , sku.MODEL
      4       , sku.DESCRIPTION
      5       , slt.GEO
      6       , slt.LEAD_TIME
      7       , slt.REV_LEAD_TIME
      8       , aud.LEAD_TIME        as PREV_LEAD_TIME_GEO
      9       , aud.REV_LEAD_TIME    as PREV_REV_LEAD_TIME_GEO
    10       , slt.COUNTDOWN
    11       , aud.CREATION_DATE    as EDD_CREATION_DATE_GEO
    12       , aud.CREATED_BY       as EDD_CREATED_BY_GEO
    13    from LTC_GLOBAL.LTC_SKU sku
    14       , LTC_GLOBAL.LTC_SKU_LEAD_TIME slt
    15       , (select VK_UNIT
    16               , MODEL
    17               , substr(ACTION_TYPE, 9) as GEO
    18               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU EDD ' then ACTION_VALUE  else null end) as LEAD_TIME
    19               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU EDD ' then CREATION_DATE else null end) as CREATION_DATE
    20               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU EDD ' then CREATED_BY    else null end) as CREATED_BY
    21               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU RDD ' then ACTION_VALUE  else null end) as REV_LEAD_TIME
    22               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU RDD ' then CREATION_DATE else null end) as REV_CREATION_DATE
    23               , max(case when substr(ACTION_TYPE, 1, 8) = 'SKU RDD ' then CREATED_BY    else null end) as REV_CREATED_BY
    24            from (select VK_UNIT
    25                       , MODEL
    26                       , ACTION_TYPE
    27                       , ACTION_VALUE
    28                       , CREATION_DATE
    29                       , CREATED_BY
    30                       , PREV_ACTION_VALUE
    31                       , PREV_CREATION_DATE
    32                       , PREV_CREATED_BY
    33                    from (select
    34                                 NOTE         as VK_UNIT
    35                               , NOTE2        as MODEL
    36                               , ACTION_TYPE
    37                               , ACTION_VALUE
    38                               , CREATION_DATE
    39                               , CREATED_BY
    40                               , row_number()        over(partition by NOTE, NOTE2, ACTION_TYPE order by CREATION_DATE desc) as DEPTH
    41                               , lead(CREATION_DATE) over(partition by NOTE, NOTE2, ACTION_TYPE order by CREATION_DATE desc) as PREV_CREATION_DATE
    42                               , lead(CREATED_BY   ) over(partition by NOTE, NOTE2, ACTION_TYPE order by CREATION_DATE desc) as PREV_CREATED_BY
    43                               , lead(ACTION_VALUE ) over(partition by NOTE, NOTE2, ACTION_TYPE order by CREATION_DATE desc) as PREV_ACTION_VALUE
    44                            from LTC_GLOBAL.LTC_AUDIT
    45                           where NOTE is not null
    46                             and NOTE2 is not null
    47                             and ACTION_TYPE is not null
    48                         )
    49                   where DEPTH = 2
    50                     and substr(ACTION_TYPE, 1, 8) in ('SKU EDD ', 'SKU RDD ')
    51                 )
    52           group by VK_UNIT, MODEL, substr(ACTION_TYPE, 9)
    53         ) aud
    54  where slt.VK_UNIT = sku.VK_UNIT
    55     and slt.MODEL   = sku.MODEL
    56     and slt.CLASS   = sku.CLASS
    57     and nvl(slt.LEAD_TIME, slt.REV_LEAD_TIME) is not null
    58     and aud.VK_UNIT (+)= slt.VK_UNIT
    59     and aud.MODEL   (+)= slt.MODEL
    60     and aud.GEO     (+)= slt.GEO;
    PLAN_TABLE_OUTPUT
    Plan hash value: 2687821083
    | Id  | Operation                   | Name              | Rows  | Bytes |TempSpc| Cost (%CPU)| Time  |
    |   0 | SELECT STATEMENT            |                   |   539K|   902M|       |  1005K  (1)| 03:21:05 |
    |*  1 |  HASH JOIN OUTER            |                   |   539K|   902M|    62M|  1005K  (1)| 03:21:05 |
    |*  2 |   HASH JOIN                 |                   |   539K|    56M|    27M| 66402   (1)| 00:13:17 |
    |*  3 |    TABLE ACCESS FULL        | LTC_SKU_LEAD_TIME |   559K|    20M|       | 23201   (2)| 00:04:39 |
    |   4 |    TABLE ACCESS FULL        | LTC_SKU_UNIT      |  5726K|   382M|       | 19570   (1)| 00:03:55 |
    |   5 |   VIEW                      |                   |  4157K|  6522M|       |   610K  (2)| 02:02:02 |
    PLAN_TABLE_OUTPUT
    |   6 |    HASH GROUP BY            |                   |  4157K|   229M|   303M|   610K  (2)| 02:02:02 |
    |*  7 |     VIEW                    |                   |  4157K|   229M|       |   551K  (2)| 01:50:21 |
    |*  8 |      WINDOW SORT PUSHED RANK|                   |  4157K|   229M|   303M|   551K  (2)| 01:50:21 |
    |*  9 |       TABLE ACCESS FULL     | LTC_AUDIT         |  4157K|   229M|       |   493K  (2)| 01:38:41 |
    Predicate Information (identified by operation id):
       1 - access("AUD"."VK_UNIT"(+)="SLT"."VK_UNIT" AND "AUD"."MODEL"(+)="SLT"."MODEL" AND
                  "AUD"."GEO"(+)="SLT"."GEO")
    PLAN_TABLE_OUTPUT
       2 - access("SLT"."VK_UNIT"="UNIT"."VK_UNIT" AND "SLT"."MODEL"="UNIT"."MODEL" AND
                  "SLT"."CLASS"="UNIT"."CLASS")
       3 - filter(NVL("SLT"."LEAD_TIME","SLT"."REV_LEAD_TIME") IS NOT NULL)
       7 - filter("DEPTH"=2)
       8 - filter(ROW_NUMBER() OVER ( PARTITION BY "NOTE","NOTE2","ACTION_TYPE" ORDER BY
                  INTERNAL_FUNCTION("CREATION_DATE") DESC )<=2)
       9 - filter((SUBSTR("ACTION_TYPE",1,8)='SKU EDD ' OR SUBSTR("ACTION_TYPE",1,8)='SKU RDD ') AND
                  "NOTE2" IS NOT NULL AND "ACTION_TYPE" IS NOT NULL)
    30 rows selected.
    SELECT COUNT(*) FROM LTC_GLOBAL.LTC_SKU--5012335
    SELECT COUNT(*) FROM  LTC_GLOBAL.LTC_SKU_LEAD_TIME--8060956
    SELECT COUNT(*) FROM  LTC_GLOBAL.LTC_AUDIT--58309887
    CREATE UNIQUE INDEX LTC_GLOBAL.LTC_SKU_LEAD_TIME_PK ON LTC_GLOBAL.LTC_SKU_LEAD_TIME(VK_UNIT, MODEL, CLASS, GEO)
    CREATE INDEX LTC_GLOBAL.LTC_AUDIT_LEAD_TIME ON LTC_GLOBAL.LTC_AUDIT(ACTION_TYPE)
    CREATE INDEX LTC_GLOBAL.LTC_AUDIT_LEAD_TIME_DOM ON LTC_GLOBAL.LTC_AUDIT(NOTE, NOTE2, ACTION_TYPE)
    CREATE INDEX LTC_GLOBAL.LTC_AUDIT_LEAD_TIME_DOM1 ON LTC_GLOBAL.LTC_AUDIT("CREATION_DATE" DESC)
    Please help me.
    Thanks in advance.

    Thanks for your response.
    Sorry for violating formatting. Since I am not aware of the format options in new environment.
    I have created functional based index on SUBSTR(ACTION_TYPE, 1, 8).
    The cost got reduced some what.But still the query is taking 40 minutes.
    The following predicate it is returning 58296618 rows.
    NOTE is not null  
    and NOTE2 is not null 
    and ACTION_TYPE is not null 
    LTC_SKU_UNIT is a view.
    The following query is used for creating this view.
       SELECT   unit.VK_UNIT,
                unit.MODEL,
                unit.CLASS,
                unit.LOB,
                unit.LAST_UPDATE_DATE,
                unit.DESCRIPTION
         FROM   LTC_GLOBAL.LTC_SKU_UNIT unit;
    The following indexes are created on the LTC_GLOBAL.LTC_SKU_UNIT table.
    CREATE INDEX LTC_GLOBAL.LTC_SKU_UNIT_IDX_CLASS ON LTC_GLOBAL.LTC_SKU_UNIT(CLASS)
    CREATE INDEX LTC_GLOBAL.LTC_SKU_UNIT_IDX_MODEL ON LTC_GLOBAL.LTC_SKU_UNIT(MODEL)
    CREATE INDEX LTC_GLOBAL.LTC_SKU_UNIT_IDX_UPDATE_DATE ON LTC_GLOBAL.LTC_SKU_UNIT(LAST_UPDATE_DATE)
    CREATE UNIQUE INDEX LTC_GLOBAL.LTC_SKU_UNIT_PK ON LTC_GLOBAL.LTC_SKU_UNIT(VK_UNIT, MODEL, CLASS)
    Is there any way to rewrite the query to improve the performance. Any suggestions to improve the performance.
    Please help me.
    Thanks in advance.

  • Please help me tune this query

    Hi,
    Could you please suggest how the below query can be tuned? At present the query takes an hour to execute for a single transaction.
    ===================================================================
    /* Formatted on 2009/07/27 17:44 (Formatter Plus v4.8.8) */
    SELECT 'x' x,
    SUBSTR (cn.trx_number, 1, INSTR (cn.trx_number, 'CN') - 1) invoice_num,
    DECODE (INSTR (cn.trx_number, 'CNT'),
    0, '¿¿¿¿¿¿¿¿ (CREDIT NOTE)',
    '¿¿¿¿¿¿¿¿ (CREDIT NOTE) / ¿¿¿¿¿¿¿¿¿¿¿'
    ) report_name,
    INSTR (cn.trx_number, 'CNT') v_or_nv,
    xxth_get_info.get_org_name (:org_id) head_office_name, lc.location_id,
    lc.location_code, lc.attribute1 tax_regis_number,
    lc.attribute2 tax_payer_id, lc.attribute14 branch_number,
    lc.attribute15 name_of_place_of_business,
    lc.address_line_1 || ' ' || lc.address_line_2 address_line1,
    lc.address_line_3 || ' ' || lc.region_1 address_line2,
    lc.region_2
    || ' '
    || lc.town_or_city
    || ' '
    || lc.postal_code
    || ' '
    || lc.country address_line3,
    cn.type_cn, cn.rac_bill_to_customer_name, cn.address1,
    cn.raa_bill_to_address3, cn.bill_to_site_use_id, cn.trx_date,
    cn.trx_number, cn.rac_bill_to_customer_num, cn.description,
    ABS (cn.extended_amount) extended_amount, ABS (cn.tax_amt) tax_amt,
    rc.trx_rec_number, rc.apply_date, rc.cash_receipt_id
    FROM ra_cust_trx_types cc,
    hr_locations_v lc,
    (SELECT b.cash_receipt_id, a.trx_number, b.trx_rec_number,
    b.apply_date
    FROM ar_payment_schedules a, ar_app_adj_v b,ar_cash_receipts c
    WHERE b.payment_schedule_id = a.payment_schedule_id
    AND c.cash_receipt_id=b.cash_receipt_id
    AND c.status='APP'
    AND b.CLASS = 'Payment'
    group by b.cash_receipt_id, a.trx_number, b.trx_rec_number,b.apply_date) rc,
    (SELECT 'B' type_cn, a.customer_trx_id, a.cust_trx_type_id,
    a.rac_bill_to_customer_name,
    a.raa_bill_to_address1
    || ' '
    || a.raa_bill_to_address2 address1,
    a.raa_bill_to_address3, a.bill_to_site_use_id, a.trx_date,
    a.trx_number,
    ( SUBSTR (a.trx_number, 1,
    INSTR (a.trx_number, 'CN', -1) - 1)
    || SUBSTR (a.trx_number, INSTR (a.trx_number, 'CN', -1) + 2)
    ) trx_number_cmp,
    a.rac_bill_to_customer_num,
    ctl.description, -- b.description
    sum(nvl(ctl.gross_extended_amount, ctl.extended_amount)) extended_amount, -- V2.0
    -- SUM (c.extended_amount) tax_amt -- V2.0
    select SUM (ctl_tax.extended_amount)
    from ra_customer_trx_lines ctl_tax,
    ra_customer_trx_lines ctl_line
    WHERE ctl_tax.link_to_cust_trx_line_id = ctl_line.customer_trx_line_id
    AND ctl_tax.line_type = 'TAX'
    AND ctl_tax.customer_trx_id = a.customer_trx_id
    ) tax_amt
    FROM ra_customer_trx_partial_v a,
    ra_customer_trx_lines ctl,
    ra_customer_trx ct,
    ra_cust_trx_types ctt,
    hz_cust_acct_sites radd,
    hz_party_sites party_site,
    hz_locations loc,
    hz_cust_site_uses site
    -- ra_customer_trx_lines_v b
    -- ar_tax_summ_v c
    WHERE a.ctt_class = 'CM'
    AND ctl.line_type = 'LINE'
    &P_CUSTOMER_NUM_CLAUSE
    &P_CUST_TRX_NUM_CLAUSE
    -- AND b.customer_trx_id = a.customer_trx_id
    AND ctl.customer_trx_id = a.customer_trx_id
    AND ctl.customer_trx_id = ct.customer_trx_id
    AND ct.cust_trx_type_id = ctt.cust_trx_type_id
    AND ctt.TYPE NOT IN ('DEP', 'GUAR', 'BR')
    AND ct.bill_to_site_use_id = site.site_use_id
    AND site.cust_acct_site_id = radd.cust_acct_site_id
    AND radd.party_site_id = party_site.party_site_id
    AND loc.location_id = party_site.location_id
    -- AND c.customer_trx_id(+) = a.customer_trx_id
    GROUP BY a.cust_trx_type_id,
    a.rac_bill_to_customer_name,
    a.raa_bill_to_address1,
    a.raa_bill_to_address2,
    a.raa_bill_to_address3,
    a.bill_to_site_use_id,
    a.trx_date,
    a.trx_number,
    a.rac_bill_to_customer_num,
    a.customer_trx_id,
    ctl.description,
    (SUBSTR (a.trx_number, 1, INSTR (a.trx_number, 'CN') - 1)
    )) cn
    WHERE cc.cust_trx_type_id = cn.cust_trx_type_id
    AND cc.global_attribute19 = lc.location_code(+)
    AND rc.trx_number = cn.trx_number_cmp
    =============================================================

    Post relevant all details as explained in this instruction:
    HOW TO: Post a SQL statement tuning request - template posting

  • Need to tune this query

    Hi
    I dont know anything about tuning
    can anybody help to tune this query
    SQL> set autotrace traceonly explain
    SQL> select count(*) from ibs_x_t_receipts c
      2  where exists                          
      3  (Select 1 from ibs_s_i_doc_receipt a,ibs_x_t_bill b
      4   where A.app_fr_doc_no = c.receipt_no
      5     and a.app_to_doc_no = b.doc_no
      6     and a.app_to_tr_type = 'TRN001'
      7     and A.app_fr_tr_type = 'TRN002'
      8     and b.bill_month <= '31-dec-2008'
      9     and b.balance_ser_amt = 0
    10     and b.balance_tax_amt = 0)
    11  /
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=212880 Card=1 Byte
              s=21)
       1    0   SORT (AGGREGATE)
       2    1     NESTED LOOPS (Cost=212880 Card=1 Bytes=21)
       3    2       VIEW OF 'VW_SQ_1' (VIEW) (Cost=212878 Card=1 Bytes=14)
       4    3         HASH (UNIQUE)
       5    4           NESTED LOOPS
       6    5             NESTED LOOPS (Cost=212878 Card=1 Bytes=66)
       7    6               VIEW OF 'index$_join$_002' (VIEW) (Cost=30021
              Card=91387 Bytes=3564093)
       8    7                 HASH JOIN
       9    8                   INDEX (RANGE SCAN) OF 'SIDOC_INDX1' (INDEX
              ) (Cost=171215 Card=91387 Bytes=3564093)
      10    8                   INDEX (RANGE SCAN) OF 'SIDOC_INDX2' (INDEX
              ) (Cost=366130 Card=91387 Bytes=3564093)
      11    6               INDEX (UNIQUE SCAN) OF 'ITL_PK2' (INDEX (UNIQU
              E)) (Cost=1 Card=1)
      12    5             TABLE ACCESS (BY INDEX ROWID) OF 'IBS_X_T_BILL'
              (TABLE) (Cost=2 Card=1 Bytes=27)
      13    2       INDEX (UNIQUE SCAN) OF 'RECEIPTS_PK2' (INDEX (UNIQUE))
               (Cost=1 Card=1 Bytes=7)it is running like anything, i didn't get the result.
    Please help me
    kanish

    --untested
    SELECT COUNT (*)
      FROM ibs_x_t_receipts c
    WHERE EXISTS (
              SELECT 1
                FROM ibs_s_i_doc_receipt a
               WHERE a.app_fr_doc_no = c.receipt_no
                 AND a.app_to_tr_type = 'TRN001'
                 AND a.app_fr_tr_type = 'TRN002'
                 AND EXISTS (
                        SELECT 1
                          FROM ibs_x_t_bill b
                         WHERE a.app_to_doc_no = b.doc_no
                           AND b.bill_month <= '31-dec-2008'
                           AND b.balance_ser_amt = 0
                           AND b.balance_tax_amt = 0))regards,
    friend
    Edited by: most wanted!!!! on Apr 17, 2012 3:51 AM

  • Sql Query Tuning. Please help me to tune this query

    Hi All ,
    I have this problematic Sql . It is taking huge time to execute. It contains a view CIDV, which i think is the bottleneck.
    I have pasted the query below. I will be pasting TKPROF and explain plan for the same. Please advice me to tune this query.
    SELECT GCC.SEGMENT1 || '.' || GCC.SEGMENT2 || '.' || GCC.SEGMENT3 || '.' ||
           GCC.SEGMENT4 || '.' || GCC.SEGMENT5 || '.' || GCC.SEGMENT6 || '.' ||
           GCC.SEGMENT7 || '.' || GCC.SEGMENT8 || '.' || GCC.SEGMENT9 OFFSET_ACCOUNT,
           OOD.ORGANIZATION_CODE,
           CIDV.SUBINVENTORY_CODE OFFSET_SUBINV,
           MIL.SEGMENT1 || '.' || MIL.SEGMENT2 || '.' || MIL.SEGMENT3 || '.' ||
           MIL.SEGMENT4 || '.' || MIL.SEGMENT5 OFFSET_LOCATOR,
           CIDV.LAST_UPDATE_LOGIN
      FROM APPS.CST_INV_DISTRIBUTION_V       CIDV,
           APPS.GL_CODE_COMBINATIONS         GCC,
           APPS.MTL_ITEM_LOCATIONS           MIL,
           APPS.ORG_ORGANIZATION_DEFINITIONS OOD
    WHERE CIDV.TRANSACTION_ID = :B2
       AND CIDV.PRIMARY_QUANTITY = (-1) * :B1
       AND CIDV.REFERENCE_ACCOUNT = GCC.CODE_COMBINATION_ID
       AND OOD.ORGANIZATION_ID = CIDV.ORGANIZATION_ID
       AND MIL.INVENTORY_LOCATION_ID = CIDV.LOCATOR_ID
       AND GCC.ACCOUNT_TYPE = 'A'****************
    TKPROF
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute  68337     10.32      10.32          0          0          0           0
    Fetch    68337    229.75     936.36      58819    6743323       1121       68232
    total   136675    240.07     946.69      58819    6743323       1121       68232
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 203     (recursive depth: 1)
    Number of plan statistics captured: 1
    Rows (1st) Rows (avg) Rows (max)  Row Source Operation
             1          1          1  MERGE JOIN CARTESIAN (cr=102 pr=15 pw=0 time=193608 us cost=56 size=219 card=1)
             1          1          1   NESTED LOOPS  (cr=100 pr=15 pw=0 time=193483 us cost=53 size=219 card=1)
             1          1          1    NESTED LOOPS  (cr=99 pr=15 pw=0 time=193407 us cost=52 size=215 card=1)
             1          1          1     NESTED LOOPS  (cr=96 pr=15 pw=0 time=193378 us cost=51 size=190 card=1)
             1          1          1      NESTED LOOPS  (cr=93 pr=15 pw=0 time=193284 us cost=49 size=162 card=1)
             1          1          1       NESTED LOOPS  (cr=89 pr=14 pw=0 time=185515 us cost=46 size=138 card=1)
             1          1          1        NESTED LOOPS  (cr=85 pr=12 pw=0 time=157975 us cost=44 size=81 card=1)
             1          1          1         NESTED LOOPS  (cr=83 pr=12 pw=0 time=157925 us cost=43 size=73 card=1)
             1          1          1          NESTED LOOPS  (cr=81 pr=12 pw=0 time=157641 us cost=43 size=132 card=2)
             1          1          1           VIEW  CST_INV_DISTRIBUTION_V (cr=78 pr=12 pw=0 time=156386 us cost=41 size=118 card=2)
             1          1          1            UNION-ALL  (cr=78 pr=12 pw=0 time=156378 us)
             0          0          0             NESTED LOOPS OUTER (cr=44 pr=9 pw=0 time=124997 us cost=20 size=291 card=1)
             0          0          0              NESTED LOOPS  (cr=44 pr=9 pw=0 time=124993 us cost=18 size=255 card=1)
             0          0          0               NESTED LOOPS  (cr=44 pr=9 pw=0 time=124990 us cost=18 size=251 card=1)
            33         33         33                MERGE JOIN CARTESIAN (cr=25 pr=6 pw=0 time=98544 us cost=14 size=192 card=1)
             1          1          1                 NESTED LOOPS OUTER (cr=22 pr=5 pw=0 time=85754 us cost=12 size=156 card=1)
             1          1          1                  NESTED LOOPS  (cr=19 pr=4 pw=0 time=79830 us cost=10 size=120 card=1)
             1          1          1                   NESTED LOOPS OUTER (cr=17 pr=4 pw=0 time=79813 us cost=9 size=113 card=1)
             1          1          1                    NESTED LOOPS  (cr=15 pr=4 pw=0 time=79752 us cost=8 size=106 card=1)
             1          1          1                     NESTED LOOPS  (cr=11 pr=2 pw=0 time=43120 us cost=6 size=93 card=1)
             1          1          1                      NESTED LOOPS  (cr=7 pr=2 pw=0 time=43087 us cost=4 size=83 card=1)
             1          1          1                       NESTED LOOPS  (cr=6 pr=2 pw=0 time=43072 us cost=4 size=80 card=1)
             1          1          1                        TABLE ACCESS BY INDEX ROWID MTL_MATERIAL_TRANSACTIONS (cr=5 pr=2 pw=0 time=43042 us cost=4 size=76 card=1)
             1          1          1                         INDEX UNIQUE SCAN MTL_MATERIAL_TRANSACTIONS_U1 (cr=4 pr=2 pw=0 time=43011 us cost=3 size=0 card=1)(object id 12484094)
             1          1          1                        INDEX UNIQUE SCAN MTL_TRANSACTION_TYPES_U1 (cr=1 pr=0 pw=0 time=20 us cost=0 size=764 card=191)(object id 9983)
             1          1          1                       INDEX UNIQUE SCAN MTL_TXN_SOURCE_TYPES_U1 (cr=1 pr=0 pw=0 time=7 us cost=0 size=54 card=18)(object id 9987)
             1          1          1                      INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=4 pr=0 pw=0 time=27 us cost=2 size=736324450 card=73632445)(object id 12484155)
             1          1          1                     INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_TL_U1 (cr=4 pr=2 pw=0 time=36626 us cost=2 size=957481070 card=73652390)(object id 12484137)
             1          1          1                    TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 pr=0 pw=0 time=42 us cost=1 size=3290 card=470)
             1          1          1                     INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=28 us cost=0 size=0 card=1)(object id 9847)
             1          1          1                   TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 pr=0 pw=0 time=12 us cost=1 size=3290 card=470)
             1          1          1                    INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=7 us cost=0 size=0 card=1)(object id 9847)
             0          0          0                  INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=3 pr=1 pw=0 time=5915 us cost=2 size=36 card=1)(object id 705891)
            33         33         33                 BUFFER SORT (cr=3 pr=1 pw=0 time=12713 us cost=12 size=36 card=1)
            33         33         33                  INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=3 pr=1 pw=0 time=12582 us cost=2 size=36 card=1)(object id 705891)
             0          0          0                TABLE ACCESS BY INDEX ROWID MTL_TRANSACTION_ACCOUNTS (cr=19 pr=3 pw=0 time=26591 us cost=4 size=59 card=1)
            66         66         66                 INDEX RANGE SCAN MTL_TRANSACTION_ACCOUNTS_N1 (cr=18 pr=2 pw=0 time=13607 us cost=3 size=0 card=3)(object id 12484127)
             0          0          0               INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=0 pr=0 pw=0 time=0 us cost=0 size=4 card=1)(object id 9847)
             0          0          0              INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=0 pr=0 pw=0 time=0 us cost=2 size=36 card=1)(object id 705891)
             1          1          1             NESTED LOOPS  (cr=34 pr=3 pw=0 time=31269 us cost=21 size=288 card=1)
             1          1          1              NESTED LOOPS  (cr=30 pr=3 pw=0 time=31161 us cost=19 size=275 card=1)
             1          1          1               NESTED LOOPS  (cr=26 pr=3 pw=0 time=31105 us cost=17 size=265 card=1)
             1          1          1                NESTED LOOPS  (cr=25 pr=3 pw=0 time=31082 us cost=17 size=261 card=1)
             1          1          1                 NESTED LOOPS OUTER (cr=23 pr=3 pw=0 time=31027 us cost=16 size=254 card=1)
             1          1          1                  NESTED LOOPS  (cr=21 pr=3 pw=0 time=30980 us cost=15 size=247 card=1)
             1          1          1                   NESTED LOOPS  (cr=20 pr=3 pw=0 time=30957 us cost=15 size=243 card=1)
             1          1          1                    NESTED LOOPS OUTER (cr=19 pr=3 pw=0 time=30926 us cost=15 size=240 card=1)
             1          1          1                     NESTED LOOPS  (cr=16 pr=3 pw=0 time=30389 us cost=13 size=204 card=1)
             1          1          1                      NESTED LOOPS  (cr=11 pr=0 pw=0 time=665 us cost=9 size=131 card=1)
             1          1          1                       NESTED LOOPS OUTER (cr=8 pr=0 pw=0 time=306 us cost=7 size=95 card=1)
             1          1          1                        TABLE ACCESS BY INDEX ROWID MTL_TRANSACTION_ACCOUNTS (cr=5 pr=0 pw=0 time=37 us cost=5 size=59 card=1)
             2          2          2                         INDEX RANGE SCAN MTL_TRANSACTION_ACCOUNTS_N1 (cr=4 pr=0 pw=0 time=17 us cost=4 size=0 card=3)(object id 12484127)
             1          1          1                        INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=3 pr=0 pw=0 time=216 us cost=2 size=36 card=1)(object id 705891)
             1          1          1                       INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=3 pr=0 pw=0 time=352 us cost=2 size=36 card=1)(object id 705891)
             1          1          1                      TABLE ACCESS BY INDEX ROWID MTL_MATERIAL_TRANSACTIONS (cr=5 pr=3 pw=0 time=29716 us cost=4 size=73 card=1)
             1          1          1                       INDEX RANGE SCAN MTL_MATERIAL_TRANSACTIONS_N23 (cr=4 pr=3 pw=0 time=29588 us cost=3 size=0 card=1)(object id 12484133)
             0          0          0                     INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=3 pr=0 pw=0 time=520 us cost=2 size=36 card=1)(object id 705891)
             1          1          1                    INDEX UNIQUE SCAN MTL_TXN_SOURCE_TYPES_U1 (cr=1 pr=0 pw=0 time=22 us cost=0 size=3 card=1)(object id 9987)
             1          1          1                   INDEX UNIQUE SCAN MTL_TRANSACTION_TYPES_U1 (cr=1 pr=0 pw=0 time=16 us cost=0 size=4 card=1)(object id 9983)
             1          1          1                  TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 pr=0 pw=0 time=34 us cost=1 size=7 card=1)
             1          1          1                   INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=19 us cost=0 size=0 card=1)(object id 9847)
             1          1          1                 TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 pr=0 pw=0 time=44 us cost=1 size=7 card=1)
             1          1          1                  INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=14 us cost=0 size=0 card=1)(object id 9847)
             1          1          1                INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=13 us cost=0 size=4 card=1)(object id 9847)
             1          1          1               INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=4 pr=0 pw=0 time=49 us cost=2 size=10 card=1)(object id 12484155)
             1          1          1              INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_TL_U1 (cr=4 pr=0 pw=0 time=96 us cost=2 size=13 card=1)(object id 12484137)
             1          1          1           TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=3 pr=0 pw=0 time=1246 us cost=1 size=7 card=1)
             1          1          1            INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=2 pr=0 pw=0 time=24 us cost=0 size=0 card=1)(object id 250158)
             1          1          1          INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 pr=0 pw=0 time=275 us cost=0 size=7 card=1)(object id 689101)
             1          1          1         TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 pr=0 pw=0 time=38 us cost=1 size=8 card=1)
             1          1          1          INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 pr=0 pw=0 time=15 us cost=0 size=0 card=1)(object id 9847)
             1          1          1        TABLE ACCESS BY INDEX ROWID GL_CODE_COMBINATIONS (cr=4 pr=2 pw=0 time=27531 us cost=2 size=57 card=1)
             1          1          1         INDEX UNIQUE SCAN GL_CODE_COMBINATIONS_U1 (cr=3 pr=1 pw=0 time=19925 us cost=1 size=0 card=1)(object id 51426)
             1          1          1       TABLE ACCESS BY INDEX ROWID MTL_ITEM_LOCATIONS (cr=4 pr=1 pw=0 time=7758 us cost=3 size=24 card=1)
             1          1          1        INDEX RANGE SCAN MTL_ITEM_LOCATIONS_U1 (cr=3 pr=0 pw=0 time=51 us cost=2 size=0 card=1)(object id 9761)
             1          1          1      TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=3 pr=0 pw=0 time=85 us cost=2 size=28 card=1)
             1          1          1       INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK2 (cr=2 pr=0 pw=0 time=29 us cost=1 size=0 card=2)(object id 5379798)
             1          1          1     TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=3 pr=0 pw=0 time=25 us cost=1 size=25 card=1)
             1          1          1      INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK2 (cr=2 pr=0 pw=0 time=11 us cost=1 size=0 card=1)(object id 5379798)
             1          1          1    INDEX FULL SCAN GL_SETS_OF_BOOKS_U2 (cr=1 pr=0 pw=0 time=69 us cost=1 size=4 card=1)(object id 1380842)
             1          1          1   BUFFER SORT (cr=2 pr=0 pw=0 time=110 us cost=55 size=0 card=1)
             1          1          1    TABLE ACCESS FULL FND_PRODUCT_GROUPS (cr=2 pr=0 pw=0 time=59 us cost=3 size=0 card=1)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      library cache lock                              2        0.00          0.00
      library cache pin                               2        0.00          0.00
      Disk file operations I/O                      249        0.00          0.00
      db file sequential read                     58819        2.61        714.28
      gc cr grant 2-way                            5198        0.16          4.52
      gc current grant busy                           1        0.00          0.00
      KJC: Wait for msg sends to complete           517        0.00          0.05
      library cache: mutex X                        433        0.01          0.04
      gc cr grant congested                          28        0.08          0.18
      latch: ges resource hash list                   5        0.00          0.00
      gc current block 2-way                        513        0.11          0.61
      gc current block congested                      2        0.00          0.00
      latch: gc element                              16        0.00          0.01
      latch: cache buffers chains                     4        0.00          0.00
      latch: object queue header operation            3        0.00          0.00
    ********************************************************************************

    Explain Plan for the query
    SELECT STATEMENT, GOAL = ALL_ROWS               Cost=56     Cardinality=1     Bytes=219
    MERGE JOIN CARTESIAN               Cost=56     Cardinality=1     Bytes=219
      NESTED LOOPS               Cost=53     Cardinality=1     Bytes=219
       NESTED LOOPS               Cost=52     Cardinality=1     Bytes=215
        NESTED LOOPS               Cost=51     Cardinality=1     Bytes=190
         NESTED LOOPS               Cost=49     Cardinality=1     Bytes=162
          NESTED LOOPS               Cost=46     Cardinality=1     Bytes=138
           NESTED LOOPS               Cost=44     Cardinality=1     Bytes=81
            NESTED LOOPS               Cost=43     Cardinality=1     Bytes=73
             NESTED LOOPS               Cost=43     Cardinality=2     Bytes=132
              VIEW     Object owner=APPS     Object name=CST_INV_DISTRIBUTION_V     Cost=41     Cardinality=2     Bytes=118
               UNION-ALL                         
                NESTED LOOPS OUTER               Cost=20     Cardinality=1     Bytes=291
                 NESTED LOOPS               Cost=18     Cardinality=1     Bytes=255
                  NESTED LOOPS               Cost=18     Cardinality=1     Bytes=251
                   MERGE JOIN CARTESIAN               Cost=14     Cardinality=1     Bytes=192
                    NESTED LOOPS OUTER               Cost=12     Cardinality=1     Bytes=156
                     NESTED LOOPS               Cost=10     Cardinality=1     Bytes=120
                      NESTED LOOPS OUTER               Cost=9     Cardinality=1     Bytes=113
                       NESTED LOOPS               Cost=8     Cardinality=1     Bytes=106
                        NESTED LOOPS               Cost=6     Cardinality=1     Bytes=93
                         NESTED LOOPS               Cost=4     Cardinality=1     Bytes=83
                          NESTED LOOPS               Cost=4     Cardinality=1     Bytes=80
                           TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_MATERIAL_TRANSACTIONS     Cost=4     Cardinality=1     Bytes=76
                            INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_MATERIAL_TRANSACTIONS_U1     Cost=3     Cardinality=1     
                           INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_TRANSACTION_TYPES_U1     Cost=0     Cardinality=191     Bytes=764
                          INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_TXN_SOURCE_TYPES_U1     Cost=0     Cardinality=18     Bytes=54
                         INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_SYSTEM_ITEMS_B_U1     Cost=2     Cardinality=73632445     Bytes=736324450
                        INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_SYSTEM_ITEMS_TL_U1     Cost=2     Cardinality=73652390     Bytes=957481070
                       TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_PARAMETERS     Cost=1     Cardinality=470     Bytes=3290
                        INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     
                      TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_PARAMETERS     Cost=1     Cardinality=470     Bytes=3290
                       INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     
                     INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                    BUFFER SORT               Cost=12     Cardinality=1     Bytes=36
                     INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                   TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_TRANSACTION_ACCOUNTS     Cost=4     Cardinality=1     Bytes=59
                    INDEX RANGE SCAN     Object owner=INV     Object name=MTL_TRANSACTION_ACCOUNTS_N1     Cost=3     Cardinality=3     
                  INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     Bytes=4
                 INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                NESTED LOOPS               Cost=21     Cardinality=1     Bytes=288
                 NESTED LOOPS               Cost=19     Cardinality=1     Bytes=275
                  NESTED LOOPS               Cost=17     Cardinality=1     Bytes=265
                   NESTED LOOPS               Cost=17     Cardinality=1     Bytes=261
                    NESTED LOOPS OUTER               Cost=16     Cardinality=1     Bytes=254
                     NESTED LOOPS               Cost=15     Cardinality=1     Bytes=247
                      NESTED LOOPS               Cost=15     Cardinality=1     Bytes=243
                       NESTED LOOPS OUTER               Cost=15     Cardinality=1     Bytes=240
                        NESTED LOOPS               Cost=13     Cardinality=1     Bytes=204
                         NESTED LOOPS               Cost=9     Cardinality=1     Bytes=131
                          NESTED LOOPS OUTER               Cost=7     Cardinality=1     Bytes=95
                           TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_TRANSACTION_ACCOUNTS     Cost=5     Cardinality=1     Bytes=59
                            INDEX RANGE SCAN     Object owner=INV     Object name=MTL_TRANSACTION_ACCOUNTS_N1     Cost=4     Cardinality=3     
                           INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                          INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                         TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_MATERIAL_TRANSACTIONS     Cost=4     Cardinality=1     Bytes=73
                          INDEX RANGE SCAN     Object owner=INV     Object name=MTL_MATERIAL_TRANSACTIONS_N23     Cost=3     Cardinality=1     
                        INDEX RANGE SCAN     Object owner=APPLSYS     Object name=FND_LOOKUP_VALUES_U1     Cost=2     Cardinality=1     Bytes=36
                       INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_TXN_SOURCE_TYPES_U1     Cost=0     Cardinality=1     Bytes=3
                      INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_TRANSACTION_TYPES_U1     Cost=0     Cardinality=1     Bytes=4
                     TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_PARAMETERS     Cost=1     Cardinality=1     Bytes=7
                      INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     
                    TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_PARAMETERS     Cost=1     Cardinality=1     Bytes=7
                     INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     
                   INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     Bytes=4
                  INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_SYSTEM_ITEMS_B_U1     Cost=2     Cardinality=1     Bytes=10
                 INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_SYSTEM_ITEMS_TL_U1     Cost=2     Cardinality=1     Bytes=13
              TABLE ACCESS BY INDEX ROWID     Object owner=HR     Object name=HR_ALL_ORGANIZATION_UNITS     Cost=1     Cardinality=1     Bytes=7
               INDEX UNIQUE SCAN     Object owner=HR     Object name=HR_ORGANIZATION_UNITS_PK     Cost=0     Cardinality=1     
             INDEX UNIQUE SCAN     Object owner=HR     Object name=HR_ALL_ORGANIZATION_UNTS_TL_PK     Cost=0     Cardinality=1     Bytes=7
            TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_PARAMETERS     Cost=1     Cardinality=1     Bytes=8
             INDEX UNIQUE SCAN     Object owner=INV     Object name=MTL_PARAMETERS_U1     Cost=0     Cardinality=1     
           TABLE ACCESS BY INDEX ROWID     Object owner=GL     Object name=GL_CODE_COMBINATIONS     Cost=2     Cardinality=1     Bytes=57
            INDEX UNIQUE SCAN     Object owner=GL     Object name=GL_CODE_COMBINATIONS_U1     Cost=1     Cardinality=1     
          TABLE ACCESS BY INDEX ROWID     Object owner=INV     Object name=MTL_ITEM_LOCATIONS     Cost=3     Cardinality=1     Bytes=24
           INDEX RANGE SCAN     Object owner=INV     Object name=MTL_ITEM_LOCATIONS_U1     Cost=2     Cardinality=1     
         TABLE ACCESS BY INDEX ROWID     Object owner=HR     Object name=HR_ORGANIZATION_INFORMATION     Cost=2     Cardinality=1     Bytes=28
          INDEX RANGE SCAN     Object owner=HR     Object name=HR_ORGANIZATION_INFORMATIO_FK2     Cost=1     Cardinality=2     
        TABLE ACCESS BY INDEX ROWID     Object owner=HR     Object name=HR_ORGANIZATION_INFORMATION     Cost=1     Cardinality=1     Bytes=25
         INDEX RANGE SCAN     Object owner=HR     Object name=HR_ORGANIZATION_INFORMATIO_FK2     Cost=1     Cardinality=1     
       INDEX FULL SCAN     Object owner=GL     Object name=GL_SETS_OF_BOOKS_U2     Cost=1     Cardinality=1     Bytes=4
      BUFFER SORT               Cost=55     Cardinality=1     
       TABLE ACCESS FULL     Object owner=APPLSYS     Object name=FND_PRODUCT_GROUPS     Cost=3     Cardinality=1     

  • Please tune this query.

    Hi Experts,
    My below query is taking long time.
    [code]SELECT FAX_LIST.*
        FROM (SELECT /*+ use_nl(fax, src)  */
                    ROW_NUMBER () OVER (ORDER BY fax.ID ASC NULLS FIRST) RN,
                     fax.ACCOUNT_TYPE,
                     fax.BU_FILE_LOCATION,
                     fax.COUNT_PAGES_RECEIVED,
                     NVL (fax.CUSTOMER_NAME, fax.SENDER_NAME) AS CUSTOMER_NAME,
                     fax.FAX_SOURCE,
                     fax.CUSTOMER_NUMBER,
                     fax.CUSTOMER_OMEGA_NUMBER,
                     fax.GENIFAX_RECIPIENT_ID,
                     fax.ID AS FAX_ID,
                     fax.DATE_RECEIVED AS FAX_RECEIVED,
                     fax.IS_LOCKED,
                     fax.LOCKED_BY,
                     fax.ORIGINATOR_CSI,
                     fax.MARGIN,
                     fax.PAYMENT_TYPE,
                     fax.PRIORITY_CODE,
                     fax.PRIORITY_VALUE,
                     FROM_TZ (fax.DATE_RECEIVED, 'UTC')
                        AT TIME ZONE fax.LOCAL_TZ_NAME
                        AS DATE_RECEIVED,
                     fax.SALES_PERSON,
                     fax.SENDER_EMAIL,
                     fax.SENDER_NAME,
                     fax.SUBJECT,
                     fax.WORKGROUP_ID,
                     fax.LOCKED_TIME,
                     src.DESCRIPTION,
                     src.FAX_NUMBER,
                     src.WORKFLOW_ID,
                     fax.CREATED_BY,
                     fax.CREATED_DATE,
                     fax.UPDATE_DATE,
                     fax.UPDATED_BY,
                     fax.RESERVED_BY,
                     fax.PRICE_TO_ORDER,
                     fax.SKU_COUNT_TO_ORDER,
                     NVL (ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).CHANGED_BY,
                        CASE
                           WHEN fax.LAST_TRANSITION_ID IS NULL
                                AND fax.GENIFAX_RECIPIENT_ID IS NOT NULL
                           THEN
                              'ORL FEEDER'
                           ELSE
                              'Admin'
                        END)
                        AS LAST_USER,
                     FROM_TZ (
                        NVL (ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).CHANGED_DATE,
                             fax.DATE_RECEIVED),
                        'UTC')
                        AT TIME ZONE fax.LOCAL_TZ_NAME
                        AS MOVE_DATETIME,
                     NVL (ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).REASON,
                          'Reroute')
                        AS MOVE_REASON,
                     NVL (
                        (SELECT fw.DESCRIPTION
                           FROM ORL.WORKGROUP_TRANSITION wt, ORL.WORKGROUP fw
                          WHERE wt.ID =
                                   ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).WORKGROUP_TRANSITION_ID
                                AND fw.ID = wt.CURRENT_WORKGROUP_ID),
                        CASE
                           WHEN fax.LAST_TRANSITION_ID IS NULL
                                AND fax.GENIFAX_RECIPIENT_ID IS NOT NULL
                           THEN
                              'ORL FEEDER STAGING'
                           ELSE
                              'N/A'
                        END)
                        AS OLD_STATUS,
                     (SELECT MAX (PURCHASE_ORDER_NUMBER)
                        FROM ORL.FAX_OFFER_DETAIL
                       WHERE FAX_ID = fax.ID)
                        AS MAXPO,
                     (SELECT CASE COUNT (PURCHASE_ORDER_NUMBER)
                                WHEN 0 THEN NULL
                                ELSE COUNT (PURCHASE_ORDER_NUMBER)
                             END
                                AS POCOUNT
                        FROM ORL.FAX_OFFER_DETAIL
                       WHERE FAX_ID = fax.ID)
                        AS POCOUNT,
                     (SELECT SUM (VALUE) AS ORDER_VALUE
                        FROM ORL.FAX_OFFER_DETAIL
                       WHERE FAX_ID = fax.ID)
                        AS ORDER_VALUE,
                     fax.SALESPERSON_NAME,
                     fax.GROUP_NAME,
                     fax.ROLE_NAME,
                     fax.EMAIL,
                     fax.SALES_CHANNEL
                FROM (SELECT fax.*,
                             map.ORACLE_TZ_NAME AS LOCAL_TZ_NAME,
                             ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).SALESPERSON_NAME
                                AS SALESPERSON_NAME,
                             ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).GROUP_NAME
                                AS GROUP_NAME,
                             ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).ROLE_NAME
                                AS ROLE_NAME,
                             ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).EMAIL
                                AS EMAIL,
                             ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).SALES_CHANNEL
                                AS SALES_CHANNEL
                        FROM APPS_GLOBAL.GLOBAL_BU_MAPPING map,
                             (SELECT *
                                FROM ORL.FAX_HEADER FH
                               WHERE FH.WORKGROUP_ID = 262) fax
                       WHERE map.GEDIS = 'Y'
                             AND map.BU_ID = (SELECT BUID
                                                FROM ORL.WORKGROUP
                                               WHERE ID = fax.WORKGROUP_ID)
                             AND ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).SALESPERSON_NAME =
                                    'A_CARRICK') fax,
                     (SELECT *
                        FROM ORL.FAX_SOURCE FS
                       WHERE FS.WORKFLOW_ID IN
                                (SELECT  /*+ CARDINALITY(t, 1) */
                                       TO_NUMBER (
                                           COLUMN_VALUE)
                                           AS COLUMN_VALUE
                                   FROM TABLE (
                                           SplitClob ('1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
            16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
            32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
            48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
            64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
            80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
            96, 97, 98', ',')) t)) src
               WHERE src.ID(+) = fax.FAX_SOURCE) FAX_LIST
       WHERE RN BETWEEN 1 AND 100
    ORDER BY RN ASC;[/code]
    In my query the following three functions are using.
    ORL.GET_FTH_WTR
    ORL.GET_SALESPERSON
    APPS_GLOBAL.SplitClob
    [code]CREATE OR REPLACE FUNCTION ORL.GET_FTH_WTR(p_LAST_TRANSITION_ID NUMBER)
            RETURN ORL.FTH_WTR_T
            DETERMINISTIC
        IS
            v_REASON nvarchar2(1024 char);
            v_WORKGROUP_TRANSITION_ID number;
            v_CHANGED_BY nvarchar2(64 char);
            v_CHANGED_DATE timestamp(6);
        BEGIN
        SELECT
            WTR.REASON,
            wtr.WORKGROUP_TRANSITION_ID,
            fth.CHANGED_BY,
            fth.CHANGED_DATE
        INTO
            v_REASON,
            v_WORKGROUP_TRANSITION_ID,
            v_CHANGED_BY,
            v_CHANGED_DATE
        FROM
            ORL.FAX_TRANSITION_HISTORY fth,
            ORL.WORKGROUP_TRANSITION_REASON wtr
        WHERE
             fth.ID = p_LAST_TRANSITION_ID
            AND wtr.ID(+) = fth.TRANSITION_REASON_ID;
        RETURN ORL.FTH_WTR_T(v_CHANGED_BY, v_CHANGED_DATE, v_REASON, v_WORKGROUP_TRANSITION_ID);
        EXCEPTION
            WHEN NO_DATA_FOUND THEN
            RETURN ORL.FTH_WTR_T(NULL, NULL, NULL, NULL);
        END GET_FTH_WTR;
    CREATE OR REPLACE function ORL.GET_SALESPERSON(ORG_ID number, SALESPERSON_ID number)
        return ORL.SALESPERSON_T
        deterministic
    is
        apps_bu             varchar2(30);
        salesperson_name    varchar2(150 char);
        email               varchar2(70 char);
        sales_channel       varchar2(60 char);
        role_name           varchar2(60 char);
        group_name          varchar2(60 char);
    begin
        select OWNER_NAME into apps_bu
          from APPS_GLOBAL.GLOBAL_BU_MAPPING
         where ORG_ID = GET_SALESPERSON.ORG_ID;
        execute immediate
        replace('
            select SALESPERSON_NAME
                 , EMAIL
                 , SALES_CHANNEL
                 , ROLE_NAME
                 , GROUP_NAME
              from APPS_**.ORL_ACTIVE_SALESPERSON
             where SALESPERSON_ID = :1
      and  rownum = 1
                ', 'APPS_**', apps_bu)
        into salesperson_name, email, sales_channel, role_name, group_name
        using SALESPERSON_ID;
        return SALESPERSON_T(ORG_ID, SALESPERSON_ID, salesperson_name, email, sales_channel, role_name, group_name);
    exception
        when no_data_found then
            return SALESPERSON_T(null, null, null, null, null, null, null);
    end GET_SALESPERSON;
    CREATE OR REPLACE function APPS_GLOBAL.SplitClob
        p_clob          clob
      , p_delimiter     varchar2 := ','
    return StringTable
    deterministic
    pipelined
    as
        v_current_pos   pls_integer := 1;
        v_delimiter_pos pls_integer;
    begin
        if (p_clob is not NULL) and (p_delimiter is not NULL) then
            while v_current_pos <= length(p_clob) loop
                v_delimiter_pos := instr(p_clob, p_delimiter, v_current_pos);
                if  v_delimiter_pos < 1  then   -- no more delimiters
                    v_delimiter_pos := length(p_clob) + 1;
                end if;
                pipe row( to_char( substr(p_clob,
                                          v_current_pos,
                                          v_delimiter_pos - v_current_pos) ) );
                v_current_pos := v_delimiter_pos + length(p_delimiter);
            end loop;
        end if;
    end SplitClob;
    CREATE OR REPLACE TYPE SALESPERSON_T  AS OBJECT
      SALESPERSON_ID        number(15)
    , SALESPERSON_NUMBER    varchar2(150 char)
    , FIRST_NAME            varchar2(20 char)
    , LAST_NAME             varchar2(40 char)
    , SALES_CHANNEL         varchar2(60 char)
    , ORG_ID                number(15)
    , USER_NAME             varchar2(61 char)
    , EFFECTIVE_START_DATE  date
    , EFFECTIVE_END_DATE    date
    , STATUS_FLAG           varchar2(1 char)
    , EMAIL                 varchar2(70 char)
    , WORK_TELEPHONE        varchar2(60 char)
    , MANAGERS_NAME         varchar2(50 char)
    , FAX_NO                varchar2(60 char)
    , SALESPERSON_NAME      varchar2(30 char)
    , TERRITORY             varchar2(40 char)
    , FO_LOGON              varchar2(150 char)
    , BO_LOGON              varchar2(150 char)
    , SUB_CHANNEL           varchar2(25 char)
    , BUSINESS_SEGMENT      varchar2(3 char)
    , DISCOUNT_NAME         varchar2(30 char)
    , RESPONSIBILITY_ID     number
    , RESPONSIBILITY_KEY    varchar2(30 char)
    CREATE OR REPLACE TYPE STRINGTABLE as table of varchar2(4000);[/code]
    The total number of records in each table.
    [code]SELECT COUNT(*) FROM ORL.FAX_HEADER FH --4397829
    SELECT COUNT(*) FROM APPS_GLOBAL.GLOBAL_BU_MAPPING map --31
    SELECT COUNT(*) FROM ORL.WORKGROUP_TRANSITION  --6735
    SELECT COUNT(*) FROM ORL.WORKGROUP fw --1495
    SELECT COUNT(*) FROM ORL.FAX_OFFER_DETAIL --5904039
    SELECT COUNT(*) FROM  ORL.FAX_SOURCE--2368 --2457[/code]
    Indexes on the columns.
    [code]ORL.WORKGROUP_TRANSITION(ID),
    ORL.WORKGROUP(ID),
    ORL.FAX_OFFER_DETAIL(FAX_ID),
    ORL.FAX_HEADER(WORKGROUP_ID).[/code]
    Please help me to tune this query.
    Thanks in advance.

    Hi,
    Thanks for your reply.
    For split the numbers into different rows , we are sending randomly.
    It's not constant numbers.We have used bind variables.
    For testing purpose I have hard coded the values.
    How to do this split without using user defined function.
    I am sending the actual query along with execution plan without any hints.
    [code]SELECT   FAX_LIST.*
      FROM   (SELECT   ROW_NUMBER () OVER (ORDER BY fax.ID ASC) RN,
                       fax.ACCOUNT_TYPE,
                       fax.BU_FILE_LOCATION,
                       fax.COUNT_PAGES_RECEIVED,
                       NVL (fax.CUSTOMER_NAME, fax.SENDER_NAME) AS CUSTOMER_NAME,
                       fax.FAX_SOURCE,
                       fax.CUSTOMER_NUMBER,
                       fax.CUSTOMER_OMEGA_NUMBER,
                       fax.GENIFAX_RECIPIENT_ID,
                       fax.ID AS FAX_ID,
                       fax.DATE_RECEIVED AS FAX_RECEIVED,
                       fax.IS_LOCKED,
                       fax.LOCKED_BY,
                       fax.ORIGINATOR_CSI,
                       fax.MARGIN,
                       fax.PAYMENT_TYPE,
                       fax.PRIORITY_CODE,
                       fax.PRIORITY_VALUE,
                       FROM_TZ (fax.DATE_RECEIVED, 'UTC') AT TIME ZONE map.ORACLE_TZ_NAME AS DATE_RECEIVED,
                       fax.SALES_PERSON,
                       fax.SENDER_EMAIL,
                       fax.SENDER_NAME,
                       fax.SUBJECT,
                       fax.WORKGROUP_ID,
                       fax.LOCKED_TIME,
                       src.DESCRIPTION,
                       src.FAX_NUMBER,
                       src.WORKFLOW_ID,
                       fax.CREATED_BY,
                       fax.CREATED_DATE,
                       fax.UPDATE_DATE,
                       fax.UPDATED_BY,
                       fax.RESERVED_BY,
                       fax.PRICE_TO_ORDER,
                       fax.SKU_COUNT_TO_ORDER,
                       NVL (
                          ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).CHANGED_BY,
                          CASE
                             WHEN fax.LAST_TRANSITION_ID IS NULL
                                  AND fax.GENIFAX_RECIPIENT_ID IS NOT NULL
                             THEN
                                'ORL FEEDER'
                             ELSE
                                'Admin'
                          END
                          AS LAST_USER,
                       FROM_TZ (NVL (ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).CHANGED_DATE,fax.DATE_RECEIVED),'UTC')
                       AT TIME ZONE map.ORACLE_TZ_NAME AS MOVE_DATETIME,
                       NVL (ORL.GET_FTH_WTR (fax.LAST_TRANSITION_ID).REASON,'Reroute')AS MOVE_REASON,
                       NVL ((SELECT   fw.DESCRIPTION
                             FROM   ORL.WORKGROUP_TRANSITION wt, ORL.WORKGROUP fw
                            WHERE   wt.ID =
                                       ORL.GET_FTH_WTR (
                                          fax.LAST_TRANSITION_ID
                                       ).WORKGROUP_TRANSITION_ID
                                    AND fw.ID = wt.CURRENT_WORKGROUP_ID),
                          CASE
                             WHEN fax.LAST_TRANSITION_ID IS NULL
                                  AND fax.GENIFAX_RECIPIENT_ID IS NOT NULL
                             THEN
                                'ORL FEEDER STAGING'
                             ELSE
                                'N/A'
                          END
                          AS OLD_STATUS,
                       (SELECT   MAX (PURCHASE_ORDER_NUMBER)
                          FROM   ORL.FAX_OFFER_DETAIL
                         WHERE   FAX_ID = fax.ID)
                          AS MAXPO,
                       (SELECT   CASE COUNT (PURCHASE_ORDER_NUMBER)
                                    WHEN 0 THEN NULL
                                    ELSE COUNT (PURCHASE_ORDER_NUMBER)
                                 END
                                    AS POCOUNT
                          FROM   ORL.FAX_OFFER_DETAIL
                         WHERE   FAX_ID = fax.ID)
                          AS POCOUNT,
                       (SELECT   SUM (VALUE) AS ORDER_VALUE
                          FROM   ORL.FAX_OFFER_DETAIL
                         WHERE   FAX_ID = fax.ID) AS ORDER_VALUE,
                       ORL.GET_SALESPERSON (map.ORG_ID,fax.SALES_PERSON).SALESPERSON_NAME AS SALESPERSON_NAME,
                       ORL.GET_SALESPERSON (map.ORG_ID,fax.SALES_PERSON).GROUP_NAME AS GROUP_NAME,
                       ORL.GET_SALESPERSON (map.ORG_ID,fax.SALES_PERSON).ROLE_NAME AS ROLE_NAME,
                       ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).EMAIL AS EMAIL,
                       ORL.GET_SALESPERSON (map.ORG_ID, fax.SALES_PERSON).SALES_CHANNEL AS SALES_CHANNEL
                FROM   ORL.FAX_HEADER fax,
                       APPS_GLOBAL.GLOBAL_BU_MAPPING map,
                       ORL.FAX_SOURCE src
               WHERE       fax.WORKGROUP_ID = :WORKGROUP_ID
                       AND map.GEDIS = 'Y'
                       AND map.BU_ID = (SELECT   BUID
                                          FROM   ORL.WORKGROUP
                                         WHERE   ID = fax.WORKGROUP_ID)
                       AND ORL.GET_SALESPERSON (map.ORG_ID,fax.SALES_PERSON).GROUP_NAME =:SALES_TEAM
                       AND ORL.GET_SALESPERSON (map.ORG_ID,fax.SALES_PERSON
                          ).SALESPERSON_NAME = :SALESPERSON_NAME
                       AND src.WORKFLOW_ID IN
                                (SELECT TO_NUMBER (COLUMN_VALUE) AS COLUMN_VALUE
                                   FROM table(SplitClob (:WORKFLOW_ID,:WORKFLOW_ID_delim)) t)
                       AND src.ID(+) = fax.FAX_SOURCE) FAX_LIST
    WHERE   RN BETWEEN 1 AND 100;
    Execution Plan
    | Id  | Operation                               | Name                    | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT                        |                         |     2 | 12092 | 88923   (1)|
    |   1 |  NESTED LOOPS                           |                         |     1 |    38 |     3   (0)|
    |   2 |   TABLE ACCESS BY INDEX ROWID           | WORKGROUP_TRANSITION    |     1 |     9 |     2   (0)|
    |   3 |    INDEX UNIQUE SCAN                    | PK_WORKGROUP_TRANSITION |     1 |       |     1   (0)|
    |   4 |   TABLE ACCESS BY INDEX ROWID           | WORKGROUP               |  1482 | 42978 |     1   (0)|
    |   5 |    INDEX UNIQUE SCAN                    | PK_WORKGROUP            |     1 |       |     0   (0)|
    |   6 |  SORT AGGREGATE                         |                         |     1 |    16 |            |
    |   7 |   TABLE ACCESS BY INDEX ROWID           | FAX_OFFER_DETAIL        |     1 |    16 |     5   (0)|
    |   8 |    INDEX RANGE SCAN                     | FAX_OFFER_DETAIL_IDX1   |     1 |       |     3   (0)|
    |   9 |  SORT AGGREGATE                         |                         |     1 |    16 |            |
    |  10 |   TABLE ACCESS BY INDEX ROWID           | FAX_OFFER_DETAIL        |     1 |    16 |     5   (0)|
    |  11 |    INDEX RANGE SCAN                     | FAX_OFFER_DETAIL_IDX1   |     1 |       |     3   (0)|
    |  12 |  SORT AGGREGATE                         |                         |     1 |    11 |            |
    |  13 |   TABLE ACCESS BY INDEX ROWID           | FAX_OFFER_DETAIL        |     1 |    11 |     5   (0)|
    |  14 |    INDEX RANGE SCAN                     | FAX_OFFER_DETAIL_IDX1   |     1 |       |     3   (0)|
    |  15 |  VIEW                                   |                         |     2 | 12092 | 88923   (1)|
    |  16 |   WINDOW SORT PUSHED RANK               |                         |     2 |  1378 | 88923   (1)|
    |  17 |    NESTED LOOPS                         |                         |       |       |            |
    |  18 |     NESTED LOOPS                        |                         |     2 |  1378 | 88920   (1)|
    |  19 |      NESTED LOOPS                       |                         | 18420 |    11M| 70490   (1)|
    |  20 |       HASH JOIN RIGHT SEMI              |                         |    69 |  3657 |    49   (3)|
    |  21 |        COLLECTION ITERATOR PICKLER FETCH| SPLITCLOB               |  8168 | 16336 |    29   (0)|
    |  22 |        TABLE ACCESS FULL                | FAX_SOURCE              |  2409 |   119K|    19   (0)|
    |  23 |       TABLE ACCESS BY INDEX ROWID       | FAX_HEADER              |   268 |   160K|  2854   (1)|
    |  24 |        INDEX RANGE SCAN                 | FAX_HEADER_FS_IDX       |  4345 |       |     7   (0)|
    |  25 |      INDEX RANGE SCAN                   | GLOBAL_BU_MAPPING_BUID  |     1 |       |     0   (0)|
    |  26 |       TABLE ACCESS BY INDEX ROWID       | WORKGROUP               |     1 |     8 |     2   (0)|
    |  27 |        INDEX UNIQUE SCAN                | PK_WORKGROUP            |     1 |       |     1   (0)|
    |  28 |     TABLE ACCESS BY INDEX ROWID         | GLOBAL_BU_MAPPING       |     1 |    24 |     1   (0)|
    Note
       - 'PLAN_TABLE' is old version
    Statistics
         894400  recursive calls
             60  db block gets
        7402741  consistent gets
              0  physical reads
              0  redo size
          46309  bytes sent via SQL*Net to client
            430  bytes received via SQL*Net from client
              8  SQL*Net roundtrips to/from client
         848304  sorts (memory)
              0  sorts (disk)
            100  rows processed[/code]
    Please help me.
    Thanks in advance.

  • Is there anything that can be done to tune this query?

    DB version:10gR2
    From AWR report, we have determined that the following SQL is taking most CPU Time. Is there anything that we can do to improve the performance of this query.
    We have an index on (stat_code,create_date_time) columns of ext_replenish table.
    SELECT EXT_REPLENISH.EXT_REPLENISH_ID, EXT_REPLENISH.EVENT_ID, EXT_REPLENISH.EVENT_KEY, EXT_REPLENISH.WHSE, EXT_REPLENISH.VALIDATE_KEY, EXT_REPLENISH.NBR_OF_RETRY, EXT_REPLENISH.STAT_CODE, EXT_REPLENISH.ERROR_SEQ_NBR, EXT_REPLENISH.CREATE_DATE_TIME, EXT_REPLENISH.MOD_DATE_TIME, EXT_REPLENISH.USER_ID, EXT_REPLENISH.CL_MESSAGE_ID, EXT_REPLENISH.SCHEMA_ID, EXT_REPLENISH.ELS_ACTVTY_CODE, EXT_REPLENISH.CD_MASTER_ID FROM EXT_REPLENISH WHERE ( ( ( ( ( EXT_REPLENISH.STAT_CODE = :1 ) OR ( EXT_REPLENISH.STAT_CODE = :2 ) ) OR ( ( ( EXT_REPLENISH.STAT_CODE = :3 ) AND ( EXT_REPLENISH.ERROR_SEQ_NBR >= :4 ) ) AND ( EXT_REPLENISH.ERROR_SEQ_NBR < :5 ) ) ) AND ( EXT_REPLENISH.MOD_DATE_TIME <= :6 ) ) AND ( EXT_REPLENISH.NBR_OF_RETRY < :7 ) ) AND ROWNUM <= 1 ORDER BY EXT_REPLENISH.STAT_CODE ASC, EXT_REPLENISH.CREATE_DATE_TIME ASC FOR UPDATE
    Is there anyway i could tune this query?
    note: Ignore the unnecessary brackets. They are system created(apparently by hibernate)
    Message was edited by:
    Nichols
    Taking off the pre tags due to readability issue(all words appear in single line )
    Message was edited by:
    Nichols

    From just blindly looking at this particular query, there doesn't seem any obvious reason why an index couldn't be extended to cover all the columns specified in the where clause.
    It might not help too much -> explain plan is required first really before blindly guessing.
    Obviously, there's no point having an order by and a rownum (unless you wanted to do the order by before the rownum in an outer select) - I assume this is just a Hibernatism.

  • Is there any way to tune this query? EXPLAIN PLAN included

    DB version:10gR2
    The below query was taking more than 3 seconds. The statistics are up to date for these tables. Is there any other way i could tune this query?
    SELECT COUNT(1)
    FROM
    INVN_SCOPE_DTL, ship_dtl WHERE ship_dtl.WHSE = INVN_SCOPE_DTL.WHSE (+)
    AND 'QC' = INVN_SCOPE_DTL.FROM_WORK_GRP (+)
    AND  'MQN' = INVN_SCOPE_DTL.FROM_WORK_AREA (+)
    AND  ship_dtl.START_CURR_WORK_GRP = INVN_SCOPE_DTL.TO_WORK_GRP (+)
    AND  ship_dtl.START_CURR_WORK_AREA = INVN_SCOPE_DTL.TO_WORK_AREA (+)
    AND  ship_dtl.WHSE = '930' AND  ship_dtl.OWNER_USER_ID = 'CTZDM'
    OR ship_dtl.OWNER_USER_ID = '*'
    AND ship_dtl.STAT_CODE >= '10'
    AND ship_dtl.STAT_CODE <= '20'
    ORDER BY ship_dtl.OWNER_USER_ID DESC,
    ship_dtl.CURR_TASK_PRTY ASC, INVN_SCOPE_DTL.DISTANCE ASC, ship_dtl.RLS_DATE_TIME ASC, ship_dtl.TASK_ID ASC;
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    | Id  | Operation                      |  Name               | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT               |                     |     1 |    86 |    86   (2)|
    |   1 |  SORT AGGREGATE                |                     |     1 |    86 |            |
    |   2 |   NESTED LOOPS OUTER           |                     |   898 | 77228 |    86   (2)|
    |   3 |    INLIST ITERATOR             |                     |       |       |            |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| ship_dtl            |   898 | 31430 |    85   (2)|
    |*  5 |      INDEX RANGE SCAN          | ship_dtl_IND_4      |  2876 |       |     1   (0)|
    |   6 |    TABLE ACCESS BY INDEX ROWID | INVN_SCOPE_DTL     |     1 |    51 |     2  (50)|
    PLAN_TABLE_OUTPUT
    |*  7 |     INDEX UNIQUE SCAN          | PK_INVN_SCOPE_DTL  |     1 |       |            |
    Predicate Information (identified by operation id):
       4 - filter("ship_dtl"."WHSE"='930' AND "ship_dtl"."STAT_CODE">=10 AND
                  "ship_dtl"."STAT_CODE"<=20)
       5 - access("ship_dtl"."OWNER_USER_ID"='*' OR "ship_dtl"."OWNER_USER_ID"='CTZDM')
       7 - access("INVN_SCOPE_DTL"."WHSE"(+)='930' AND
                  "INVN_SCOPE_DTL"."FROM_WORK_GRP"(+)='QC' AND "INVN_SCOPE_DTL"."FROM_WORK_AREA"(+)='MQN'
    PLAN_TABLE_OUTPUT
                  AND "ship_dtl"."START_CURR_WORK_GRP"="INVN_SCOPE_DTL"."TO_WORK_GRP"(+) AND
                  "ship_dtl"."START_CURR_WORK_AREA"="INVN_SCOPE_DTL"."TO_WORK_AREA"(+))
           filter("ship_dtl"."WHSE"="INVN_SCOPE_DTL"."WHSE"(+))
    25 rows selected.

    William Robertson wrote:
    I notice an OR predicate in the middle of some AND predicates without explicit bracketing. Are you sure it does what you think it does?I underline this point.
    A conjuction (AND expression) has a higher priority and will be executed (logically) before the disjunction (OR expression)! So your select looks like this
    SELECT COUNT(1)
    FROM INVN_SCOPE_DTL, ship_dtl
    WHERE
          ( ship_dtl.WHSE = INVN_SCOPE_DTL.WHSE (+)
          AND 'QC' = INVN_SCOPE_DTL.FROM_WORK_GRP (+)
          AND  'MQN' = INVN_SCOPE_DTL.FROM_WORK_AREA (+)
          AND  ship_dtl.START_CURR_WORK_GRP = INVN_SCOPE_DTL.TO_WORK_GRP (+)
          AND  ship_dtl.START_CURR_WORK_AREA = INVN_SCOPE_DTL.TO_WORK_AREA (+)
          AND  ship_dtl.WHSE = '930'
          AND  ship_dtl.OWNER_USER_ID = 'CTZDM'
    OR   ( ship_dtl.OWNER_USER_ID = '*'
          AND ship_dtl.STAT_CODE >= '10'
          AND ship_dtl.STAT_CODE <= '20'
    ;This might be want you want, but I doubt it very much. Please add parenthesis', to get it working the way it should be.
    Edited by: Sven W. on Oct 16, 2008 3:25 PM

  • Help to Simplify this query

    i am using
    Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.4.0 - Production
    Please help to simplify this query. I also want to make this as a procedure.
    select
    RH.resort as RH_RESORT,
    RH.rate_code as RH_RATE_CODE,
    RD.rate_detail_id as RD_RATE_DETAIL_ID,
    RD.rate1 as RD_RATE1,
    RD.rate2 as RD_RATE2,
    RD.rate3 as RD_RATE3,
    RD.rate4 as RD_RATE4,
    RD.rate5 as RD_RATE5,
    RRC.room_category as RM_CAT,
    initcap(RRMCAT.long_description) as RM_DESC,
    RH.DAY1,
    RH.DAY2,
    RH.DAY3,
    RH.DAY4,
    RH.DAY5,
    RH.DAY6,
    RH.DAY7,
    RH.WEEKEND1,
    RH.WEEKEND2,
    RH.WEEKEND3,
    RH.WEEKEND4,
    RH.WEEKEND5,
    RH.WEEKEND6,
    RH.WEEKEND7
    from pms_rate_header RH,
    pms_rate_detail RD,
    pms_rate_room_cat RRC,
    resort_room_category RRMCAT
    where RH.inactive_date is NULL
    and RH.RESORT='FABGOI'
    and RH.RATE_CODE ='CRRRACK'
    and ('15-Jan-2007' >= RH.BEGIN_DATE
    and '16-Jan-2007' <= RH.END_DATE)
    and RD.rate_header_id=RH.rate_header_id
    and RD.inactive_date is NULL
    and ('15-Jan-2007' >= RD.BEGIN_DATE
    and '16-Jan-2007' <= RD.END_DATE)
    and RRC.rate_detail_id=RD.rate_detail_id
    and RRC.resort=RH.resort
    and RRMCAT.resort=RH.resort
    and RRMCAT.room_category=RRC.room_category
    and RRC.inactive_date is NULL
    and RRMCAT.inactive_date IS NULL
    regards
    lee1212

    where RH.inactive_date is NULL
    and RH.RESORT='FABGOI'
    and RH.RATE_CODE ='CRRRACK'
    and ('15-Jan-2007' >= RH.BEGIN_DATE
    and '16-Jan-2007' <= RH.END_DATE)
    and RD.rate_header_id=RH.rate_header_id
    and RD.inactive_date is NULL
    and ('15-Jan-2007' >= RD.BEGIN_DATE
    and '16-Jan-2007' <= RD.END_DATE)
    and RRC.rate_detail_id=RD.rate_detail_id
    and RRC.resort=RH.resort
    and RRMCAT.resort=RH.resort
    and RRMCAT.room_category=RRC.room_category
    and RRC.inactive_date is NULL
    and RRMCAT.inactive_date IS NULL
    in the above part i am finding repeated joins and lot of 'and's
    i want to know any line can be eliminated or the the query can be rewritten in a simple way without affecting it's accuracy?
    regards
    Lee1212

  • How to tune this query for the improve performance ?

    Hi All,
    How to tune this query for the improve performance ?
    select a.claim_number,a.pay_cd,a.claim_occurrence_number,
    case
    when sum(case
    when a.payment_status_cd ='0'
    then a.payment_est_amt
    else 0
    end
    )=0
    then 0
    else (sum(case
    when a.payment_status_cd='0'and a.payment_est_amt > 0
    then a.payment_est_amt
    else 0
    end)
    - sum(case
    when a.payment_status_cd<>'0'
    then a.payment_amt
    else 0
    end))
    end as estimate
    from ins_claim_payment a
    where a.as_of_date between '31-jan-03' and '30-aug-06'
    and ( a.data_source = '25' or (a.data_source between '27' and '29'))
    and substr(a.pay_cd,1,1) IN ('2','3','4','8','9')
    group by a.claim_number, a.pay_cd, a.claim_occurrence_number
    Thank you,
    Mcka

    Mcka
    As well as EXPLAIN PLAN, let us know what proportion of rows are visited by this query. It may be that it is not using a full table scan when it should (or vice versa).
    And of course we'd need to know what indexes are available, and how selective they are for the predicated you have in this query ...
    Regards Nigel

  • Plz help me design this query

    Hi,
    Can you’ll please help me with this query.
    Here is a little bit of background:
    One title can have multiple items associated with it.
    Table: TITLE has the master list of titles. TITLE_ID is the primary key.
    Table: ITEM has the master list of all items. ITEM_ID is the primary. This table also has the TITLE_ID which stores title for this item.
    Table: ITEM_STATUS has fields ITEM_ID and STATUS_ID. This field contains statuses for items. But not all items contained in the table ITEM are in this table.
    I want to find TITLE_ID’s whose all items (all ITEM_ID in table ITEM having same value for TITLE_ID) have a particular status (for example STATUS_ID = 2) in table ITEM_STATUS.
    Let’s say TITLE_ID = 1 has 5 items in table ITEM_ID and only 4 items out of it in table ITEM_STATUS with STATUS_ID = 2, then this TITLE_ID should not come. OR
    Let’s say TITLE_ID = 1 has 5 items in table ITEM_ID and all these 5 items are in table ITEM_STATUS but only 1 has STATUS_ID = 2, then this TITLE_ID should also not come
    In the above case only if all 5 items are contained in table ITEM_STATUS have STATUS_ID = 2 then this TITLE_ID should be reported by the query.
    What should be the query like for this one, I am fairly new to SQL so plz guide me.
    Thank you,
    Raja

    I haven't tested the query below. Try it and let me know for any issues:
    SELECT     DISTINCT t.title_id
         FROM     title t,
                        item i,
                        item_status its
    WHERE     t.title_id = i.title_id
         AND     i.item_id = its.item_id
         AND     NOT EXISTS     (
                                                           SELECT 1
                                                                FROM item_status its1
                                                           WHERE its1.item_id = i.item_id
                                                                AND status_id <> 'YOUR_ITEM_STATUS'
                                                      )

  • Please help to modifiy this query for better performance

    Please help to rewrite this query for better performance. This is taking long time to execute.
    Table t_t_bil_bil_cycle_change contains 1200000 rows and table t_acctnumberTab countains  200000 rows.
    I have created index on ACCOUNT_ID
    Query is shown below
    update rbabu.t_t_bil_bil_cycle_change a
       set account_number =
           ( select distinct b.account_number
             from rbabu.t_acctnumberTab b
             where a.account_id = b.account_id
    Table structure  is shown below
    SQL> DESC t_acctnumberTab;
    Name           Type         Nullable Default Comments
    ACCOUNT_ID     NUMBER(10)                            
    ACCOUNT_NUMBER VARCHAR2(24)
    SQL> DESC t_t_bil_bil_cycle_change;
    Name                    Type         Nullable Default Comments
    ACCOUNT_ID              NUMBER(10)                            
    ACCOUNT_NUMBER          VARCHAR2(24) Y    

    Ishan's solution is good. I would avoid updating rows which already have the right value - it's a waste of time.
    You should have a UNIQUE or PRIMARY KEY constraint on t_acctnumberTab.account_id
    merge rbabu.t_t_bil_bil_cycle_change a
    using
          ( select distinct account_number, account_id
      from  rbabu.t_acctnumberTab
          ) t
    on    ( a.account_id = b.account_id
           and decode(a.account_number, b.account_number, 0, 1) = 1
    when matched then
      update set a.account_number = b.account_number

  • Could you please help me make this query less complicated

    could you please help me make this query less complicated
    select t1.R_OBJECT_ID
    from dm_relation_sp a, ddt_resolution_sp t1
    where a.parent_id = '0900000283560456' -----------ID
    and a.child_id = t1.R_OBJECT_ID
    union all
    select t3.R_OBJECT_ID
    from ddt_resolution_sp t3
    where t3.R_OBJECT_ID in (select t2.child_id
    from dm_relation_sp t2
    where t2.parent_id in (select a.child_id
    from asud_fsk.dm_relation_sp a, asud_fsk.ddt_resolution_sp t1
    where a.parent_id = '0900000283560456' -----------ID
    and a.child_id = t1.R_OBJECT_ID))
    union all
    select t4.R_OBJECT_ID
    from ddt_resolution_sp t4
    where t4.R_OBJECT_ID in(
    select t3.child_id from dm_relation_sp t3
    where t3.parent_id in (
    select t2.child_id
    from asud_fsk.dm_relation_sp t2
    where t2.parent_id in (select a.child_id
    from asud_fsk.dm_relation_sp a, asud_fsk.ddt_resolution_sp t1
    where a.parent_id = '0900000283560456' -----------ID
    and a.child_id = t1.R_OBJECT_ID))
    and t3.relation_name = 'RESOLUTION_RELATION')
    union all
    select t5.R_OBJECT_ID
    from ddt_resolution_sp t5
    where t5.R_OBJECT_ID in
    (select t4.child_id
    from dm_relation_sp t4
    where t4.parent_id in(
    select t3.child_id from dm_relation_sp t3
    where t3.parent_id in (
    select t2.child_id
    from asud_fsk.dm_relation_sp t2
    where t2.parent_id in (select a.child_id
    from asud_fsk.dm_relation_sp a, asud_fsk.ddt_resolution_sp t1
    where a.parent_id = '0900000283560456' -----------ID
    and a.child_id = t1.R_OBJECT_ID))
    and t3.relation_name = 'RESOLUTION_RELATION')
    and t4.relation_name = 'RESOLUTION_RELATION')
    Edited by: user13025450 on 29.04.2010 16:23

    Hi,
    Welcome to the forum! You'll find that there are many qualified people (such as Tubby) willing to help you. Will you do what you can to help them? In order to simplify the query you posted,someone will first have to understand what it does, what the tables that it uses are like, and what tools you have to work with (that is, what version of Oracle, and any other software you are using). To actually test their ideas, people will need versions of your tables.
    Many people, if they spent enough time, might be able to figure out roughly what you are doing, make some tables themselves and test a solution. You can help with all of that. I assume you already know what the appliction is, and what this particular query is supposed to do: you don't have to figure out any of that, you just have to say it. You know what all your tables are, what the datatypes of all the columns are, and what kinds of data are in the tables: you don't have to guess at any of that.
    Describe what you're doing. Think about it: how do we know that
    SELECT  NULL
    FROM    dual;doesn't do what you want?
    Post CREATE TABLE and INSERT statements for a little sample data.
    Post the results that this query is supposed to produce from those results. (Is it producing the right output now? Then it should be easy to post the correct results.)
    Describe, as well as you can, how the present query is doing it.
    Format your existing code, so it's easy to see what the different branches of the UNION are, and what the main clauses are in each one.
    When posting formatted text (code or results) type these 6 characters
    \(all small letters, inside curly brackets) before and after each formatted section, to keep this site from compressing the spaces.
    Say what versions of Oracle (e.g. 10.2.0.3.0) and any other relevant software you are using.
    I know it's a lot of work, but it really helps. You can do it as well (probably better) than anyone else, and if you're unwilling to do it, why should anyone else be willing?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Plz help Either new idea nor tune this query

    Hi,
    I had two queries like below(1 &2).And As per my requirement i need to merge two queries to as one query and i wrote that one using decode(please see Resulted query3).But it's taking too much time .PLease help to tune the
    3rd query or suggest me a new idea.
    1)
    select ts.institution_id,tsd.test_alias,count(1) from test_detail td,test_session_detail tsd,test_session ts where td.test_detail_id=tsd.test_detail_id and tsd.test_session_id=ts.test_session_id and TRUNC(test_start_date) BETWEEN to_date('02/01/2009', 'MM/DD/YYYY') AND to_date('08/04/2009', 'MM/DD/YYYY') group by ts.institution_id,tsd.test_alias
    2)
    select a.INST_SITE_ID, a.INSTITUTION_ID_DISPLAY, a.institution_name, a.SITE_ID_DISPLAY, a.site_name, a.region_name,CASE WHEN a.state_name = 'Other' THEN a.OTHER ELSE a.state_name END state_name from vueinstitutionsite a,(select distinct institution_id from test_session a,test_session_detail b where a.test_session_id=b.test_session_id and trunc(test_start_date) between to_date('08/01/2009','MM/DD/YYYY') and to_date('08/04/2009','MM/DD/YYYY'))b where a.inst_site_id=b.institution_id order by a.INSTITUTION_ID_DISPLAY
    Resulted query
    *3)*
    SELECT max(a.institution_id_display)institution_id
    ,max(a.institution_name)institution_name,max(a.site_id_display)site_id,
    max(a.site_name)site_name,max(a.region_name)region_name,
    count(decode(tsd.test_alias,'rd',tsd.test_alias))rd,
    count(decode(tsd.test_alias,'ss',tsd.test_alias))ss,
    count(decode(tsd.test_alias,'resk',tsd.test_alias))resk,
    count(decode(tsd.test_alias,'snmn',tsd.test_alias))snmn,
    count(decode(tsd.test_alias,'clm',tsd.test_alias))clm,
    count(decode(tsd.test_alias,'lgus',tsd.test_alias))lgus,
    count(decode(tsd.test_alias,'loeplis',tsd.test_alias))loeplis,
    count(decode(tsd.test_alias,'arit',tsd.test_alias))arit,
    count(decode(tsd.test_alias,'alge',tsd.test_alias))alge,
    count(decode(tsd.test_alias,'wp_i3',tsd.test_alias))wp_i3,
    count(decode(tsd.test_alias,'wp_esl',tsd.test_alias))wp_esl,
    count(decode(tsd.test_alias,'css',tsd.test_alias))css,
    count(decode(tsd.test_alias,'crd',tsd.test_alias))crd,
    count(decode(tsd.test_alias,'carit',tsd.test_alias))carit,
    count(decode(tsd.test_alias,'calge',tsd.test_alias))calge,
    count(decode(tsd.test_alias,'cclm',tsd.test_alias))cclm,
    count(decode(tsd.test_alias,'cresk',tsd.test_alias))cresk,
    count(decode(tsd.test_alias,'csnmn',tsd.test_alias))csnmn,
    count(decode(tsd.test_alias,'clgus',tsd.test_alias))clgus,
    count(decode(tsd.test_alias,'csp',tsd.test_alias))csp,
    count(decode(tsd.test_alias,'cspb',tsd.test_alias))cspb,
    count(decode(tsd.test_alias,'localtest',tsd.test_alias))localtest
    FROM test_detail td,test_session_detail tsd,test_session ts,vueinstitutionsite a
    WHERE td.test_detail_id = tsd.test_detail_id
    AND tsd.test_session_id = ts.test_session_id
    and a.inst_site_id = ts.institution_id
    AND TRUNC(test_start_date) BETWEEN to_date('08/27/2009', 'MM/DD/YYYY') AND to_date('09/02/2009', 'MM/DD/YYYY')
    GROUP BY ts.institution_id
    order by institution_id
    Plz help me ASAP
    thanks,
    Raj

    I'm posting DDL scripts as a two posts due to maximum exceeding length
    *5 tables are in Underlying view*
    1)INSTITUTION
      CREATE TABLE "CATTEMP"."INSTITUTION"
       (     "INSTITUTION_ID" NUMBER NOT NULL ENABLE,
         "LEVEL_TYPE_ID" NUMBER NOT NULL ENABLE,
         "REGION_CODE" VARCHAR2(4 BYTE) NOT NULL ENABLE,
         "BELONGS_TO" NUMBER NOT NULL ENABLE,
         "NAME" VARCHAR2(200 BYTE) NOT NULL ENABLE,
         "DESCRIPTION" VARCHAR2(200 BYTE),
         "ADDRESS_1" VARCHAR2(100 BYTE),
         "ADDRESS_2" VARCHAR2(100 BYTE),
         "CITY" VARCHAR2(30 BYTE),
         "STATE" VARCHAR2(30 BYTE),
         "ZIP" VARCHAR2(20 BYTE),
         "COUNTRY" VARCHAR2(30 BYTE),
         "LOCATION" VARCHAR2(30 BYTE),
         "PHONE" VARCHAR2(20 BYTE),
         "FAX" VARCHAR2(20 BYTE),
         "OTHER" VARCHAR2(30 BYTE),
         "INSTITUTION_CATEGORY" VARCHAR2(100 BYTE),
         "INSTITUTION_TYPE" VARCHAR2(30 BYTE),
         "IS_CB_MEMBER" CHAR(1 BYTE),
         "ATB_TESTING" CHAR(1 BYTE),
         "HOW_DID_YOU_HEAR" VARCHAR2(100 BYTE),
         "FIRST_LOGIN_DATE" DATE,
         "ACTIVE_STATUS" VARCHAR2(20 BYTE),
         "AVAILABLE_TEST_UNITS" NUMBER,
         "STUDENT_BODY_SIZE" VARCHAR2(30 BYTE),
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "MODIFIED_ON" DATE DEFAULT SYSDATE,
         "CREATED_BY" NUMBER,
         "MODIFIED_BY" NUMBER,
         "ACCUPLACER_USER" CHAR(1 BYTE),
         "RESEND_MAIL_DATE" DATE,
         "LAST_ACTIVITY_DATE" DATE,
         "ACCT_ACTIVATION_DATE" DATE,
         "INSTITUTION_ID_DISPLAY" VARCHAR2(10 BYTE),
         "LAST_CB_UPDATE" DATE,
          CONSTRAINT "PK_INSTITUTION" PRIMARY KEY ("INSTITUTION_ID")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8001"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8002"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8003"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8004"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8005"
       TABLESPACE "CAT_IDX_TB5")  ENABLE,
          CONSTRAINT "UK_INSTITUTION" UNIQUE ("INSTITUTION_ID_DISPLAY")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT"  ENABLE,
          CONSTRAINT "FK_INSTITUTION1" FOREIGN KEY ("LEVEL_TYPE_ID")
           REFERENCES "CATTEMP"."LEVEL_TYPE_MASTER" ("LEVEL_TYPE_ID") ENABLE,
          CONSTRAINT "FK_INSTITUTION2" FOREIGN KEY ("REGION_CODE")
           REFERENCES "CATTEMP"."REGION" ("REGION_CODE") ENABLE,
          CONSTRAINT "FK_INSTITUTION3" FOREIGN KEY ("BELONGS_TO")
           REFERENCES "CATTEMP"."INSTITUTION" ("INSTITUTION_ID") ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA"
      PARTITION BY HASH ("INSTITUTION_ID")
    (PARTITION "SYS_P8001"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8002"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8003"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8004"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8005"
       TABLESPACE "CAT_DATA") ;
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."LEVEL_TYPE_ID" IS 'IDENTIFIES WHETHER THIS IS AN INSTITUTION OR SITE';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."REGION_CODE" IS 'REGION TO WHICH THE INSTITUTION BELONGS TO';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."PHONE" IS 'PHONE NUMBER';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."FAX" IS 'FAX NUMBER';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."HOW_DID_YOU_HEAR" IS 'HOW DID YOU HEAR INFORMATION';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."FIRST_LOGIN_DATE" IS 'USED TO FIND FIRST LOGIN DATE INFORMATION';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."ACTIVE_STATUS" IS 'CURRENT ACTIVATION STATUS';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."AVAILABLE_TEST_UNITS" IS 'AVAILABLE TEST UNITS WITH THE INSITUTION';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."STUDENT_BODY_SIZE" IS 'STUDENT SIZE UNDER THE INSTITUTION';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."CREATED_ON" IS 'INSITUTION CREATION DATE';
       COMMENT ON COLUMN "CATTEMP"."INSTITUTION"."MODIFIED_ON" IS 'LAST MODIFIED DATE';
       COMMENT ON TABLE "CATTEMP"."INSTITUTION"  IS 'USED TO STORE THE DETAILS OF AN INSTITUTE (INSTITUTION, SITE)';
      CREATE INDEX "CATTEMP"."FK_INSTITUTION1_I" ON "CATTEMP"."INSTITUTION" ("LEVEL_TYPE_ID")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
      CREATE INDEX "CATTEMP"."FK_INSTITUTION2_I" ON "CATTEMP"."INSTITUTION" ("REGION_CODE")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
      CREATE INDEX "CATTEMP"."INSTITUTION_IDX1" ON "CATTEMP"."INSTITUTION" ("BELONGS_TO", "LEVEL_TYPE_ID", "ACTIVE_STATUS")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
      CREATE INDEX "CATTEMP"."INSTI_ID_NAME_COUN_DISP_IDX" ON "CATTEMP"."INSTITUTION" ("INSTITUTION_ID", "NAME", "COUNTRY", "INSTITUTION_ID_DISPLAY")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA" ;
      CREATE INDEX "CATTEMP"."INSTUTITION_NC_IDX" ON "CATTEMP"."INSTITUTION" ("NAME")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA" ;
      CREATE INDEX "CATTEMP"."INST_ID_DISP_IDX" ON "CATTEMP"."INSTITUTION" (SUBSTR("INSTITUTION_ID_DISPLAY",8,3))
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA" ;
      CREATE UNIQUE INDEX "CATTEMP"."PK_INSTITUTION" ON "CATTEMP"."INSTITUTION" ("INSTITUTION_ID")
      PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8001"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8002"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8003"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8004"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8005"
       TABLESPACE "CAT_IDX_TB5") ;
      CREATE UNIQUE INDEX "CATTEMP"."UK_INSTITUTION" ON "CATTEMP"."INSTITUTION" ("INSTITUTION_ID_DISPLAY")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;2)COUNTRY
      CREATE TABLE "CATTEMP"."COUNTRY"
       (     "COUNTRY_CODE" VARCHAR2(10 BYTE) NOT NULL ENABLE,
         "COUNTRY_NAME" VARCHAR2(30 BYTE),
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "MODIFIED_ON" DATE DEFAULT SYSDATE,
         "CREATED_BY" NUMBER,
         "MODIFIED_BY" NUMBER,
          CONSTRAINT "PK_COUNTRY" PRIMARY KEY ("COUNTRY_CODE")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P7936"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P7937"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P7938"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P7939"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P7940"
       TABLESPACE "CAT_IDX_TB5")  ENABLE,
          CONSTRAINT "UK_COUNTRY" UNIQUE ("COUNTRY_NAME")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT"  ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA"
      PARTITION BY HASH ("COUNTRY_CODE")
    (PARTITION "SYS_P7936"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P7937"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P7938"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P7939"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P7940"
       TABLESPACE "CAT_DATA") ;
      CREATE UNIQUE INDEX "CATTEMP"."PK_COUNTRY" ON "CATTEMP"."COUNTRY" ("COUNTRY_CODE")
      PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P7936"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P7937"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P7938"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P7939"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P7940"
       TABLESPACE "CAT_IDX_TB5") ;
      CREATE UNIQUE INDEX "CATTEMP"."UK_COUNTRY" ON "CATTEMP"."COUNTRY" ("COUNTRY_NAME")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
    3)REGION
      CREATE TABLE "CATTEMP"."REGION"
       (     "REGION_CODE" VARCHAR2(4 BYTE) NOT NULL ENABLE,
         "REGION_NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE,
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "MODIFIED_ON" DATE DEFAULT SYSDATE,
         "CREATED_BY" NUMBER,
         "MODIFIED_BY" NUMBER,
          CONSTRAINT "PK_REGION" PRIMARY KEY ("REGION_CODE")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8101"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8102"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8103"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8104"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8105"
       TABLESPACE "CAT_IDX_TB5")  ENABLE,
          CONSTRAINT "UK_REGION" UNIQUE ("REGION_NAME")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT"  ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA"
      PARTITION BY HASH ("REGION_CODE")
    (PARTITION "SYS_P8101"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8102"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8103"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8104"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8105"
       TABLESPACE "CAT_DATA") ;
      CREATE UNIQUE INDEX "CATTEMP"."PK_REGION" ON "CATTEMP"."REGION" ("REGION_CODE")
      PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8101"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8102"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8103"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8104"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8105"
       TABLESPACE "CAT_IDX_TB5") ;
      CREATE UNIQUE INDEX "CATTEMP"."UK_REGION" ON "CATTEMP"."REGION" ("REGION_NAME")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
    4)
    LEVEL_TYPE_MASTER
      CREATE TABLE "CATTEMP"."LEVEL_TYPE_MASTER"
       (     "LEVEL_TYPE_ID" NUMBER NOT NULL ENABLE,
         "LEVEL_TYPE_NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE,
         "DESCRIPTION" VARCHAR2(100 BYTE),
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "MODIFIED_ON" DATE DEFAULT SYSDATE,
         "CREATED_BY" NUMBER,
         "MODIFIED_BY" NUMBER,
          CONSTRAINT "PK_LEVEL_TYPE_MASTER" PRIMARY KEY ("LEVEL_TYPE_ID")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8031"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8032"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8033"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8034"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8035"
       TABLESPACE "CAT_IDX_TB5")  ENABLE,
          CONSTRAINT "UK_LEVEL_TYPE_MASTER" UNIQUE ("LEVEL_TYPE_NAME")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT"  ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT)
      TABLESPACE "CAT_DATA"
      PARTITION BY HASH ("LEVEL_TYPE_ID")
    (PARTITION "SYS_P8031"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8032"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8033"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8034"
       TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8035"
       TABLESPACE "CAT_DATA") ;
      CREATE UNIQUE INDEX "CATTEMP"."PK_LEVEL_TYPE_MASTER" ON "CATTEMP"."LEVEL_TYPE_MASTER" ("LEVEL_TYPE_ID")
      PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(
      BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8031"
       TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8032"
       TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8033"
       TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8034"
       TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8035"
       TABLESPACE "CAT_IDX_TB5") ;
      CREATE UNIQUE INDEX "CATTEMP"."UK_LEVEL_TYPE_MASTER" ON "CATTEMP"."LEVEL_TYPE_MASTER" ("LEVEL_TYPE_NAME")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "CAT" ;
    5)STATE
    CREATE TABLE "CATTEMP"."STATE"
    (     "STATE_NAME" VARCHAR2(30 BYTE) NOT NULL ENABLE,
         "STATE_CODE" VARCHAR2(10 BYTE),
         "COUNTRY_CODE" VARCHAR2(10 BYTE) NOT NULL ENABLE,
         "REGION_CODE" VARCHAR2(4 BYTE),
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "MODIFIED_ON" DATE DEFAULT SYSDATE,
         "CREATED_BY" NUMBER,
         "MODIFIED_BY" NUMBER,
         CONSTRAINT "PK_STATE" PRIMARY KEY ("STATE_NAME", "COUNTRY_CODE")
    USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(
    BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8131"
    TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8132"
    TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8133"
    TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8134"
    TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8135"
    TABLESPACE "CAT_IDX_TB5") ENABLE,
         CONSTRAINT "UK_STATE" UNIQUE ("STATE_CODE")
    USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT" ENABLE,
         CONSTRAINT "FK_STATE1" FOREIGN KEY ("COUNTRY_CODE")
         REFERENCES "CATTEMP"."COUNTRY" ("COUNTRY_CODE") ENABLE,
         CONSTRAINT "FK_STATE2" FOREIGN KEY ("REGION_CODE")
         REFERENCES "CATTEMP"."REGION" ("REGION_CODE") ENABLE
    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    STORAGE(
    BUFFER_POOL DEFAULT)
    TABLESPACE "CAT_DATA"
    PARTITION BY HASH ("STATE_NAME","COUNTRY_CODE")
    (PARTITION "SYS_P8131"
    TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8132"
    TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8133"
    TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8134"
    TABLESPACE "CAT_DATA",
    PARTITION "SYS_P8135"
    TABLESPACE "CAT_DATA") ;
    CREATE INDEX "CATTEMP"."FK_STATE1_I" ON "CATTEMP"."STATE" ("COUNTRY_CODE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT" ;
    CREATE INDEX "CATTEMP"."FK_STATE2_I" ON "CATTEMP"."STATE" ("REGION_CODE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT" ;
    CREATE UNIQUE INDEX "CATTEMP"."PK_STATE" ON "CATTEMP"."STATE" ("STATE_NAME", "COUNTRY_CODE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(
    BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "SYS_P8131"
    TABLESPACE "CAT_IDX_TB1",
    PARTITION "SYS_P8132"
    TABLESPACE "CAT_IDX_TB2",
    PARTITION "SYS_P8133"
    TABLESPACE "CAT_IDX_TB3",
    PARTITION "SYS_P8134"
    TABLESPACE "CAT_IDX_TB4",
    PARTITION "SYS_P8135"
    TABLESPACE "CAT_IDX_TB5") ;
    CREATE INDEX "CATTEMP"."STATE_NAME_CODE_IDX" ON "CATTEMP"."STATE" ("STATE_NAME", "STATE_CODE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT_DATA" ;
    CREATE INDEX "CATTEMP"."STATE_NAME_STATE_IDX" ON "CATTEMP"."STATE" ("STATE_NAME")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT_DATA" ;
    CREATE UNIQUE INDEX "CATTEMP"."UK_STATE" ON "CATTEMP"."STATE" ("STATE_CODE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "CAT" ;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for

  • Firefox 3.6.11 crashes every time I launch it

    I downloaded 3.6.11 yesterday, was using it fine but then it crashed and I haven't been able to relaunch it since. Every time I try (even in Safe Mode) it displays the same screen with Restore Session and Start New Session buttons and then crashes. I

  • How to achieve smaller file size in iMovie after cutting or cropping

    iMovie saves unused material, so that even if I remove (crop or cut) unwanted footage, I am left with the same large file size for the project. The same seems to be true if I split a clip, and delete the unwanted portion and empty the trash. I have s

  • Waas: problems with peers identification

    good days all. we have got a problems with peers' identification in waas solution. topology: 1 central-manager and 2 nme-502, both nme located in different location and subnets, and both see each other (pings are available from nme to nme). Version o

  • MSE License

    Hi I am planning on installing CleanAir Wireless network, using WLC 5508, WCS(with plus license) and MSE. Can somone explaine for me wich MSE license i need to get this to work ? Regards Erik

  • Users for searching catalogs - password problem

    Hello all, we have separate generic users for searching through catalogs instead of adding role to each requestor. (if you remember on SRM260 this was one of the proposals, to use CATSEARCH user) This user is defined as Dialog and as company policy i