Help in Performance Tunning

Hi,
I am looking for some help in tuning a query and details are below.
SELECT NVL(B.START_DATE_TIME,
           A.START_DATE_TIME) START_DATE,
       NVL(B.CUST_PRODUCTION_SEQ_NUM,
           A.CUST_PRODUCTION_SEQ_NUM) PROD_NUM,
       A.HEADER_ID NEW_HEADER_ID,
       B.HEADER_ID OLD_HEADER_ID,
       A.LINE_ID,
       B.LINE_ID,
       A.QTY_TYPE_CODE NEW_CODE,
       B.QTY_TYPE_CODE OLD_CODE,
       NVL(B.SHIP_FROM_ORG_ID,
           A.SHIP_FROM_ORG_ID) SHIP_FROM_ORG_ID,
       -- hrorg.name ship_from_name ,
       NVL(B.SHIP_TO_ORG_ID,
           A.SHIP_TO_ORG_ID) SHIP_TO_ORG_ID,
       NVL(B.BILL_TO_ADDRESS_ID,
           A.BILL_TO_ADDRESS_ID) BILL_TO_ADDRESS_ID,
       NVL(B.SHIP_TO_ADDRESS_ID,
           A.SHIP_TO_ADDRESS_ID) SHIP_TO_ADDRESS_ID,
       NVL(B.SHIP_TO_NAME_EXT,
           A.SHIP_TO_NAME_EXT) SHIP_TO_NAME,
       NVL(B.INTRMD_SHIP_TO_ID,
           A.INTRMD_SHIP_TO_ID) INTRMD_SHIP_TO_ID,
       NVL(B.CUSTOMER_ITEM_ID,
           A.CUSTOMER_ITEM_ID) CUSTOMER_ITEM_ID,
       --mci.customer_item_desc customer_item_desc,
       NVL(B.INVENTORY_ITEM_ID,
           A.INVENTORY_ITEM_ID) INVENTORY_ITEM_ID,
       NVL(B.ITEM_DETAIL_SUBTYPE,
           A.ITEM_DETAIL_SUBTYPE) ITEM_DETAIL_SUBTYPE,
       FND1.MEANING DETAIL_SUBTYPE,
       NVL(B.UOM_CODE,
           A.UOM_CODE) UOM_CODE,
       NVL(B.CUST_PO_NUMBER,
           A.CUST_PO_NUMBER) CUST_PO_NUMBER,
       NVL(B.INDUSTRY_ATTRIBUTE1,
           A.INDUSTRY_ATTRIBUTE1) CUST_RECORD_YEAR,
       A.ITEM_DETAIL_QUANTITY,
       A.ITEM_DETAIL_TYPE,
       FND2.MEANING NEW_DETAIL_TYPE,
       B.ITEM_DETAIL_QUANTITY,
       B.ITEM_DETAIL_TYPE,
       FND3.MEANING OLD_DETAIL_TYPE
  FROM RLM_SCHEDULE_LINES_ALL A,
       (SELECT * FROM RLM_SCHEDULE_LINES_ALL b_in
        WHERE TRUNC(b_in.START_DATE_TIME) >=
              (SELECT TRUNC(SCHED_HORIZON_START_DATE)
                 FROM RLM_SCHEDULE_HEADERS
                WHERE HEADER_ID = :P_NEW_HEADER_ID)---
        AND TRUNC(b_in.START_DATE_TIME) <=
              (SELECT TRUNC(SCHED_HORIZON_END_DATE)
                 FROM RLM_SCHEDULE_HEADERS
                WHERE HEADER_ID = :P_NEW_HEADER_ID)
        AND HEADER_ID = (SELECT header_id
        FROM apps.rlm_schedule_headers_all
       WHERE header_id =
             (SELECT MAX(rsha.header_id)
                FROM apps.rlm_schedule_headers_all rsha,
                     apps.rlm_schedule_lines_all rsla
               WHERE rsha.customer_id = :p_customer_id
                 AND rsha.schedule_type = :p_schedule_type
                 AND rsla.inventory_item_id = b_in.inventory_item_id ---
                 AND rsla.org_id = rsha.org_id
                 AND (((rsla.cust_po_number = b_in.cust_po_number)AND
                       EXISTS (SELECT 'x'
                               FROM FND_LOOKUP_VALUES_VL FLV,
                                    RA_CUSTOMERS         RC
                               WHERE FLV.LOOKUP_TYPE = 'TEST_RLM_CHECK_CUST'
                               AND FLV.MEANING = RC.CUSTOMER_NAME
                               AND RC.CUSTOMER_ID = :P_CUSTOMER_ID))
                               OR
                               NOT EXISTS (SELECT 'x'
                               FROM FND_LOOKUP_VALUES_VL FLV,
                                    RA_CUSTOMERS         RC
                               WHERE FLV.LOOKUP_TYPE = 'TEST_RLM_CHECK_CUST'
                               AND FLV.MEANING = RC.CUSTOMER_NAME
                               AND RC.CUSTOMER_ID = :P_CUSTOMER_ID) )---
                 and rsha.header_id = rsla.header_id
                 and rsla.ship_from_org_id = :p_ship_from_org_id
                 AND rsha.ece_tp_location_code_ext = :p_ece_tp_location_code_ext
                 AND NVL(rsha.header_ref_value_1, '1') =
                     NVL(rsha.header_ref_value_1, '1')
                 AND rsha.header_id NOT IN
                     (SELECT header_id
                        FROM apps.rlm_schedule_headers_all
                       WHERE attribute1 = :p_request_id)))) B,
       --rlm_schedule_headers c,
       -- hr_organization_units hrorg,
       --mtl_customer_items mci,
       FND_LOOKUPS FND1,
       FND_LOOKUPS FND2,
       FND_LOOKUPS FND3
-- ra_addresses_all radd2,
-- ra_site_uses_all rsu2
WHERE A.HEADER_ID(+) = :P_NEW_HEADER_ID
   ----AND B.HEADER_ID = :P_OLD_HEADER_ID
   AND A.CUSTOMER_ITEM_ID(+) = B.CUSTOMER_ITEM_ID
   AND A.SHIP_TO_ORG_ID(+) = B.SHIP_TO_ORG_ID
   AND A.SHIP_FROM_ORG_ID(+) = B.SHIP_FROM_ORG_ID
   AND A.INVENTORY_ITEM_ID(+) = B.INVENTORY_ITEM_ID
   AND NVL(A.INTRMD_SHIP_TO_ID(+),
           NVL(B.INTRMD_SHIP_TO_ID,
               0)) = NVL(B.INTRMD_SHIP_TO_ID,
                         0)
   AND A.ITEM_DETAIL_SUBTYPE(+) = B.ITEM_DETAIL_SUBTYPE
   AND A.UOM_CODE(+) = B.UOM_CODE
   AND NVL(A.CUST_PO_NUMBER(+),
           NVL(B.CUST_PO_NUMBER,
               0)) = NVL(B.CUST_PO_NUMBER,
                         0)
   AND A.ITEM_DETAIL_TYPE(+) < :P_ITEM_DETAIL_TYPE
   AND B.ITEM_DETAIL_TYPE < :P_ITEM_DETAIL_TYPE
   AND TRUNC(A.START_DATE_TIME(+)) = TRUNC(B.START_DATE_TIME)
   AND FND1.LOOKUP_CODE = NVL(A.ITEM_DETAIL_SUBTYPE,
                              B.ITEM_DETAIL_SUBTYPE)
   AND FND1.LOOKUP_TYPE = :P_RLM_DETAIL_SUBTYPE_CODE
   AND NVL(A.ITEM_DETAIL_TYPE,
           '0') = FND2.LOOKUP_CODE
   AND FND2.LOOKUP_TYPE = :P_RLM_DETAIL_TYPE_CODE
   AND FND3.LOOKUP_CODE = B.ITEM_DETAIL_TYPE
   AND A.SHIP_FROM_ORG_ID(+) = :P_SHIP_FROM_ORG_ID
   AND B.SHIP_FROM_ORG_ID = :P_SHIP_FROM_ORG_ID
   AND FND3.LOOKUP_TYPE = :P_RLM_DETAIL_TYPE_CODE
   AND B.CUSTOMER_ITEM_ID IN
       (SELECT DISTINCT CUSTOMER_ITEM_ID
          FROM RLM_SCHEDULE_LINES_ALL
         WHERE HEADER_ID = :P_NEW_HEADER_ID) &P_WHERE4 &P_WHERE3
-- CHANGES
&P_WHERE_DATE_A
UNION
SELECT NVL(A.START_DATE_TIME,
           B.START_DATE_TIME) START_DATE,
       NVL(A.CUST_PRODUCTION_SEQ_NUM,
           B.CUST_PRODUCTION_SEQ_NUM) PROD_NUM,
       A.HEADER_ID NEW_HEADER_ID,
       B.HEADER_ID OLD_HEADER_ID,
       A.LINE_ID,
       B.LINE_ID,
       A.QTY_TYPE_CODE NEW_CODE,
       B.QTY_TYPE_CODE OLD_CODE,
       NVL(A.SHIP_FROM_ORG_ID,
           B.SHIP_FROM_ORG_ID) SHIP_FROM_ORG_ID,
       -- hrorg.name ship_from_name ,
       NVL(A.SHIP_TO_ORG_ID,
           B.SHIP_TO_ORG_ID) SHIP_TO_ORG_ID,
       NVL(A.BILL_TO_ADDRESS_ID,
           B.BILL_TO_ADDRESS_ID) BILL_TO_ADDRESS_ID,
       NVL(A.SHIP_TO_ADDRESS_ID,
           B.SHIP_TO_ADDRESS_ID) SHIP_TO_ADDRESS_ID,
       NVL(A.SHIP_TO_NAME_EXT,
           B.SHIP_TO_NAME_EXT) SHIP_TO_NAME,
       NVL(A.INTRMD_SHIP_TO_ID,
           B.INTRMD_SHIP_TO_ID) INTRMD_SHIP_TO_ID,
       NVL(A.CUSTOMER_ITEM_ID,
           B.CUSTOMER_ITEM_ID) CUSTOMER_ITEM_ID,
       --mci.customer_item_desc customer_item_desc,
       NVL(A.INVENTORY_ITEM_ID,
           B.INVENTORY_ITEM_ID) INVENTORY_ITEM_ID,
       NVL(A.ITEM_DETAIL_SUBTYPE,
           B.ITEM_DETAIL_SUBTYPE) ITEM_DETAIL_SUBTYPE,
       FND1.MEANING DETAIL_SUBTYPE,
       NVL(A.UOM_CODE,
           B.UOM_CODE) UOM_CODE,
       NVL(A.CUST_PO_NUMBER,
           B.CUST_PO_NUMBER) CUST_PO_NUMBER,
       NVL(A.INDUSTRY_ATTRIBUTE1,
           B.INDUSTRY_ATTRIBUTE1) CUST_RECORD_YEAR,
       A.ITEM_DETAIL_QUANTITY,
       A.ITEM_DETAIL_TYPE,
       FND2.MEANING NEW_DETAIL_TYPE,
       B.ITEM_DETAIL_QUANTITY,
       B.ITEM_DETAIL_TYPE,
       FND3.MEANING OLD_DETAIL_TYPE
  FROM RLM_SCHEDULE_LINES_ALL A,
       (SELECT * FROM RLM_SCHEDULE_LINES_ALL b_in
       WHERE  TRUNC(b_in.START_DATE_TIME) >=
       (SELECT TRUNC(SCHED_HORIZON_START_DATE)
          FROM RLM_SCHEDULE_HEADERS
         WHERE HEADER_ID = :P_NEW_HEADER_ID)
       AND HEADER_ID = (SELECT header_id
        FROM apps.rlm_schedule_headers_all
       WHERE header_id =
             (SELECT MAX(rsha.header_id)
                FROM apps.rlm_schedule_headers_all rsha,
                     apps.rlm_schedule_lines_all rsla
               WHERE rsha.customer_id = :p_customer_id
                 AND rsha.schedule_type = :p_schedule_type
                 AND rsla.inventory_item_id = b_in.inventory_item_id ---
                 AND rsla.org_id = rsha.org_id
                 AND (((rsla.cust_po_number = b_in.cust_po_number)AND
                       EXISTS (SELECT 'x'
                               FROM FND_LOOKUP_VALUES_VL FLV,
                                    RA_CUSTOMERS         RC
                               WHERE FLV.LOOKUP_TYPE = 'TEST_RLM_CHECK_CUST'
                               AND FLV.MEANING = RC.CUSTOMER_NAME
                               AND RC.CUSTOMER_ID = :P_CUSTOMER_ID))
                               OR
                               NOT EXISTS (SELECT 'x'
                               FROM FND_LOOKUP_VALUES_VL FLV,
                                    RA_CUSTOMERS         RC
                               WHERE FLV.LOOKUP_TYPE = 'TEST_RLM_CHECK_CUST'
                               AND FLV.MEANING = RC.CUSTOMER_NAME
                               AND RC.CUSTOMER_ID = :P_CUSTOMER_ID) )---
                 and rsha.header_id = rsla.header_id
                 and rsla.ship_from_org_id = :p_ship_from_org_id
                 AND rsha.ece_tp_location_code_ext = :p_ece_tp_location_code_ext
                 AND NVL(rsha.header_ref_value_1, '1') =
                     NVL(rsha.header_ref_value_1, '1')
                 AND rsha.header_id NOT IN
                     (SELECT header_id
                        FROM apps.rlm_schedule_headers_all
                       WHERE attribute1 = :p_request_id)))) B,
       --rlm_schedule_headers c,
       -- hr_organization_units hrorg,
       --mtl_customer_items mci,
       FND_LOOKUPS FND1,
       FND_LOOKUPS FND2,
       FND_LOOKUPS FND3
-- ra_addresses_all radd2,
-- ra_site_uses_all rsu2
WHERE A.HEADER_ID = :P_NEW_HEADER_ID
  ---- AND B.HEADER_ID(+) = :P_OLD_HEADER_ID
      --a.header_id=c.header_id and
      -- a.header_id = 803 and
      -- b.header_id (+) = 804 and
   AND B.CUSTOMER_ITEM_ID(+) = A.CUSTOMER_ITEM_ID
   AND B.SHIP_TO_ORG_ID(+) = A.SHIP_TO_ORG_ID
   AND B.SHIP_FROM_ORG_ID(+) = A.SHIP_FROM_ORG_ID
   AND B.INVENTORY_ITEM_ID(+) = A.INVENTORY_ITEM_ID
   AND NVL(B.INTRMD_SHIP_TO_ID(+),
           NVL(A.INTRMD_SHIP_TO_ID,
               0)) = NVL(A.INTRMD_SHIP_TO_ID,
                         0)
   AND B.ITEM_DETAIL_SUBTYPE(+) = A.ITEM_DETAIL_SUBTYPE
   AND B.UOM_CODE(+) = A.UOM_CODE
   AND NVL(B.CUST_PO_NUMBER(+),
           NVL(A.CUST_PO_NUMBER,
               0)) = NVL(A.CUST_PO_NUMBER,
                         0)
   AND B.ITEM_DETAIL_TYPE(+) < :P_ITEM_DETAIL_TYPE
   AND A.ITEM_DETAIL_TYPE < :P_ITEM_DETAIL_TYPE
   AND TRUNC(B.START_DATE_TIME(+)) = TRUNC(A.START_DATE_TIME)
   AND FND1.LOOKUP_CODE = NVL(B.ITEM_DETAIL_SUBTYPE,
                              A.ITEM_DETAIL_SUBTYPE)
   AND FND1.LOOKUP_TYPE = :P_RLM_DETAIL_SUBTYPE_CODE
   AND A.ITEM_DETAIL_TYPE = FND2.LOOKUP_CODE
   AND FND2.LOOKUP_TYPE = :P_RLM_DETAIL_TYPE_CODE
   AND NVL(B.ITEM_DETAIL_TYPE,
           '0') = FND3.LOOKUP_CODE
   AND A.SHIP_FROM_ORG_ID = :P_SHIP_FROM_ORG_ID
   AND B.SHIP_FROM_ORG_ID(+) = :P_SHIP_FROM_ORG_ID
   AND FND3.LOOKUP_TYPE = :P_RLM_DETAIL_TYPE_CODE
   &P_WHERE5 &P_WHERE3
-- CHANGES
&P_WHERE_DATE_BThe above query is related to the Oracle Release Management 11.5.10.2
The main header table is RLM_SCHEDULE_HEADERS_ALL which contains the information like schedule_reference_number and other details. In one schedule there can be many item records for different dates which are stored in the child table RLM_SCHEDULE_LINES_ALL. Both the tables are linked with HEADER_ID. Each schedule in header table has one horizon start date and horizon end date. Customer used to send these schedules every day for each item because of there business needs.
The requirement is to create a query to calculate the Net Change between the two schedules (Between the new and old). All the item records from child table for new schedule will be printed but only those item records from old schedule will be printed where schedule date in child table is within the horizon start date and end date of new schedule.
There are following indexes on the table RLM_SCHEDULE_LINES_ALL
IDX$$_199350001                     Normal     INVENTORY_ITEM_ID, SHIP_TO_ORG_ID, SHIP_FROM_NAME_EXT
IDX$$_199350002                     Normal     HEADER_ID, INVENTORY_ITEM_ID
RLM_SCHEDULE_LINE_CUSTOM     Normal     ITEM_DETAIL_TYPE, HEADER_ID
RLM_SCHEDULE_LINE_N1             Normal     HEADER_ID, INTERFACE_LINE_ID
RLM_SCHEDULE_LINE_N2             Normal     SHIP_FROM_ORG_ID, SHIP_TO_ORG_ID, CUSTOMER_ITEM_ID
RLM_SCHEDULE_LINE_N99             Normal     INVENTORY_ITEM_ID
RLM_SCHEDULE_LINE_U1             Normal     LINE_ID
XXRLM_RLM_SCHEDULE_LINES     Normal     SHIP_TO_ORG_ID, SHIP_FROM_NAME_EXT, PROCESS_STATUS, ITEM_DETAIL_TYPE, INVENTORY_ITEM_ID, CUSTOMER_ITEM_ID
Database Version: 11.1.0.7.0Optimizer Parameters:
SQL> show parameter optimizer
NAME                                 TYPE        VALUE
_optimizer_push_pred_cost_based      boolean     TRUE
optimizer_capture_sql_plan_baselines boolean     FALSE
optimizer_dynamic_sampling           integer     2
optimizer_features_enable            string      11.1.0.6
optimizer_index_caching              integer     0
optimizer_index_cost_adj             integer     100
optimizer_mode                       string      ALL_ROWS
optimizer_secure_view_merging        boolean     FALSE
optimizer_use_invisible_indexes      boolean     FALSE
optimizer_use_pending_statistics     boolean     FALSE
optimizer_use_sql_plan_baselines     boolean     TRUE
SQL>
SQL> show parameter db_file_multi
NAME                                 TYPE        VALUE
db_file_multiblock_read_count        integer     8
SQL>
SQL> show parameter db_block_size
NAME                                 TYPE        VALUE
db_block_size                        integer     8192
SQL>
SQL> show parameter cursor_sharing
NAME                                 TYPE        VALUE
cursor_sharing                       string      EXACT
SQL>
SQL> column sname format a20
SQL> column pname format a20
SQL> column pval2 format a20
SQL>
SQL>
SQL> SELECT SNAME,
  2         PNAME,
  3         PVAL1,
  4         PVAL2
  5    FROM SYS.AUX_STATS$;
SNAME                PNAME                     PVAL1 PVAL2
SYSSTATS_INFO        STATUS                          COMPLETED
SYSSTATS_INFO        DSTART                          03-30-2011 06:20
SYSSTATS_INFO        DSTOP                           03-30-2011 06:20
SYSSTATS_INFO        FLAGS                         0
SYSSTATS_MAIN        CPUSPEEDNW              976.063
SYSSTATS_MAIN        IOSEEKTIM                    10
SYSSTATS_MAIN        IOTFRSPEED                 4096
SYSSTATS_MAIN        SREADTIM                       
SYSSTATS_MAIN        MREADTIM                       
SYSSTATS_MAIN        CPUSPEED                       
SYSSTATS_MAIN        MBRC                           
SYSSTATS_MAIN        MAXTHR                         
SYSSTATS_MAIN        SLAVETHR                       
13 rows selected
SQL>Output of the explain plan will be in the next thread because of size constraint.

Here is the output of explain plan
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
| Id  | Operation                                 | Name                     | R
|   0 | SELECT STATEMENT                          |                          |
|   1 |  SORT UNIQUE                              |                          |
|   2 |   UNION-ALL                               |                          |
|*  3 |    FILTER                                 |                          |
|   4 |     NESTED LOOPS                          |                          |
|   5 |      NESTED LOOPS                         |                          |
|   6 |       NESTED LOOPS                        |                          |
|*  7 |        HASH JOIN                          |                          |
|   8 |         TABLE ACCESS BY INDEX ROWID       | RLM_SCHEDULE_LINES_ALL   |
|*  9 |          INDEX SKIP SCAN                  | RLM_SCHEDULE_LINE_CUSTOM |
|* 10 |         HASH JOIN RIGHT OUTER             |                          |
|* 11 |          TABLE ACCESS BY INDEX ROWID      | RLM_SCHEDULE_LINES_ALL   |
|* 12 |           INDEX SKIP SCAN                 | RLM_SCHEDULE_LINE_CUSTOM |
|  13 |          NESTED LOOPS                     |                          |
|  14 |           NESTED LOOPS                    |                          |
|  15 |            TABLE ACCESS BY INDEX ROWID    | FND_LOOKUP_VALUES        |
PLAN_TABLE_OUTPUT
|* 16 |             INDEX RANGE SCAN              | IDX$$_123E00001          |
|* 17 |            INDEX RANGE SCAN               | RLM_SCHEDULE_LINE_CUSTOM |
|* 18 |           TABLE ACCESS BY INDEX ROWID     | RLM_SCHEDULE_LINES_ALL   |
|* 19 |            TABLE ACCESS BY INDEX ROWID    | RLM_SCHEDULE_HEADERS_ALL |
|* 20 |             INDEX UNIQUE SCAN             | RLM_SCHEDULE_HEADERS_U1  |
|* 21 |            TABLE ACCESS BY INDEX ROWID    | RLM_SCHEDULE_HEADERS_ALL |
|* 22 |             INDEX UNIQUE SCAN             | RLM_SCHEDULE_HEADERS_U1  |
|  23 |        TABLE ACCESS BY INDEX ROWID        | FND_LOOKUP_VALUES        |
|* 24 |         INDEX RANGE SCAN                  | FND_LOOKUP_VALUES_U1     |
|* 25 |       INDEX RANGE SCAN                    | FND_LOOKUP_VALUES_U1     |
|  26 |      TABLE ACCESS BY INDEX ROWID          | FND_LOOKUP_VALUES        |
|* 27 |     INDEX UNIQUE SCAN                     | RLM_SCHEDULE_HEADERS_U1  |
|  28 |      SORT AGGREGATE                       |                          |
|  29 |       NESTED LOOPS                        |                          |
|  30 |        NESTED LOOPS                       |                          |
|  31 |         NESTED LOOPS ANTI                 |                          |
|* 32 |          TABLE ACCESS BY INDEX ROWID      | RLM_SCHEDULE_HEADERS_ALL |
|* 33 |           INDEX RANGE SCAN                | RLM_SCHEDULE_HEADERS_N3  |
|* 34 |          TABLE ACCESS BY INDEX ROWID      | RLM_SCHEDULE_HEADERS_ALL |
|* 35 |           INDEX UNIQUE SCAN               | RLM_SCHEDULE_HEADERS_U1  |
|* 36 |         INDEX RANGE SCAN                  | IDX$$_199350002          |
PLAN_TABLE_OUTPUT
|* 37 |        TABLE ACCESS BY INDEX ROWID        | RLM_SCHEDULE_LINES_ALL   |
|  38 |         NESTED LOOPS                      |                          |
|  39 |          NESTED LOOPS                     |                          |
|  40 |           TABLE ACCESS BY INDEX ROWID     | HZ_CUST_ACCOUNTS         |
|* 41 |            INDEX UNIQUE SCAN              | HZ_CUST_ACCOUNTS_U1      |
|  42 |           TABLE ACCESS BY INDEX ROWID     | HZ_PARTIES               | 5
|* 43 |            INDEX UNIQUE SCAN              | HZ_PARTIES_U1            |
|* 44 |          INDEX RANGE SCAN                 | FND_LOOKUP_VALUES_U2     |
|  45 |         NESTED LOOPS                      |                          |
|  46 |          NESTED LOOPS                     |                          |
|  47 |           TABLE ACCESS BY INDEX ROWID     | HZ_CUST_ACCOUNTS         |
|* 48 |            INDEX UNIQUE SCAN              | HZ_CUST_ACCOUNTS_U1      |
|  49 |           TABLE ACCESS BY INDEX ROWID     | HZ_PARTIES               | 5
|* 50 |            INDEX UNIQUE SCAN              | HZ_PARTIES_U1            |
|* 51 |          INDEX RANGE SCAN                 | FND_LOOKUP_VALUES_U2     |
|  52 |    NESTED LOOPS                           |                          |
|  53 |     NESTED LOOPS                          |                          |
|  54 |      NESTED LOOPS                         |                          |
|  55 |       NESTED LOOPS OUTER                  |                          |
|  56 |        NESTED LOOPS                       |                          |
|  57 |         TABLE ACCESS BY INDEX ROWID       | FND_LOOKUP_VALUES        |
PLAN_TABLE_OUTPUT
|* 58 |          INDEX RANGE SCAN                 | IDX$$_123E00001          |
|* 59 |         TABLE ACCESS BY INDEX ROWID       | RLM_SCHEDULE_LINES_ALL   |
|* 60 |          INDEX RANGE SCAN                 | RLM_SCHEDULE_LINE_CUSTOM |
|* 61 |        VIEW PUSHED PREDICATE              |                          |
|* 62 |         FILTER                            |                          |
|* 63 |          FILTER                           |                          |
|* 64 |           TABLE ACCESS BY INDEX ROWID     | RLM_SCHEDULE_LINES_ALL   |
|* 65 |            INDEX RANGE SCAN               | IDX$$_199350001          |
|* 66 |            TABLE ACCESS BY INDEX ROWID    | RLM_SCHEDULE_HEADERS_ALL |
|* 67 |             INDEX UNIQUE SCAN             | RLM_SCHEDULE_HEADERS_U1  |
|* 68 |          INDEX UNIQUE SCAN                | RLM_SCHEDULE_HEADERS_U1  |
|  69 |           SORT AGGREGATE                  |                          |
|  70 |            NESTED LOOPS                   |                          |
|  71 |             NESTED LOOPS                  |                          |
|  72 |              NESTED LOOPS ANTI            |                          |
|* 73 |               TABLE ACCESS BY INDEX ROWID | RLM_SCHEDULE_HEADERS_ALL |
|* 74 |                INDEX RANGE SCAN           | RLM_SCHEDULE_HEADERS_N3  |
|* 75 |               TABLE ACCESS BY INDEX ROWID | RLM_SCHEDULE_HEADERS_ALL |
|* 76 |                INDEX UNIQUE SCAN          | RLM_SCHEDULE_HEADERS_U1  |
|* 77 |              INDEX RANGE SCAN             | IDX$$_199350002          |
|* 78 |             TABLE ACCESS BY INDEX ROWID   | RLM_SCHEDULE_LINES_ALL   |
PLAN_TABLE_OUTPUT
|  79 |              NESTED LOOPS                 |                          |
|  80 |               NESTED LOOPS                |                          |
|  81 |                TABLE ACCESS BY INDEX ROWID| HZ_CUST_ACCOUNTS         |
|* 82 |                 INDEX UNIQUE SCAN         | HZ_CUST_ACCOUNTS_U1      |
|  83 |                TABLE ACCESS BY INDEX ROWID| HZ_PARTIES               | 5
|* 84 |                 INDEX UNIQUE SCAN         | HZ_PARTIES_U1            |
|* 85 |               INDEX RANGE SCAN            | FND_LOOKUP_VALUES_U2     |
|  86 |              NESTED LOOPS                 |                          |
|  87 |               NESTED LOOPS                |                          |
|  88 |                TABLE ACCESS BY INDEX ROWID| HZ_CUST_ACCOUNTS         |
|* 89 |                 INDEX UNIQUE SCAN         | HZ_CUST_ACCOUNTS_U1      |
|  90 |                TABLE ACCESS BY INDEX ROWID| HZ_PARTIES               | 5
|* 91 |                 INDEX UNIQUE SCAN         | HZ_PARTIES_U1            |
|* 92 |               INDEX RANGE SCAN            | FND_LOOKUP_VALUES_U2     |
|  93 |       TABLE ACCESS BY INDEX ROWID         | FND_LOOKUP_VALUES        |
|* 94 |        INDEX RANGE SCAN                   | FND_LOOKUP_VALUES_U1     |
|* 95 |      INDEX RANGE SCAN                     | FND_LOOKUP_VALUES_U1     |
|  96 |     TABLE ACCESS BY INDEX ROWID           | FND_LOOKUP_VALUES        |
Predicate Information (identified by operation id):
PLAN_TABLE_OUTPUT
   3 - filter("HEADER_ID"= (SELECT "HEADER_ID" FROM "APPS"."RLM_SCHEDULE_HEADERS
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "HEADER_ID"= (SELECT MAX("RSHA"."
              "APPS"."RLM_SCHEDULE_LINES_ALL" "RSLA","APPS"."RLM_SCHEDULE_HEADER
              "RSHA","APPS"."RLM_SCHEDULE_HEADERS_ALL" "RLM_SCHEDULE_HEADERS_ALL
              "RSHA"."HEADER_ID"="HEADER_ID" AND TO_NUMBER("ATTRIBUTE1")=1090072
              "RSHA"."ECE_TP_LOCATION_CODE_EXT"='AG-60989' AND "RSHA"."CUSTOMER_
              "RSHA"."SCHEDULE_TYPE"='PLANNING_RELEASE' AND NVL("RSHA"."HEADER_R
              "RSLA"."INVENTORY_ITEM_ID"=:B1 AND "RSHA"."HEADER_ID"="RSLA"."HEAD
              "RSLA"."SHIP_FROM_ORG_ID"=2904 AND ("RSLA"."CUST_PO_NUMBER"=:B2 AN
              "AR"."HZ_CUST_ACCOUNTS" "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APP
              WHERE "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=US
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
   7 - access("B_IN"."CUSTOMER_ITEM_ID"="CUSTOMER_ITEM_ID")
   9 - access("HEADER_ID"=1197995)
PLAN_TABLE_OUTPUT
       filter("HEADER_ID"=1197995)
  10 - access("A"."CUSTOMER_ITEM_ID"(+)="B_IN"."CUSTOMER_ITEM_ID" AND
              "A"."SHIP_TO_ORG_ID"(+)="B_IN"."SHIP_TO_ORG_ID" AND
              "A"."SHIP_FROM_ORG_ID"(+)="B_IN"."SHIP_FROM_ORG_ID" AND
              "A"."INVENTORY_ITEM_ID"(+)="B_IN"."INVENTORY_ITEM_ID" AND
              "A"."ITEM_DETAIL_SUBTYPE"(+)="B_IN"."ITEM_DETAIL_SUBTYPE" AND "A".
              AND TRUNC(INTERNAL_FUNCTION("A"."START_DATE_TIME"(+)))=TRUNC(INTER
              IME")))
       filter(NVL("A"."INTRMD_SHIP_TO_ID"(+),NVL("B_IN"."INTRMD_SHIP_TO_ID",0))=
              SHIP_TO_ID",0) AND NVL("A"."CUST_PO_NUMBER"(+),NVL("B_IN"."CUST_PO
              O_NUMBER",'0'))
  11 - filter("A"."SHIP_FROM_ORG_ID"(+)=2904)
  12 - access("A"."HEADER_ID"(+)=1197995)
       filter("A"."HEADER_ID"(+)=1197995 AND TO_NUMBER("A"."ITEM_DETAIL_TYPE"(+)
  16 - access("LOOKUP_TYPE"='RLM_DETAIL_TYPE_CODE' AND "VIEW_APPLICATION_ID"=0 A
              "LANGUAGE"=USERENV('LANG'))
       filter("SECURITY_GROUP_ID"="FND_GLOBAL"."LOOKUP_SECURITY_GROUP"("LV"."LOO
              W_APPLICATION_ID"))
  17 - access("LOOKUP_CODE"="B_IN"."ITEM_DETAIL_TYPE")
       filter(TO_NUMBER("B_IN"."ITEM_DETAIL_TYPE")<3)
  18 - filter("B_IN"."SHIP_FROM_ORG_ID"=2904 AND TRUNC(INTERNAL_FUNCTION("B_IN".
PLAN_TABLE_OUTPUT
              >= (SELECT TRUNC(INTERNAL_FUNCTION("SCHED_HORIZON_START_DATE")) FR
              "RLM"."RLM_SCHEDULE_HEADERS_ALL" "RLM_SCHEDULE_HEADERS_ALL" WHERE
              NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
              TRUNC(INTERNAL_FUNCTION("B_IN"."START_DATE_TIME"))<= (SELECT
              TRUNC(INTERNAL_FUNCTION("SCHED_HORIZON_END_DATE")) FROM "RLM"."RLM
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "HEADER_ID"=1197995 AND
              NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
  19 - filter(NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
  20 - access("HEADER_ID"=1197995)
  21 - filter(NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
  22 - access("HEADER_ID"=1197995)
  24 - access("LOOKUP_TYPE"='RLM_DETAIL_SUBTYPE_CODE' AND "VIEW_APPLICATION_ID"=
              "LOOKUP_CODE"=NVL("A"."ITEM_DETAIL_SUBTYPE","B_IN"."ITEM_DETAIL_SU
PLAN_TABLE_OUTPUT
              "LANGUAGE"=USERENV('LANG'))
       filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"="FND_GLOBAL"."L
              P"("LV"."LOOKUP_TYPE","LV"."VIEW_APPLICATION_ID"))
  25 - access("LOOKUP_TYPE"='RLM_DETAIL_TYPE_CODE' AND "VIEW_APPLICATION_ID"=0 A
              "LOOKUP_CODE"=NVL("A"."ITEM_DETAIL_TYPE",'0') AND "LANGUAGE"=USERE
       filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"="FND_GLOBAL"."L
              P"("LV"."LOOKUP_TYPE","LV"."VIEW_APPLICATION_ID"))
  27 - access("HEADER_ID"= (SELECT MAX("RSHA"."HEADER_ID") FROM "APPS"."RLM_SCHE
              "RSLA","APPS"."RLM_SCHEDULE_HEADERS_ALL" "RSHA","APPS"."RLM_SCHEDU
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "RSHA"."HEADER_ID"="HEADER_ID" AN
              TO_NUMBER("ATTRIBUTE1")=109007290 AND "RSHA"."ECE_TP_LOCATION_CODE
              "RSHA"."CUSTOMER_ID"=64742 AND "RSHA"."SCHEDULE_TYPE"='PLANNING_RE
              NVL("RSHA"."HEADER_REF_VALUE_1",'1') IS NOT NULL AND "RSLA"."INVEN
              "RSHA"."HEADER_ID"="RSLA"."HEADER_ID" AND "RSLA"."SHIP_FROM_ORG_ID
              ("RSLA"."CUST_PO_NUMBER"=:B2 AND  EXISTS (SELECT 0 FROM "AR"."HZ_C
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
PLAN_TABLE_OUTPUT
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
  32 - filter("RSHA"."CUSTOMER_ID"=64742 AND "RSHA"."SCHEDULE_TYPE"='PLANNING_RE
              NVL("RSHA"."HEADER_REF_VALUE_1",'1') IS NOT NULL)
  33 - access("RSHA"."ECE_TP_LOCATION_CODE_EXT"='AG-60989')
  34 - filter(TO_NUMBER("ATTRIBUTE1")=109007290)
  35 - access("RSHA"."HEADER_ID"="HEADER_ID")
  36 - access("RSHA"."HEADER_ID"="RSLA"."HEADER_ID" AND "RSLA"."INVENTORY_ITEM_I
  37 - filter("RSLA"."SHIP_FROM_ORG_ID"=2904 AND ("RSLA"."CUST_PO_NUMBER"=:B1 AN
              0 FROM "AR"."HZ_CUST_ACCOUNTS" "CUST_ACCT","AR"."HZ_PARTIES" "PART
              "B" WHERE "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
  41 - access("CUST_ACCT"."CUST_ACCOUNT_ID"=64742)
  43 - access("CUST_ACCT"."PARTY_ID"="PARTY"."PARTY_ID")
  44 - access("B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."MEANING"=SUBSTRB("
              AND "B"."LANGUAGE"=USERENV('LANG'))
PLAN_TABLE_OUTPUT
       filter("B"."LANGUAGE"=USERENV('LANG') AND "B"."MEANING"=SUBSTRB("PARTY_NA
  48 - access("CUST_ACCT"."CUST_ACCOUNT_ID"=64742)
  50 - access("CUST_ACCT"."PARTY_ID"="PARTY"."PARTY_ID")
  51 - access("B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."MEANING"=SUBSTRB("
              AND "B"."LANGUAGE"=USERENV('LANG'))
       filter("B"."LANGUAGE"=USERENV('LANG') AND "B"."MEANING"=SUBSTRB("PARTY_NA
  58 - access("LOOKUP_TYPE"='RLM_DETAIL_TYPE_CODE' AND "VIEW_APPLICATION_ID"=0 A
              "LANGUAGE"=USERENV('LANG'))
       filter("SECURITY_GROUP_ID"="FND_GLOBAL"."LOOKUP_SECURITY_GROUP"("LV"."LOO
              W_APPLICATION_ID"))
  59 - filter("A"."SHIP_FROM_ORG_ID"=2904)
  60 - access("A"."ITEM_DETAIL_TYPE"="LOOKUP_CODE" AND "A"."HEADER_ID"=1197995)
       filter(TO_NUMBER("A"."ITEM_DETAIL_TYPE")<3)
  61 - filter(NVL("B"."INTRMD_SHIP_TO_ID"(+),NVL("A"."INTRMD_SHIP_TO_ID",0))=NVL
              O_ID",0) AND "B"."ITEM_DETAIL_SUBTYPE"(+)="A"."ITEM_DETAIL_SUBTYPE
              "B"."UOM_CODE"(+)="A"."UOM_CODE" AND NVL("B"."CUST_PO_NUMBER"(+),N
              ("A"."CUST_PO_NUMBER",'0') AND TRUNC(INTERNAL_FUNCTION("B"."START_
              NCTION("A"."START_DATE_TIME")))
  62 - filter("HEADER_ID"= (SELECT "HEADER_ID" FROM "APPS"."RLM_SCHEDULE_HEADERS
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "HEADER_ID"= (SELECT MAX("RSHA"."
              "APPS"."RLM_SCHEDULE_LINES_ALL" "RSLA","APPS"."RLM_SCHEDULE_HEADER
PLAN_TABLE_OUTPUT
              "RSHA","APPS"."RLM_SCHEDULE_HEADERS_ALL" "RLM_SCHEDULE_HEADERS_ALL
              "RSHA"."HEADER_ID"="HEADER_ID" AND TO_NUMBER("ATTRIBUTE1")=1090072
              "RSHA"."ECE_TP_LOCATION_CODE_EXT"='AG-60989' AND "RSHA"."CUSTOMER_
              "RSHA"."SCHEDULE_TYPE"='PLANNING_RELEASE' AND NVL("RSHA"."HEADER_R
              "RSLA"."INVENTORY_ITEM_ID"=:B1 AND "RSHA"."HEADER_ID"="RSLA"."HEAD
              "RSLA"."SHIP_FROM_ORG_ID"=2904 AND ("RSLA"."CUST_PO_NUMBER"=:B2 AN
              "AR"."HZ_CUST_ACCOUNTS" "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APP
              WHERE "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=US
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
  63 - filter("A"."SHIP_FROM_ORG_ID"=2904)
  64 - filter("B_IN"."CUSTOMER_ITEM_ID"="A"."CUSTOMER_ITEM_ID" AND
              "B_IN"."SHIP_FROM_ORG_ID"="A"."SHIP_FROM_ORG_ID" AND TO_NUMBER("B_
              TRUNC(INTERNAL_FUNCTION("B_IN"."START_DATE_TIME"))>= (SELECT
              TRUNC(INTERNAL_FUNCTION("SCHED_HORIZON_START_DATE")) FROM "RLM"."R
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "HEADER_ID"=1197995 AND
              NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
PLAN_TABLE_OUTPUT
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
  65 - access("B_IN"."INVENTORY_ITEM_ID"="A"."INVENTORY_ITEM_ID" AND
              "B_IN"."SHIP_TO_ORG_ID"="A"."SHIP_TO_ORG_ID")
  66 - filter(NVL("ORG_ID",NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1
              ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99)))=NVL(TO_NUMBE
              INFO'),1,1),' ',NULL,SUBSTRB(USERENV('CLIENT_INFO'),1,10))),(-99))
  67 - access("HEADER_ID"=1197995)
  68 - access("HEADER_ID"= (SELECT MAX("RSHA"."HEADER_ID") FROM "APPS"."RLM_SCHE
              "RSLA","APPS"."RLM_SCHEDULE_HEADERS_ALL" "RSHA","APPS"."RLM_SCHEDU
              "RLM_SCHEDULE_HEADERS_ALL" WHERE "RSHA"."HEADER_ID"="HEADER_ID" AN
              TO_NUMBER("ATTRIBUTE1")=109007290 AND "RSHA"."ECE_TP_LOCATION_CODE
              "RSHA"."CUSTOMER_ID"=64742 AND "RSHA"."SCHEDULE_TYPE"='PLANNING_RE
              NVL("RSHA"."HEADER_REF_VALUE_1",'1') IS NOT NULL AND "RSLA"."INVEN
              "RSHA"."HEADER_ID"="RSLA"."HEADER_ID" AND "RSLA"."SHIP_FROM_ORG_ID
              ("RSLA"."CUST_PO_NUMBER"=:B2 AND  EXISTS (SELECT 0 FROM "AR"."HZ_C
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
PLAN_TABLE_OUTPUT
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
  73 - filter("RSHA"."CUSTOMER_ID"=64742 AND "RSHA"."SCHEDULE_TYPE"='PLANNING_RE
              NVL("RSHA"."HEADER_REF_VALUE_1",'1') IS NOT NULL)
  74 - access("RSHA"."ECE_TP_LOCATION_CODE_EXT"='AG-60989')
  75 - filter(TO_NUMBER("ATTRIBUTE1")=109007290)
  76 - access("RSHA"."HEADER_ID"="HEADER_ID")
  77 - access("RSHA"."HEADER_ID"="RSLA"."HEADER_ID" AND "RSLA"."INVENTORY_ITEM_I
  78 - filter("RSLA"."SHIP_FROM_ORG_ID"=2904 AND ("RSLA"."CUST_PO_NUMBER"=:B1 AN
              0 FROM "AR"."HZ_CUST_ACCOUNTS" "CUST_ACCT","AR"."HZ_PARTIES" "PART
              "B" WHERE "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742) OR  NOT EXISTS (SELECT 0 FROM
              "CUST_ACCT","AR"."HZ_PARTIES" "PARTY","APPLSYS"."FND_LOOKUP_VALUES
              "B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."LANGUAGE"=USERENV(
              "B"."MEANING"=SUBSTRB("PARTY_NAME",1,50) AND "CUST_ACCT"."PARTY_ID
              "CUST_ACCT"."CUST_ACCOUNT_ID"=64742)) AND "RSLA"."ORG_ID"="RSHA"."
  82 - access("CUST_ACCT"."CUST_ACCOUNT_ID"=64742)
  84 - access("CUST_ACCT"."PARTY_ID"="PARTY"."PARTY_ID")
  85 - access("B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."MEANING"=SUBSTRB("
PLAN_TABLE_OUTPUT
              AND "B"."LANGUAGE"=USERENV('LANG'))
       filter("B"."LANGUAGE"=USERENV('LANG') AND "B"."MEANING"=SUBSTRB("PARTY_NA
  89 - access("CUST_ACCT"."CUST_ACCOUNT_ID"=64742)
  91 - access("CUST_ACCT"."PARTY_ID"="PARTY"."PARTY_ID")
  92 - access("B"."LOOKUP_TYPE"='ETN_RLM_CHECK_CUST' AND "B"."MEANING"=SUBSTRB("
              AND "B"."LANGUAGE"=USERENV('LANG'))
       filter("B"."LANGUAGE"=USERENV('LANG') AND "B"."MEANING"=SUBSTRB("PARTY_NA
  94 - access("LOOKUP_TYPE"='RLM_DETAIL_SUBTYPE_CODE' AND "VIEW_APPLICATION_ID"=
              "LOOKUP_CODE"=NVL("B"."ITEM_DETAIL_SUBTYPE","A"."ITEM_DETAIL_SUBTY
              "LANGUAGE"=USERENV('LANG'))
       filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"="FND_GLOBAL"."L
              P"("LV"."LOOKUP_TYPE","LV"."VIEW_APPLICATION_ID"))
  95 - access("LOOKUP_TYPE"='RLM_DETAIL_TYPE_CODE' AND "VIEW_APPLICATION_ID"=0 A
              "LOOKUP_CODE"=NVL("B"."ITEM_DETAIL_TYPE",'0') AND "LANGUAGE"=USERE
       filter("LANGUAGE"=USERENV('LANG') AND "SECURITY_GROUP_ID"="FND_GLOBAL"."L
              P"("LV"."LOOKUP_TYPE","LV"."VIEW_APPLICATION_ID"))
Note
   - 'PLAN_TABLE' is old version
313 rows selectedPlease suggest me how can I work on the query part to improve the performance.
Thanks
Vishalaksha

Similar Messages

  • Need help for performance tunning

    Hello,
    I have 16K records return by query, it takes long time to proceed for 7K it takes 7.5 sec.
    Note: I used all seeded tables only.
    If possible please help me to tune it.
    SELECT       msi.inventory_item_id,msi.segment1,msi.rimary_uom_code , msi.primary_unit_of_measure
    FROM  mtl_system_items_b msi, qp_list_lines qpll,qp_pricing_attributes qppr,
              mtl_category_sets_tl mcs,mtl_category_sets_b mcsb,
              mtl_categories_b mc, mtl_item_categories mcb
    WHERE     msi.enabled_flag = 'Y'
         AND qpll.list_line_id = qppr.list_line_id
         AND qppr.product_attr_value = TO_CHAR (msi.inventory_item_id(+))
         AND qppr.product_uom_code = msi.primary_uom_code
         AND mc.category_id = mcb.category_id
         AND msi.inventory_item_id = mcb.inventory_item_id
         AND msi.organization_id = mcb.organization_id
         AND TRUNC (SYSDATE) BETWEEN NVL (qpll.start_date_active,TRUNC (SYSDATE)) AND NVL (qpll.end_date_active,TRUNC (SYSDATE))
         AND mcs.category_set_name = 'LSS SALES CATEGORY'
         AND mcs.language = 'US'
         AND mcs.category_set_id = mcsb.category_set_id
         AND mcsb.structure_id = mc.structure_id
         AND msi.organization_id = :p_organization_id
         AND qpll.list_header_id = :p_price_list_id
         AND mcb.category_id = :p_category_id;
    Thanks and regards
    Akil.

    Thanks Helios ,
    here is answers
    Databse version
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit  
    PL/SQL Release 11.1.0.7.0
    explain plan
    | Id  | Operation                       | Name                     | Rows  | Bytes | Cost (%CPU)|

    0 | SELECT STATEMENT              
    |                          |   
    1 |   149 |  9439 
    (1)|

    1 |  NESTED LOOPS                   |                          |     1 | 
    149 |  9439   (1)|
    |*
    2 |   HASH JOIN OUTER               |                          |     1 | 
    135 |  9437   (1)|
    |*
    3 |    HASH JOIN                    |                          |     1 |  
    71 |  9432   (1)|

    4 |     NESTED LOOPS                |                          |     2 |  
    76 |    53   (0)|
    |*
    5 |      TABLE ACCESS BY INDEX
    ROWID| QP_LIST_LINES            |     2 |  
    44 |    49   (0)|
    |*
    6 |       INDEX SKIP SCAN           | QP_LIST_LINES_N2         | 
    702 |       |    20 
    (0)|
    |*
    7 |      INDEX RANGE SCAN           | QP_PRICING_ATTRIBUTES_N3 |     1 |  
    16 |     2   (0)|
    |*
    8 |     TABLE ACCESS BY INDEX
    ROWID | MTL_SYSTEM_ITEMS_B       | 46254
    |  1490K|
    9378   (1)|
    |*
    9 |      INDEX RANGE SCAN           | MTL_SYSTEM_ITEMS_B_N9    | 46254 |       | 
    174   (1)|
    |
    10 |    TABLE ACCESS FULL            | XX_WEB_ITEM_IMAGE_TBL    | 
    277 | 17728 |     5   (0)|
    |* 11 |   INDEX RANGE SCAN              | MTL_ITEM_CATEGORIES_U1   |   
    1 |    14 |     2 
    (0)|
    Predicate Information (identified
    by operation id):
    2 -
    access("XWIIT"."IMAGE_CODE"(+)="MSI"."SEGMENT1")
    3 -
    access("QPPR"."PRODUCT_ATTR_VALUE"=TO_CHAR("MSI"."INVENTORY_ITEM_ID")
    AND
    "QPPR"."PRODUCT_UOM_CODE"="MSI"."PRIMARY_UOM_CODE")
    5 - filter(NVL("QPLL"."START_DATE_ACTIVE",TRUNC(SYSDATE@!))<=TRUNC(SYSDATE@!)
    AND
    NVL("QPLL"."END_DATE_ACTIVE",TRUNC(SYSDATE@!))>=TRUNC(SYSDATE@!))
    6 -
    access("QPLL"."LIST_HEADER_ID"=TO_NUMBER(:P_PRICE_LIST_ID))
    filter("QPLL"."LIST_HEADER_ID"=TO_NUMBER(:P_PRICE_LIST_ID))
    7 -
    access("QPLL"."LIST_LINE_ID"="QPPR"."LIST_LINE_ID")
    filter("QPPR"."PRODUCT_UOM_CODE" IS NOT NULL)
    8 - filter("MSI"."ENABLED_FLAG"='Y')
    9 - access("MSI"."ORGANIZATION_ID"=TO_NUMBER(:P_ORGANIZATION_ID))
    11 -
    access("MCB"."ORGANIZATION_ID"=TO_NUMBER(:P_ORGANIZATION_ID)
    AND
    "MSI"."INVENTORY_ITEM_ID"="MCB"."INVENTORY_ITEM_ID"
    AND
    "MCB"."CATEGORY_ID"=TO_NUMBER(:P_CATEGORY_ID))
           filter("MCB"."CATEGORY_ID"=TO_NUMBER(:P_CATEGORY_ID))
    Note
    - 'PLAN_TABLE' is old version
    TKprof Plan
    TKPROF: Release 11.1.0.7.0 - Production on Fri Nov 15 06:12:26 2013
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Trace file: LSSD_ora_19760.trc
    Sort options: default
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    SELECT msi.inventory_item_id,
           msi.segment1,
           primary_uom_code,
           primary_unit_of_measure,
           xwiit.image_url
      FROM mtl_system_items_b msi,
           qp_list_lines qpll,
           qp_pricing_attributes qppr,
           mtl_item_categories mcb,
           xx_web_item_image_tbl xwiit
    WHERE     msi.enabled_flag = 'Y'
           AND qpll.list_line_id = qppr.list_line_id
           AND qppr.product_attr_value = TO_CHAR (msi.inventory_item_id)
           AND qppr.product_uom_code = msi.primary_uom_code
           AND msi.inventory_item_id = mcb.inventory_item_id
           AND msi.organization_id = mcb.organization_id
           AND TRUNC (SYSDATE) BETWEEN NVL (qpll.start_date_active,
                                            TRUNC (SYSDATE))
                                   AND NVL (qpll.end_date_active,
                                            TRUNC (SYSDATE))
           AND xwiit.image_code(+) = msi.segment1
           AND msi.organization_id = :p_organization_id
           AND qpll.list_header_id = :p_price_list_id
           AND mcb.category_id = :p_category_id
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        2      0.00       0.00          0          0          0           0
    Execute      2      0.00       0.00          0          0          0           0
    Fetch        2      3.84       3.85          0     432560          0        1002
    total        6      3.84       3.85          0     432560          0        1002
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 
    Rows     Row Source Operation
        501  NESTED LOOPS  (cr=216280 pr=0 pw=0 time=115 us cost=9439 size=149 card=1)
       2616   HASH JOIN OUTER (cr=211012 pr=0 pw=0 time=39 us cost=9437 size=135 card=1)
      78568    HASH JOIN  (cr=210997 pr=0 pw=0 time=3786 us cost=9432 size=71 card=1)
      78571     NESTED LOOPS  (cr=29229 pr=0 pw=0 time=35533 us cost=53 size=76 card=2)
      78571      TABLE ACCESS BY INDEX ROWID QP_LIST_LINES (cr=9943 pr=0 pw=0 time=27533 us cost=49 size=44 card=2)
    226733       INDEX SKIP SCAN QP_LIST_LINES_N2 (cr=865 pr=0 pw=0 time=4122 us cost=20 size=0 card=702)(object id 99730)
      78571      INDEX RANGE SCAN QP_PRICING_ATTRIBUTES_N3 (cr=19286 pr=0 pw=0 time=0 us cost=2 size=16 card=1)(object id 99733)
    128857     TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=181768 pr=0 pw=0 time=9580 us cost=9378 size=1526382 card=46254)
    128857      INDEX RANGE SCAN MTL_SYSTEM_ITEMS_B_N9 (cr=450 pr=0 pw=0 time=1657 us cost=174 size=0 card=46254)(object id 199728)
        277    TABLE ACCESS FULL XX_WEB_ITEM_IMAGE_TBL (cr=15 pr=0 pw=0 time=22 us cost=5 size=17728 card=277)
        501   INDEX RANGE SCAN MTL_ITEM_CATEGORIES_U1 (cr=5268 pr=0 pw=0 time=0 us cost=2 size=14 card=1)(object id 99557)
    Note: I modified query and it gives good result, now it takes 3 to 4 sec for 16000 records.
    If possible can you plz explain what we have to take care while doing performance tunning
    I am a fresher so don't have that much idea.
    and also Thanks Hussein for your replay

  • Help for performance tunning

    Hi Gurus,
    I m new to the group and SAP BW as well,so i need ur valuable inputs for a Performance related Project.
    I m going to start  a new project in a wks time so and i m working as a Performance Tuning Consultant on that(Load & Query Performance),but i don't have any idea about this,so i need ur valuable advice on that,plz.
    Can anyone plz suggest me the possible ways of suggestions so that i can tell the client as a gud consultant to start with but these days i m going though BW Performance & Authorization(BW360) which is really helpful for me but apart from that i need ur valuable inputs as well.
    Thanks in Advance.
    regards
    Amit

    hi Amit,
    check this.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/afbad390-0201-0010-daa4-9ef0168d41b6
    also
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/10b589ad-0701-0010-0299-e5c282b7aaad
    regards.

  • Need help in performance tunning

    Hi , i have one update statement , where it is keep on running for hours and the volume of the data is 2.2 million
    version:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for Linux: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    below is the code :
    DECLARE
    Cursor C11
    Is
    Select Account_Num,Outlet_Num,Product_Number,Ln_Of_Biz,Generateguid('DELIVERED_PRODUCT') As Dp_Guid From (
    Select Account_Num,Outlet_Num,Product_Number,Ln_Of_Biz
    From transformation_flat
    Group By Account_Num, Outlet_Num,Ln_Of_Biz,Product_Number
    Having Count(*)> 1);
    Type Actno Is Table Of Varchar2(13) Index By Binary_Integer;
    Type Outlet Is Table Of NUMBER Index By Binary_Integer;
    Type Pno Is Table Of VARCHAR2(255) INDEX BY BINARY_INTEGER;
    Type Tn Is Table Of VARCHAR2(10) Index By Binary_Integer;
    Type Vdpguid Is Table Of VARCHAR2(20) Index By Binary_Integer;
    Type Vcnt Is Table Of Number Index By Binary_Integer;
    Type Lob1 Is Table Of Varchar2(255) Index By Binary_Integer;
    Type Offer_No Is Table Of Varchar2(255) Index By Binary_Integer;
    V_Actno Actno;
    V_Outlet Outlet;
    V_Pno Pno;
    V_Tn Tn;
    V_DPGUID VDPGUID;
    Vguid Varchar2(20);
    V_Cnt Vcnt;
    V_Lob Lob1;
    V_Offer_No Offer_No;
    BEGIN
    Open c11;
    Loop
    Fetch C11 Bulk Collect Into V_Actno,V_Outlet,V_Pno,V_Lob,V_Dpguid;
    Exit When C11%Notfound;
    End Loop;
    close c11;
    Forall I In 1..V_Actno.count
    Update transformation_flat Set Product_Guid=V_Dpguid(I) Where
    Account_Num=V_Actno(I) And
    Outlet_Num=V_Outlet(I) And
    Product_Number=V_Pno(I) And
    ln_of_biz=v_lob(I);
    Commit;
    END;
    for above i do have index on that table on (account_num,outlet_num,product_number,ln_of_biz).
    when i checked the memory contents for this sqlid in v$sql , below are the values :
    Disk_Read:21640650
    Buffer_Gets:22466856
    Concurrency_Wait_Time:16923
    Cluster_Wait_Time:36313694
    user_io_wait_time:3594365433
    I need some inputs in which area i can tune the above code..
    Thanks

    835589 wrote:
    hi i am also face same performance issue pls reply me ASApDon't use the word ASAP, it is rude and a violation of forum terms and conditions.
    http://www.oracle.com/html/terms.html
    >
    4. Use of Community Services
    Community Services are provided as a convenience to users and Oracle is not obligated to provide any technical support for, or participate in, Community Services. While Community Services may include information regarding Oracle products and services, including information from Oracle employees, they are not an official customer support channel for Oracle.
    You may use Community Services subject to the following: (a) Community Services may be used solely for your personal, informational, noncommercial purposes; (b) Content provided on or through Community Services may not be redistributed; and (c) personal data about other users may not be stored or collected except where expressly authorized by Oracle
    >
    These people are for ASAP requests.
    http://www.google.com/search?q=oracle+consultant
    where i need to tune the queery.
    pls i am eagarly waiting for that
    Read and understand the links posted above
    RPuttagunta wrote:
    HOW TO: Post a SQL statement tuning request - template posting
    When your query takes too long ...

  • Help with Performance tunning PL/SQL

    Hi All,
    I have a PL/SQL procedure, it works fine. No errors, and no bugs. However its taking forever to finish. I am using the concatenation operator (||), and I know its expensive. How can I improve performance to the procedure ?
    Here is the code
    create or replace
    PROCEDURE POST_ADDRESS_CLEANSE AS
    CURSOR C1 IS
    SELECT Z.ROW_ID,
            Z.NAME
    FROM  STGDATA.ACCOUNT_SOURCE Z;
    CURSOR  C2 IS
    SELECT  DISTINCT CLEANSED_NAME || CLEANSED_STREET_ADDRESS ||
            CLEANSED_STREET_ADDRESS_2 || CLEANSED_CITY || CLEANSED_STATE ||
            CLEANSED_POSTAL_CODE AS FULLRECORD
    FROM    STGDATA.ACCOUNT_SOURCE_CLEANSED;
    V_ROWID Number := 1;
    V_FLAG VARCHAR2(30);
    TEMP_ROW_ID VARCHAR2(10) := NULL;
    BEGIN
      -- This loop will update CLEANSED_NAME column in ACCOUNT_SOURCE_CLEANSED table.
      FOR X IN C1 LOOP
        TEMP_ROW_ID := TO_CHAR(X.ROW_ID);
      UPDATE STGDATA.ACCOUNT_SOURCE_CLEANSED A
      SET  A.CLEANSED_NAME = X.NAME
      WHERE A.ROW_ID = TEMP_ROW_ID;
        COMMIT;
      END LOOP;
      -- This loop will update columns EM_PRIMARY_FLAG, EM_GROUP_ID in ACCOUNT_SOURCE_CLEANSED table
      FOR Y IN C2 LOOP
        UPDATE  STGDATA.ACCOUNT_SOURCE_CLEANSED
        SET     EM_GROUP_ID = V_ROWID
        WHERE   CLEANSED_NAME || CLEANSED_STREET_ADDRESS || CLEANSED_STREET_ADDRESS_2 ||
                CLEANSED_CITY || CLEANSED_STATE || CLEANSED_POSTAL_CODE = Y.FULLRECORD;
        UPDATE  STGDATA.ACCOUNT_SOURCE_CLEANSED
        SET     EM_PRIMARY_FLAG = 'Y'
        WHERE   CLEANSED_NAME || CLEANSED_STREET_ADDRESS || CLEANSED_STREET_ADDRESS_2 ||
                CLEANSED_CITY || CLEANSED_STATE || CLEANSED_POSTAL_CODE = Y.FULLRECORD
        AND     ROWNUM = 1;
        V_ROWID := V_ROWID + 1;
        COMMIT;
      END LOOP;
      UPDATE  STGDATA.ACCOUNT_SOURCE_CLEANSED
      SET     EM_PRIMARY_FLAG = 'N'
      WHERE   EM_PRIMARY_FLAG IS NULL;
      COMMIT;
      --dbms_output.put_line('V_ROW:'||V_ROWID);
      --dbms_output.put_line('CLEANSED_NAME:'||Y.FULLRECORD); 
    END POST_ADDRESS_CLEANSE;
    Thanks in advance.
    Message was edited by: Rooney -- added code using syntax highlight

    I was able to modify my code a bit, however I don't see a way of not using loops.
    In the loop, I am updating 2 columns. EM_PRIMARY_FLAG, and EM_GROUP_ID. The data I am working with has duplicate records, and that is why I am using a distinct in the cursor. The requirements are is to make one record a primary record, and the rest are reference records. What makes my record primary is updating column EM_PRIMARY_FLAG with a 'Y', and updating EM_GROUP_ID with a number combines all duplicate records into a group.
    In the procedure, I am getting the distinct records, looping through each one, and then doing 2 updates:
    1 - Update EM_PRIMARY_FLAG to 'Y' where rownum = 1, this will set one record to be primary
    2 - Update EM_GROUP_ID to a number (V_ROWID := V_ROWID + 1) where V_ROWID starts from 1, to group all records into a set.
    Here is my latest code after modifying it:
    create or replace
    PROCEDURE POST_ADDRESS_CLEANSE AS
    CURSOR  C1 IS
    SELECT      DISTINCT NVL(CLEANSED_NAME, '') AS NAME_CLEANSED,
                      NVL(CLEANSED_STREET_ADDRESS, '') AS ADDRESS_CLEANSED,
                      NVL(CLEANSED_STREET_ADDRESS_2, '') AS ADDRESS2_CLEANSED,
                      NVL(CLEANSED_CITY, '') AS CITY_CLEANSED,
                      NVL(CLEANSED_STATE, '') AS STATE_CLEANSED,
                      NVL(CLEANSED_POSTAL_CODE, '') AS POSTAL_CODE_CLEANSED
    FROM        STGDATA.ACCOUNT_SOURCE_CLEANSED;
    V_ROWID Number := 1;
    V_FLAG VARCHAR2(30);
    TEMP_ROW_ID VARCHAR2(10) := NULL;
    BEGIN
        UPDATE STGDATA.ACCOUNT_SOURCE_CLEANSED A
        SET  A.CLEANSED_NAME = (SELECT   Z.NAME
                                                       FROM     STGDATA.ACCOUNT_SOURCE Z
                                                       WHERE    Z.ROW_ID = (SELECT  TO_NUMBER(B.ROW_ID)
                                                                                           FROM    STGDATA.ACCOUNT_SOURCE_CLEANSED B
                                                                                           WHERE   B.ROW_ID = A.ROW_ID));
        COMMIT;
      -- This loop will update columns EM_PRIMARY_FLAG, EM_GROUP_ID in ACCOUNT_SOURCE_CLEANSED table
      FOR Y IN C1 LOOP
        UPDATE   STGDATA.ACCOUNT_SOURCE_CLEANSED
        SET          EM_GROUP_ID = V_ROWID
        WHERE    CLEANSED_NAME = Y.NAME_CLEANSED
        AND          CLEANSED_STREET_ADDRESS = Y.ADDRESS_CLEANSED
        AND          CLEANSED_STREET_ADDRESS_2 = Y.ADDRESS2_CLEANSED
        AND          CLEANSED_CITY = Y.CITY_CLEANSED
        AND          CLEANSED_STATE = Y.STATE_CLEANSED
        AND          CLEANSED_POSTAL_CODE = Y.POSTAL_CODE_CLEANSED;
        UPDATE  STGDATA.ACCOUNT_SOURCE_CLEANSED
        SET     EM_PRIMARY_FLAG = 'Y'
        WHERE   CLEANSED_NAME = Y.NAME_CLEANSED
        AND     CLEANSED_STREET_ADDRESS = Y.ADDRESS_CLEANSED
        AND     CLEANSED_STREET_ADDRESS_2 = Y.ADDRESS2_CLEANSED
        AND     CLEANSED_CITY = Y.CITY_CLEANSED
        AND     CLEANSED_STATE = Y.STATE_CLEANSED
        AND     CLEANSED_POSTAL_CODE = Y.POSTAL_CODE_CLEANSED
        AND     ROWNUM = 1;
        V_ROWID := V_ROWID + 1;
      END LOOP;
      COMMIT;
      UPDATE  STGDATA.ACCOUNT_SOURCE_CLEANSED
      SET     EM_PRIMARY_FLAG = 'N'
      WHERE   EM_PRIMARY_FLAG IS NULL;
      COMMIT;
    END POST_ADDRESS_CLEANSE;
    Thanks
    Message was edited by: Rooney - Just added the code in SQL block using syntax highlight.

  • Performance tunning in oracle

    Hi friends,
    I am himansu, i am facing a problem during performance tunning of query in oracle , please guide me how to tune a query which will give better performance.

    907977 wrote:
    Hi friends,
    I am himansu, i am facing a problem during performance tunning of query in oracle , please guide me how to tune a query which will give better performance.Welcome to OTN
    Please post your thread at SQL, PL/SQL. PL/SQL
    and provide your sql query.
    Hope this will help you.

  • Unknown steps in performance tunning

    Hi,
    I am in middle of performance tunning in BI 7.0, as i am going to do the following steps-i am unclear in some steps;
    expert advice is needed. post ur ans as soon as possible.
    When loading transaction data, following this procedure:
    known - Load all master data.
    known - Delete the indices of the InfoCube and its aggregates.
    Unknown - Turn on number range buffering.
    Unknown - Set an appropriate data packet size.
    known - Load the transaction data.
    known - Re-create the indices.
    Unknown - Turn off number range buffering.
    known - Refresh the statistics.
    regards,
    Suman

    Hi Suman,
    check these on number range buffering
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/6eb2aa7aed44ea92ebb969e03081fb/frameset.htm
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0a6e3ff-f000-2d10-b59d-8ef35e248f83?quicklink=index&overridelayout=true

  • Pls help in performance tuning SQL

    Hi All,
    Can someone please help me to tune this quesry. Rt now it is takin 20 mins tro retuns 80,000 rows and its using dblink
    SELECT COUNT(*) FROM
    (SELECT /*+driving_site(main)*/CORP_ACTG_PRD_YEAR,
    CORP_ACTG_PRD_NBR,
    FCN_CODE,
    LOCAL_CRNC_CODE,
    GL_LOCAL_AMT,
    CORP_ID,
    PGRD_COST_CTR_ID,
    MAJOR_CODE,
    EXP_MINOR_CODE,
    PGRD_EXP_CODE,
    PGRD_EXP_DESC,
    DIV_CODE,
    MKT_CODE,
    PROD_CODE,
    PGRD_PROJECT_CODE,
    PGRD_PROJ_SHORT_DESC
    FROM --#GifDBLink# main,
    [email protected] main,
    select actg_prd_year, actg_prd_nbr from DM_GIF_ESSBASE_CTRL
    where cur_prd_ind='Y' and src_id=84
    union
    select decode(actg_prd_nbr,1,actg_prd_year-1,actg_prd_year) actg_prd_year,
    decode(actg_prd_nbr,1,12,actg_prd_nbr-1) actg_prd_nbr
    from DM_GIF_ESSBASE_CTRL
    where cur_prd_ind='Y' and src_id=84
    union
    select decode(actg_prd_nbr,12,actg_prd_year+1,actg_prd_year) actg_prd_year,
    decode(actg_prd_nbr,12,1,actg_prd_nbr+1) actg_prd_nbr
    from DM_GIF_ESSBASE_CTRL
    where cur_prd_ind='Y' and src_id=84 ) minor
    where main.CORP_ACTG_PRD_YEAR = minor.actg_prd_year
    and main.CORP_ACTG_PRD_NBR = minor.actg_prd_nbr) T;

    user13365939 wrote:
    anyone?Incorrect.
    You are only one who can provide the information that was requested in this thread.
    Please see the FAQ, read the instructions and provide the necessary information.
    Re: 3. How to  improve the performance of my query? / My query is running slow.

  • Performance tunning

    Dear Experts,
    I am urgently looking forward to some comprehensive documentation on Performance tunning elaborating on the issues like:-
    1.)In what instances should we do performance tunning....
    2.) why it is neccessary and
    3.) what r the <b><u>various methods</b> <b>of performance tunnig....</u></b>
    I shall be highly obliged, if anyone can point me to relevant links, or send me illustrative documentation on these issues in performance tunning at [email protected]
    ur help shall be thankfully/duely acknowledged,
    regards,
    shalini.
    Message was edited by: shalini gupta

    Shalini ,
    Performance tuning is at various levels :
    1. Data Modeling
    2. Data Loading
    3. Report design
    4. Reporting
    It is a mix and match of the above and other factors you might need to consider could also be something like:
    1. DB being used
    2. Partitioning
    3. System parameters
    4. Authorization Design...
    All this depends on the level of performance tuning you want to do:
    https://websmp204.sap-ag.de/~sapidb/011000358700001890502003
    This is a link to the support portal and I have sent the same across to you. Hope it is useful.
    Arun

  • How to improve my pls/sql performance tunning skills

    Hi All , I would like to learn more about pl/sql performance tunning , where or how can i get more knowledge in this area ?
    Is there any tutorials which can help me to understand the Explain plan, Dbms_Profiler, Dbms_Advisor more etc ........Thanks . Bcj

    Explain plan
    http://www.psoug.org/reference/explain_plan.html
    DBMS_PROFILER (10g)
    http://www.psoug.org/reference/dbms_profiler.html
    DBMS_HPROF (11g)
    http://www.psoug.org/reference/dbms_hprof.html
    DBMS_ADVISOR
    http://www.psoug.org/reference/dbms_advisor.html
    DBMS_MONITOR
    http://www.psoug.org/reference/dbms_monitor.html
    DBMS_SUPPORT
    http://www.psoug.org/reference/dbms_support.html
    DBMS_TRACE
    http://www.psoug.org/reference/dbms_trace.html
    DBMS_SQLTUNE
    http://www.psoug.org/reference/dbms_sqltune.html

  • Query Performance Tunning

    Dear Experts,
    I am executing a query which is build on a Multiprovider. The execution time is approx. 12 mins, again if I enable a dimension to analyze it takes another 15 mins.
    The technical details of the query are:
    1) The multiprovider fetches data from three different Cubes.
    2) It contains three diff characteristics out of which one is having a 10 level hierarchy and one is having a 2 level hierarchy. Both the hierarchies are externally maintained.
    3) It contains KPIs which calculate the sales on diff time lines such as CM MTD,  LM MTD, CY YTD, LY YTD with the help of a customer exit.
    4) It converts the quatities in alt unit of measures through an exit.
    Kindly suggest for performance tunning. How shall i achieve min query execution time??
    -Kushal

    HI Kushal,
    effective query on MP can be found
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b03b7f4c-c270-2910-a8b8-91e0f6d77096
    for nw2004s
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a9ab011a-0e01-0010-02a1-d496b94c9c0f
    modeling on multiprovider
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2f5aa43f-0c01-0010-a990-9641d3d4eef7
    docs on performance available in
    FAQ - The Future of SAP NetWeaver Business Intelligence in the Light of the NetWeaver BI&Business Objects Roadmap
    https://service.sap.com/bi
    -> performance
    Also,
    check the parallel processing setting, your query is non cumulative ...
    629541 Multiprovider: Parallel Processing
    911939 Optimization hint for logical MultiProvider partitioning
    907881 MultiProvider with (too) many part providers
    Performance of non-cumulative queries in MultiProviders
    903559 MultiProvider optimization is only partially active
    942554 Perf when working with BI inp help with multiprov on Oracle
    607164 MultiProvider: Sequential processing is faster than parallel
    913975 Performance problems for MultiProviders with many partprov.
    hope this helps
    Best Regards,
    VVenkat..

  • How to do performance tunning

    Hi,
    Can any one help me how to do performance tunning.I was given two scripts which contains more UNION clauses.

    Hi,
    What version of Oracle are you on? If you have Oracle 22S (the S is for "Sentient"), there's one way:
    SCOTT@ORA22S> set autotrace traceonly explain
    SCOTT@ORA22S> ed
    Wrote file afiedt.buf
      1  select *
      2  from test
      3* where test_date > date '2001-01-01'
    SCOTT@ORA22S> /
    Execution Plan
    0    SELECT STATEMENT Optimizer=ALL_ROWS (Cost=40656 Card=1071132 Bytes=163883196)
    1  0   TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (TABLE) (Cost=40656 Card=1071132 Bytes=163883196)
    2  1     INDEX (FULL SCAN) OF 'TST_CUSTOM_03' (INDEX) (Cost=6785 Card=1071132)
    SCOTT@ORA22S> alter session set sql_go_fast = true;
    Session altered.
    SCOTT@ORA22S> /
    Execution Plan
    0    SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9979 Card=1071132 Bytes=163883196)
    1  0   TABLE ACCESS (FULL) OF 'TEST' (TABLE) (Cost=9979 Card=1071132 Bytes=163883196)Unfortunately Oracle 22S may not be available for a while. Until then you may have to listen to Billy ;-)
    cheers,
    Anthony

  • SCM Live cache performance tunning

    I got a ne project here I have to work on SCM live cache, performance tunning and ECC Integrating ith SCM.
    If you have any documents can you please help me.
    - Thanks

    7,
    Try these
    https://websmp103.sap-ag.de/~sapidb/011000358700000567062006E
    https://websmp103.sap-ag.de/~sapidb/011000358700002213412003E
    https://websmp103.sap-ag.de/~sapidb/011000358700000715082008E
    https://websmp103.sap-ag.de/~sapidb/011000358700007382642002E
    https://websmp103.sap-ag.de/~sapidb/011000358700008748092002E
    Rgds,
    DB49

  • Help me query tunning

    Hi Guru's
    Can you please help me query tunning.
    Database Version : Oracle 11g - 11.2.0.3
    select  distinct  corporation_name custer_name,
            glog_util.remove_domain(SHIP_BUY.SERVPROV_GID ) SCAC,
            glog_util.remove_domain(ship_buy.shipment_gid) buy_shipment_gid,
            F_Get_SELL_ID_STRING(SHIP_BUY.SHIPMENT_GID) sell_shipment_gid,
            ship_buy.domain_name,    
            F_GET_ORDER_RELEASE_GID('B',SHIP_BUY.SHIPMENT_GID,0) ORDER_RELEASE_GID,
            f_get_refnum_string('SHIPMENT', ship_buy.shipment_gid, 'MBOL_NUMBER_CLEANSED')MBOL_NUMBER,
            F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID) POD_RECEIVED_DATE,
            f_get_exp_accrue_amt(ship_buy.shipment_gid,'SHIPMENT') Total_accrual_amount    
    from shipment ship_buy,
            invoice inv,
            invoice_shipment si,
            --voucher v,
            corporation corp
    where corp.domain_name=ship_buy.domain_name
            and corp.is_domain_master='Y'
          and 1=1
          AND ship_buy.domain_name like 'UPS/CP/DFP/%'
          and F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID)  <= to_char(to_date('31-JUL-2013', 'DD-MON-YYYY'), 'dd-mon-yyyy')
            --and V.INVOICE_GID(+) = inv.invoice_gid
            --and ship_buy.domain_name = 'UPS/CP/VZNB'
            and si.shipment_gid(+) = SHIP_BUY.SHIPMENT_GID
            AND SI.INVOICE_GID = INV.INVOICE_GID(+)
            and SHIP_BUY.INSERT_DATE > '1-JAN-2007'
            and SHIP_BUY.USER_DEFINED1_ICON_GID = 'ACCEPTED'
    UNION        
    select  distinct  corporation_name custer_name,
            glog_util.remove_domain(SHIP_BUY.SERVPROV_GID ) SCAC,
            glog_util.remove_domain(ship_buy.shipment_gid) buy_shipment_gid,
            F_GET_SELL_ID_STRING( SHIP_BUY.SHIPMENT_GID) sell_shipment_gid,
            ship_buy.domain_name,    
            F_GET_ORDER_RELEASE_GID('B',SHIP_BUY.SHIPMENT_GID,0) ORDER_RELEASE_GID,
            f_get_refnum_string('SHIPMENT', ship_buy.shipment_gid, 'MBOL_NUMBER_CLEANSED')MBOL_NUMBER,
            F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID) POD_RECEIVED_DATE,
            f_get_exp_accrue_amt(inv.invoice_gid,'INVOICE') Total_accrual_amount  
    from shipment ship_buy,
            invoice inv,
            invoice_shipment si,
          -- voucher v,
            corporation corp
    where corp.domain_name=ship_buy.domain_name
            and corp.is_domain_master='Y'
            and 1=1
            AND ship_buy.domain_name like 'UPS/CP/DFP/%'
            and F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID)  <= to_char(to_date('31-JUL-2013', 'DD-MON-YYYY'), 'dd-mon-yyyy')
          --AND INV.DOMAIN_NAME = 'UPS/CP/VZNB'
          --and V.INVOICE_GID(+) = inv.invoice_gid
            and si.shipment_gid(+) = SHIP_BUY.SHIPMENT_GID
            AND SI.INVOICE_GID = INV.INVOICE_GID(+)
            and SHIP_BUY.INSERT_DATE > '1-JAN-2007'
            and INV.USER_DEFINED1_ICON_GID = 'ACCEPTED'
    GROUP BY corporation_name,SHIP_BUY.SHIPMENT_GID,SHIP_BUY.SERVPROV_GID,ship_buy.domain_name,inv.invoice_gid
    ORDER BY CUSTER_NAME, BUY_SHIPMENT_GID;
    And I generated the execution plan :
    | Id  | Operation                          | Name                    | Rows  | Bytes | Cost (%CPU)| Time    |
    |  0 | SELECT STATEMENT                  |                        |    3 |  448 |  415  (2)| 00:00:05 |
    |  1 |  SORT UNIQUE                      |                        |    3 |  448 |  414  (87)| 00:00:05 |
    |  2 |  UNION-ALL                        |                        |      |      |            |          |
    |  3 |    NESTED LOOPS OUTER              |                        |    3 |  384 |    57  (0)| 00:00:01 |
    |*  4 |    HASH JOIN                      |                        |    3 |  294 |    54  (0)| 00:00:01 |
    |*  5 |      TABLE ACCESS BY INDEX ROWID  | SHIPMENT                |    3 |  195 |    40  (0)| 00:00:01 |
    |*  6 |      INDEX SKIP SCAN              | IND_SHIP_DOM_ICON      |    54 |      |    25  (0)| 00:00:01 |
    |*  7 |      TABLE ACCESS FULL            | CORPORATION            |    4 |  132 |    14  (0)| 00:00:01 |
    |*  8 |    INDEX RANGE SCAN              | IND_INVOICESHIP_SHP_GID |    1 |    30 |    1  (0)| 00:00:01 |
    |  9 |    HASH GROUP BY                  |                        |    1 |  192 |  356  (1)| 00:00:05 |
    |* 10 |    HASH JOIN                      |                        |    1 |  192 |  354  (1)| 00:00:05 |
    |  11 |      NESTED LOOPS                  |                        |      |      |            |          |
    |  12 |      NESTED LOOPS                |                        |    1 |  159 |  339  (0)| 00:00:05 |
    |  13 |        NESTED LOOPS                |                        |  145 | 13920 |  194  (0)| 00:00:03 |
    |  14 |        TABLE ACCESS BY INDEX ROWID| INVOICE                |  145 |  5220 |    49  (0)| 00:00:01 |
    |* 15 |          INDEX SKIP SCAN          | IDX_INV_TYP_ICON_NAM    |  145 |      |    17  (0)| 00:00:01 |
    |* 16 |        INDEX RANGE SCAN          | UK_INVOICE_SHIPMENT    |    1 |    60 |    1  (0)| 00:00:01 |
    |* 17 |        INDEX UNIQUE SCAN          | PK_SHIPMENT            |    1 |      |    1  (0)| 00:00:01 |
    |* 18 |      TABLE ACCESS BY INDEX ROWID  | SHIPMENT                |    1 |    63 |    1  (0)| 00:00:01 |
    |* 19 |      TABLE ACCESS FULL            | CORPORATION            |    4 |  132 |    14  (0)| 00:00:01 |
    Predicate Information (identified by operation id):
      4 - access("CORP"."DOMAIN_NAME"="SHIP_BUY"."DOMAIN_NAME")
      5 - filter("F_GET_POD_RECEIVED_DATE"("SHIP_BUY"."SHIPMENT_GID")<=TO_DATE(' 2013-07-31 00:00:00',
                  'syyyy-mm-dd hh24:mi:ss') AND "SHIP_BUY"."INSERT_DATE">TO_DATE(' 2007-01-01 00:00:00', 'syyyy-mm-dd
                  hh24:mi:ss'))
      6 - access("SHIP_BUY"."USER_DEFINED1_ICON_GID"='ACCEPTED' AND "SHIP_BUY"."DOMAIN_NAME" LIKE
                  'UPS/CP/DFP/%')
          filter("SHIP_BUY"."DOMAIN_NAME" LIKE 'UPS/CP/DFP/%' AND
                  "SHIP_BUY"."USER_DEFINED1_ICON_GID"='ACCEPTED')
      7 - filter("CORP"."IS_DOMAIN_MASTER"='Y' AND "CORP"."DOMAIN_NAME" LIKE 'UPS/CP/DFP/%')
      8 - access("SI"."SHIPMENT_GID"(+)="SHIP_BUY"."SHIPMENT_GID")
      10 - access("CORP"."DOMAIN_NAME"="SHIP_BUY"."DOMAIN_NAME")
      15 - access("INV"."USER_DEFINED1_ICON_GID"='ACCEPTED')
          filter("INV"."USER_DEFINED1_ICON_GID"='ACCEPTED')
      16 - access("SI"."INVOICE_GID"="INV"."INVOICE_GID")
      17 - access("SI"."SHIPMENT_GID"="SHIP_BUY"."SHIPMENT_GID")
          filter("F_GET_POD_RECEIVED_DATE"("SHIP_BUY"."SHIPMENT_GID")<=TO_DATE(' 2013-07-31 00:00:00',
                  'syyyy-mm-dd hh24:mi:ss'))
      18 - filter("SHIP_BUY"."DOMAIN_NAME" LIKE 'UPS/CP/DFP/%' AND "SHIP_BUY"."INSERT_DATE">TO_DATE('
                  2007-01-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
      19 - filter("CORP"."IS_DOMAIN_MASTER"='Y' AND "CORP"."DOMAIN_NAME" LIKE 'UPS/CP/DFP/%')
    Statistics
        246247  recursive calls
              2  db block gets
        1660067  consistent gets
          13839  physical reads
              0  redo size
        592054  bytes sent via SQL*Net to client
          6024  bytes received via SQL*Net from client
            502  SQL*Net roundtrips to/from client
          15296  sorts (memory)
              0  sorts (disk)
          7513  rows processed

    Hmmm...why does this look familiar?
    F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID)  <= to_char(to_date('31-JUL-2013', 'DD-MON-YYYY'), 'dd-mon-yyyy')
    SHIP_BUY.INSERT_DATE > '1-JAN-2007'
    Like I said in your other thread about this, these two lines need to be fixed and your function needs to be fixed so the return statement doesn't do an implicit date conversion.
    Can't you see what that first line is doing?  You're taking a character string, turning it into a date, then back to a character string.
    If nothing else, these lines should be...
    F_GET_POD_RECEIVED_DATE (ship_BUY.SHIPMENT_GID)  <= to_date('31-JUL-2013', 'DD-MON-YYYY')
    SHIP_BUY.INSERT_DATE > to_date('01-JAN-2007','DD-MON-YYYY')
    (assuming insert_date is a proper date format, fingers crossed)

  • Help needed to tune the Query:Statistics added

    Can someone DBA please help me to tune this query:
    SELECT DISTINCT K.ATTRIBUTE_VALUE AGENCY_ID,B.PROFILE_NM ,NVL(G.OFFICE_DESC,'--') OFFICE_DESC,f.OFFICE_ID,B.PROFILE_ID,'%' ROLE,'%' LAYOUT,
    CASE
    WHEN 'flagB' = '%' THEN
    NVL(J.ISS_GRP_DESC,'BILLING')
    WHEN 'flagO' = '%' THEN
    NVL(J.ISS_GRP_DESC,'ORDERING')
    WHEN 'flag' = '%' THEN
    NVL(J.ISS_GRP_DESC,'BILLING/ORDERING')
    ELSE
    NVL(J.ISS_GRP_DESC,' ')
    END ISS_GRP_DESC,
    DECODE(NVL(H.USERID,' ') ,' ','--','<a sbcuid_in=' || H.USERID || ' target=NEW >'||H.FIRSTNAME || ' ' || H.LASTNAME || '( ' || H.USERID || ' )</a>' ) USER_NAME
    FROM
    PROFILE_PORTAL B ,
    TBL_BDA_AGENCY_RESP_REP C ,
    TBL_BDA_AGENCY_OFFICE F,
    TBL_BDA_OFFICE G,
    USERS_PORTAL H,
    TBL_BDA_USR_ISS_GRP I ,
    TBL_BDA_ISS_GROUP J,
    ATTRIBUTE_VALUES_PORTAL K,
    PROFILE_TYPE_PORTAL L
    WHERE
    B.PROFILE_ID = F.AGENCY_ID (+)
    AND B.PROFILE_ID = C.AGENCY_ID (+)
    AND G.OFFICE_ID (+)= F.OFFICE_ID
    AND H.USERID (+)= C.RESP_USR_ID
    AND C.ISS_GRP_ID = I.ISS_GRP_ID (+)
    AND I.ISS_GRP_ID = J.ISS_GRP_ID(+)
    AND 'PROFILE.'||B.PROFILE_ID = K.ENTITY_ID(+)
    AND K.ATTRIBUTE_VALUE IS NOT NULL
    AND L.PROFILE_TYPE_ID = B.PROFILE_TYPE_ID
    AND L.APPLICATION_CD='BDA'
    AND NOT EXISTS (SELECT agency_id
    FROM TBL_BDA_AGENCY_RESP_REP t
    WHERE t.ISS_GRP_ID IN ('%')
    AND t.AGENCY_ID = C.AGENCY_ID)
    AND K.ATTRIBUTE_VALUE LIKE '%'
    AND UPPER(B.PROFILE_NM) LIKE UPPER('%')
    AND (to_char(NVL(B.PROFILE_ID,0)) LIKE '%' OR NVL(B.PROFILE_ID,0) IN ('a'))
    AND NVL(G.OFFICE_ID,0) IN ('%')
    AND (to_char(NVL(C.RESP_USR_ID,'0')) LIKE '%' OR NVL(C.RESP_USR_ID,'0') IN ('k'))
    ORDER BY PROFILE_NM
    The number of rows in these tables are as follows:
    PROFILE_PORTAL -- 2392
    TBL_BDA_AGENCY_RESP_REP 3508
    TBL_BDA_AGENCY_OFFICE 2151
    TBL_BDA_OFFICE 3
    USERS_PORTAL 270500
    TBL_BDA_USR_ISS_GRP 234
    TBL_BDA_ISS_GROUP 2
    ATTRIBUTE_VALUES_PORTAL 2790
    PROFILE_TYPE_PORTAL 3
    The Explain pal nhas given this o/p to me:
    SQL> select * from table(dbms_xplan.display) dual;
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes |TempSpc| Cost |
    | 0 | SELECT STATEMENT | | 807 | 102K| | 2533 |
    | 1 | SORT UNIQUE | | 807 | 102K| 232K| 82 |
    |* 2 | FILTER | | | | | |
    |* 3 | HASH JOIN OUTER | | 807 | 102K| | 52 |
    |* 4 | HASH JOIN OUTER | | 807 | 95226 | | 40 |
    |* 5 | TABLE ACCESS BY INDEX ROWID | ATTRIBUTE_VALUES | 1 | 23 | | 2 |
    | 6 | NESTED LOOPS | | 7 | 805 | | 37 |
    | 7 | NESTED LOOPS OUTER | | 6 | 552 | | 25 |
    |* 8 | FILTER | | | | | |
    | 9 | NESTED LOOPS OUTER | | | | | |
    |* 10 | FILTER | | | | | |
    | 11 | NESTED LOOPS OUTER | | | | | |
    | 12 | NESTED LOOPS OUTER | | 3 | 141 | | 10 |
    |* 13 | HASH JOIN | | 3 | 120 | | 7 |
    |* 14 | TABLE ACCESS FULL | PROFILE | 6 | 198 | | 4 |
    |* 15 | TABLE ACCESS FULL | PROFILE_TYPE | 1 | 7 | | 2 |
    |* 16 | INDEX RANGE SCAN | SYS_C0019777 | 1 | 7 | | 1 |
    | 17 | TABLE ACCESS BY INDEX ROWID| TBL_BDA_OFFICE | 1 | 10 | | 1 |
    |* 18 | INDEX UNIQUE SCAN | SYS_C0019800 | 1 | | | |
    | 19 | TABLE ACCESS BY INDEX ROWID | TBL_BDA_AGENCY_RESP_REP | 2 | 26 | | 2 |
    |* 20 | INDEX RANGE SCAN | IDX_AGECYRESP_AGNCYID | 2 | | | 1 |
    | 21 | TABLE ACCESS BY INDEX ROWID | USER_ | 1 | 22 | | 1 |
    |* 22 | INDEX UNIQUE SCAN | USER_PK | 1 | | | |
    |* 23 | INDEX RANGE SCAN | IDX_ATTVAL_ENTATTID | 1 | | | 1 |
    | 24 | TABLE ACCESS FULL | TBL_BDA_USR_ISS_GRP | 234 | 702 | | 2 |
    | 25 | TABLE ACCESS FULL | TBL_BDA_ISS_GROUP | 2 | 24 | | 2 |
    |* 26 | TABLE ACCESS BY INDEX ROWID | TBL_BDA_AGENCY_RESP_REP | 1 | 7 | | 3 |
    |* 27 | INDEX RANGE SCAN | IDX_AGECYRESP_AGNCYID | 2 | | | 1 |
    Predicate Information (identified by operation id):
    2 - filter( NOT EXISTS (SELECT /*+ */ 0 FROM "TBL_BDA_AGENCY_RESP_REP" "T" WHERE "T"."AGENCY_ID"=:B1
    AND "T"."ISS_GRP_ID"=TO_NUMBER('%')))
    3 - access("I"."ISS_GRP_ID"="J"."ISS_GRP_ID"(+))
    4 - access("SYS_ALIAS_1"."ISS_GRP_ID"="I"."ISS_GRP_ID"(+))
    5 - filter("K"."ATTRIBUTE_VALUE" IS NOT NULL AND "K"."ATTRIBUTE_VALUE" LIKE '%')
    8 - filter(NVL("SYS_ALIAS_1"."RESP_USR_ID",'0') LIKE '%' OR NVL("SYS_ALIAS_1"."RESP_USR_ID",'0')='k')
    10 - filter(NVL("G"."OFFICE_ID",0)=TO_NUMBER('%'))
    13 - access("L"."PROFILE_TYPE_ID"="B"."PROFILE_TYPE_ID")
    14 - filter(UPPER("B"."PROFILE_NM") LIKE '%' AND (TO_CHAR(NVL("B"."PROFILE_ID",0)) LIKE '%' OR
    NVL("B"."PROFILE_ID",0)=TO_NUMBER('a')))
    15 - filter("L"."APPLICATION_CD"='BDA')
    16 - access("B"."PROFILE_ID"="F"."AGENCY_ID"(+))
    18 - access("G"."OFFICE_ID"(+)="F"."OFFICE_ID")
    20 - access("B"."PROFILE_ID"="SYS_ALIAS_1"."AGENCY_ID"(+))
    22 - access("H"."USERID"(+)="SYS_ALIAS_1"."RESP_USR_ID")
    23 - access("K"."ENTITY_ID"='PROFILE.'||TO_CHAR("B"."PROFILE_ID"))
    26 - filter("T"."ISS_GRP_ID"=TO_NUMBER('%'))
    27 - access("T"."AGENCY_ID"=:B1)
    Note: cpu costing is off
    57 rows selected.
    Elapsed: 00:00:01.08
    Please help me.
    Aashish S.

    Hello Eric,
    Here is the code:
    SELECT DISTINCT
    K.ATTRIBUTE_VALUE AGENCY_ID,
    B.PROFILE_NM ,
    NVL(G.OFFICE_DESC,'--') OFFICE_DESC,
    f.OFFICE_ID,
    B.PROFILE_ID,
    '%' ROLE,
    '%' LAYOUT,
    case
    WHEN 'flagB' = '%' THEN
    NVL(J.ISS_GRP_DESC,'BILLING')
    WHEN 'flagO' = '%' THEN
    NVL(J.ISS_GRP_DESC,'ORDERING')
    WHEN 'flag' = '%' THEN
    NVL(J.ISS_GRP_DESC,'BILLING/ORDERING')
    else
    NVL(J.ISS_GRP_DESC,' ')
    END ISS_GRP_DESC,
    DECODE(NVL(H.USERID,' ') ,' ','--','&lt;a sbcuid_in=' || H.USERID || ' target=NEW &gt;'||H.FIRSTNAME || ' ' || H.LASTNAME ||
    '( ' || H.USERID || ' )&lt;/a&gt;' ) USER_NAME
    from
    PROFILE_PORTAL B ,
    TBL_BDA_AGENCY_RESP_REP C ,
    TBL_BDA_AGENCY_OFFICE F,
    TBL_BDA_OFFICE G,
    USERS_PORTAL H,
    TBL_BDA_USR_ISS_GRP I ,
    TBL_BDA_ISS_GROUP J,
    ATTRIBUTE_VALUES_PORTAL K,
    PROFILE_TYPE_PORTAL L
    WHERE
    B.PROFILE_ID = F.AGENCY_ID (+)
    AND B.PROFILE_ID = C.AGENCY_ID (+)
    AND G.OFFICE_ID (+)= F.OFFICE_ID
    AND H.USERID (+)= C.RESP_USR_ID
    AND C.ISS_GRP_ID = I.ISS_GRP_ID (+)
    AND I.ISS_GRP_ID = J.ISS_GRP_ID(+)
    AND 'PROFILE.'||B.PROFILE_ID = K.ENTITY_ID(+)
    AND K.ATTRIBUTE_VALUE IS NOT NULL
    AND L.PROFILE_TYPE_ID = B.PROFILE_TYPE_ID
    AND L.APPLICATION_CD='BDA'
    AND NOT EXISTS
    (SELECT agency_id
    FROM TBL_BDA_AGENCY_RESP_REP t
    WHERE t.ISS_GRP_ID IN (1)
    AND t.AGENCY_ID = C.AGENCY_ID)
    AND K.ATTRIBUTE_VALUE LIKE '%'
    AND UPPER(B.PROFILE_NM) LIKE UPPER('%')
    AND (to_char(NVL(B.PROFILE_ID,0))
    LIKE '%'
    OR NVL(B.PROFILE_ID,0) IN (1))
    AND NVL(G.OFFICE_ID,0) IN (1)
    AND (to_char(NVL(C.RESP_USR_ID,'0'))
    LIKE '%'
    OR NVL(C.RESP_USR_ID,'0') IN ('%'))
    ORDER BY PROFILE_NM
    This is the Query and the query takes some mins. to run in prod environment.
    From the Query plan ,I am not able to get any idea for optimization.
    Now,Can you tell me which steps I need to follow to run it faster and which all modifications should be made?
    Thanks.
    Aashish S.

Maybe you are looking for

  • Mail notification sound plays after I have read a new message

    When a new message comes in, the mail sound does not play right away. Often I will see the email and read it. Then, some time after I've finished and the screen is locked again, the sound plays. This problem occured with iOS 4 and still happens in iO

  • Apple Personal LaserWriter LS test page

    Without using a Mac, how does one get an Apple Personal LaserWriter LS to print a test page? There's one on eBay I'd like the seller to test before I make a bid and I can't find anything on Apple's KB. TIA.

  • MacBook Pro with Draft n card - not showing n

    I just got a Dell 1500 draft n card for my CoreDuo MacBook Pro. I installed it and the n enabler utility, but it is still not showing up as n compatible in Network Utility. I have installed the AirPort Base Station Updater, repaired permissions, rebo

  • Can anyone tell me how to stop my screen flickering ?

    It goes light and dark, but never black. It just dims and bright. maybe 2-3 times every 10 seconds .

  • Conditional build tags with character styles and ignored text

    RoboHelp HTML v8.0.2.208 Windows XP Professional Version 2002 Service Pack 3 with 2 GB of RAM Output: WebHelp and HTML Help I have recently moved my projects from RH HTML X5 to RH HTML 8 and this is when the following problem appeared. I use lots of