Help on SQL tuning

SQL is behaving different for different inputs. Its taking 20mins to execute when oraganization_id=382 is passed adn with other organization_id's are passed it is taking less than 2 minutes. Execution plan is different in both the cases. I will provide bith sql and execution plans.
I tried rebuilding the indexes and gather stats for the tables but it did not help out.
Please help me in tuning the sql.
1) SQL
SELECT DISTINCT mp . organization_name , mp . organization_code , mp .
organization_name , wpsv . pick_slip_number , wpsv .
from
subinventory , csu . location shipto_location , wpsv . from_locator_id ,
wpsv . to_subinventory , wpsv . to_locator_id , mtrh . request_number
mo_number , wpsv . detailing_date , mtrl . line_id mo_line_id , wpsv .
transaction_id , wdd . move_order_line_id , to_char ( wdd .
source_header_id ) order_n_header_char , to_char ( wdd . source_line_id )
order_n_line_char , wdd . source_header_id , wdd . source_line_id , mtrl .
line_number mo_line_number , wtr . trip_id , wtr . name rip_name , wnd .
delivery_id , wnd . name delivery_name , wdd . shipping_instructions , wdd
. packing_instructions , r . customer_name , wdd . source_header_number ,
ol . line_number sales_line_number , ol . schedule_ship_date , sum ( NVL (
wdd . requested_quantity , 0 ) ) requested_quantity , sum ( NVL ( wdd .
requested_quantity2 , 0 ) ) requested_quantity2 , sum ( NVL ( wdd .
shipped_quantity , 0 ) ) shipped_quantity , sum ( NVL ( wdd .
shipped_quantity2 , 0 ) ) shipped_quantity2 , wdd . ship_tolerance_above ,
wdd . ship_tolerance_below , msi.description item_info , msi . segment1 ,
msi . description item_description , wdd . inventory_item_id , os .
set_name , wdd . requested_quantity_uom , wdd . requested_quantity_uom2 ,
wpsv . transaction_id , wpsv . line_status , wdd . revision , wpsv .
primary_qty , wpsv . trans_um1 , wpsv . secondary_qty , wpsv . trans_um2 ,
wpsv . qc_grade , wpsv . lot_id , wpsv . lot_no lot_number , iim .
attribute19 min_max_stor_temp , wpsv . location , SUBSTR ( wpsv . location ,
1 , 3 ) lot_location_group FROM IC_ITEM_MST_B iim , WSH_TRIPS wtr ,
WSH_TRIP_STOPS wts , WSH_DELIVERY_LEGS wlg , WSH_NEW_DELIVERIES wnd ,
WSH_DELIVERY_ASSIGNMENTS wda , WSH_DELIVERY_DETAILS wdd ,
GMI_WSH_PICK_SLIP_V wpsv , OE_ORDER_LINES_ALL ol , OE_SETS os ,
RA_CUSTOMERS r , IC_TXN_REQUEST_HEADERS mtrh , IC_TXN_REQUEST_LINES mtrl ,
MTL_SYSTEM_ITEMS msi , HZ_CUST_SITE_USES_ALL csu , OE_ORDER_HEADERS_ALL ooh
, ( SELECT mp . organization_id , mp . organization_code , hou . name
organization_name FROM HR_ORGANIZATION_UNITS hou , MTL_PARAMETERS mp where
mp . organization_id = hou . organization_id ) mp WHERE wtr.trip_id (+) =
wts.trip_id AND wts.stop_id (+) = wlg.pick_up_stop_id AND wlg.delivery_id
(+) = wnd.delivery_id AND wnd.delivery_id (+) = wda.delivery_id AND
wdd.source_header_id = ooh.header_id AND csu.site_use_id =
ooh.ship_to_org_id AND os.set_id (+) = wdd.ship_set_id AND
wda.delivery_detail_id = wdd.delivery_detail_id AND ol.line_id =
wdd.source_line_id AND wpsv.transaction_id = ol.line_id AND
wpsv.transaction_id = wdd.source_line_id AND r.customer_id =
wdd.customer_id AND mtrl.header_id = mtrh.header_id AND mtrl.line_id =
wdd.move_order_line_id AND mtrl.inventory_item_id = wpsv.inventory_item_id
AND mtrl.line_id = wpsv.move_order_line_id AND msi.inventory_item_id =
wdd.inventory_item_id AND msi.organization_id = mtrl.organization_id AND
iim.item_no = msi.segment1 AND mtrl.organization_id = : p_organization_id
AND mtrl.organization_id = mp.organization_id and mtrh.request_number
between : p_move_order_low and : p_move_order_high and wpsv.line_status =
'UNPICKED' GROUP BY mp.organization_name , mp.organization_code ,
csu.location , wpsv.pick_slip_number , wpsv.from_subinventory ,
wpsv.from_locator_id , wpsv.to_subinventory , wpsv.to_locator_id ,
mtrh.request_number , wpsv.detailing_date , mtrl.line_id ,
wpsv.transaction_id , wdd.move_order_line_id , to_char (
wdd.source_header_id ) , to_char ( wdd.source_line_id ) ,
wdd.source_header_id , wdd.source_line_id , mtrl.line_number , wtr.trip_id ,
wtr.name , wnd.delivery_id , wnd.name , wdd.shipping_instructions ,
wdd.packing_instructions , r.customer_name , wdd.source_header_number ,
ol.line_number , ol.schedule_ship_date , wdd.ship_tolerance_above ,
wdd.ship_tolerance_below , msi.description , msi.segment1 , msi.description
, wdd.inventory_item_id , os.set_name , wdd.requested_quantity_uom ,
wdd.requested_quantity_uom2 , wpsv.transaction_id , wpsv.line_status ,
wdd.revision , wpsv.primary_qty , wpsv.trans_um1 , wpsv.secondary_qty ,
wpsv.trans_um2 , wpsv.qc_grade , wpsv.lot_id , wpsv.lot_no ,
iim.attribute19 , wpsv.location , SUBSTR ( wpsv.location , 1 , 3 ) ORDER BY
1 ASC,2 ASC,10 ASC,6 ASC,4 ASC,17 ASC,5 ASC,7 ASC,8 ASC,9 ASC,13 ASC,12 ASC,
55 ASC,43 ASC,14 ASC,19 ASC,18 ASC,39 ASC,53 ASC,29 ASC,36 ASC,37 ASC,38
ASC,30 ASC,41 ASC,31 ASC,42 ASC,40 ASC,33 ASC,34 ASC,35 ASC,27 ASC,28 ASC,
20 ASC,21 ASC,22 ASC,23 ASC,26 ASC,24 ASC,25 ASC , mp.organization_code ,
mo_number , pick_slip_number , mo_line_number , item_info
2) Explain plan when the query is taking less than a minute
Rows Row Source Operation
1 SORT UNIQUE (cr=1299 r=87 w=0 time=50693 us)
1 SORT GROUP BY (cr=1299 r=87 w=0 time=50475 us)
1 FILTER (cr=1299 r=87 w=0 time=50009 us)
1 NESTED LOOPS (cr=1299 r=87 w=0 time=50002 us)
1 NESTED LOOPS (cr=1296 r=87 w=0 time=49937 us)
1 NESTED LOOPS (cr=1293 r=87 w=0 time=49873 us)
1 NESTED LOOPS (cr=1290 r=87 w=0 time=49799 us)
1 NESTED LOOPS (cr=1287 r=87 w=0 time=49740 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49676 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49654 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49633 us)
1 NESTED LOOPS OUTER (cr=1282 r=87 w=0 time=49566 us)
1 NESTED LOOPS (cr=1279 r=87 w=0 time=49490 us)
1 NESTED LOOPS (cr=1276 r=87 w=0 time=49381 us)
1 NESTED LOOPS (cr=1273 r=87 w=0 time=49287 us)
1 NESTED LOOPS OUTER (cr=1270 r=87 w=0 time=49209 us)
1 NESTED LOOPS (cr=1270 r=87 w=0 time=49182 us)
1 NESTED LOOPS (cr=1267 r=87 w=0 time=49043 us)
1 NESTED LOOPS (cr=19 r=0 w=0 time=4308 us)
1 NESTED LOOPS (cr=16 r=0 w=0 time=4207 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=4076 us)
1 NESTED LOOPS (cr=5 r=0 w=0 time=781 us)
1 TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 r=0 w=0 time=111 us)
1 INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 r=0 w=0 time=60 us)(object id 37657)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS_TL (cr=3 r=0 w=0 time=636 us)
1 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 r=0 w=0 time=605 us)(object id 44637)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=8 r=0 w=0 time=3278 us)
1 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=1 r=0 w=0 time=31 us)(object id 43498)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_HEADERS (cr=3 r=0 w=0 time=104 us)
1 INDEX RANGE SCAN IC_TXN_REQUEST_HEADERS_U1 (cr=2 r=0 w=0 time=67 us)(object id 637615)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3 r=0 w=0 time=84 us)
1 INDEX RANGE SCAN IC_TXN_REQUEST_LINES_U1 (cr=2 r=0 w=0 time=53 us)(object id 637626)
1 VIEW (cr=1248 r=87 w=0 time=44702 us)
1 UNION-ALL PARTITION (cr=1248 r=87 w=0 time=44669 us)
1 NESTED LOOPS (cr=1248 r=87 w=0 time=44561 us)
1 NESTED LOOPS (cr=1244 r=87 w=0 time=44429 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=322 us)
1 NESTED LOOPS (cr=11 r=0 w=0 time=281 us)
1 NESTED LOOPS (cr=9 r=0 w=0 time=228 us)
1 NESTED LOOPS (cr=6 r=0 w=0 time=156 us)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3 r=0 w=0 time=64 us)
1 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=2 r=0 w=0 time=38 us)(object id 637620)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=74 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=41 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=60 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=38 us)(object id 637202)
1 INDEX UNIQUE SCAN IC_ITEM_MST_TL_PK (cr=2 r=0 w=0 time=33 us)(object id 637049)
1 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=2 r=0 w=0 time=33 us)(object id 637610)
1 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=1231 r=87 w=0 time=44078 us)
1907 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=10 r=0 w=0 time=3000 us)(object id 222381)
1 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=4 r=0 w=0 time=90 us)
1 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=3 r=0 w=0 time=60 us)(object id 637681)
0 FILTER (cr=0 r=0 w=0 time=2 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=0 r=0 w=0 time=0 us)(object id 637620)
0 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=0 r=0 w=0 time=0 us)(object id 38017)
0 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=0 r=0 w=0 time=0 us)(object id 637202)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=0 r=0 w=0 time=0 us)(object id 637610)
0 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=0 r=0 w=0 time=0 us)
0 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=0 r=0 w=0 time=0 us)(object id 222381)
0 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=0 r=0 w=0 time=0 us)(object id 637681)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_DETAILS (cr=3 r=0 w=0 time=106 us)
1 INDEX RANGE SCAN WSH_DELIVERY_DETAILS_N3 (cr=2 r=0 w=0 time=65 us)(object id 46264)
0 TABLE ACCESS BY INDEX ROWID OE_SETS (cr=0 r=0 w=0 time=3 us)
0 INDEX UNIQUE SCAN OE_SETS_U1 (cr=0 r=0 w=0 time=1 us)(object id 43138)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_LINES_ALL (cr=3 r=0 w=0 time=58 us)
1 INDEX UNIQUE SCAN OE_ORDER_LINES_U1 (cr=2 r=0 w=0 time=35 us)(object id 42102)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=67 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=41 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_ASSIGNMENTS (cr=3 r=0 w=0 time=87 us)
1 INDEX RANGE SCAN WSH_DELIVERY_ASSIGNMENTS_N3 (cr=2 r=0 w=0 time=65 us)(object id 46295)
1 TABLE ACCESS BY INDEX ROWID WSH_NEW_DELIVERIES (cr=3 r=0 w=0 time=49____
1 INDEX UNIQUE SCAN WSH_NEW_DELIVERIES_U1 (cr=2 r=0 w=0 time=28 us)(object id 46306)
0 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_LEGS (cr=2 r=0 w=0 time=37 us)
0 INDEX RANGE SCAN WSH_DELIVERY_LEGS_N1 (cr=2 r=0 w=0 time=35 us)(object id 46235)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIP_STOPS (cr=0 r=0 w=0 time=3 us)
0 INDEX UNIQUE SCAN WSH_TRIP_STOPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46088)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIPS (cr=0 r=0 w=0 time=2 us)
0 INDEX UNIQUE SCAN WSH_TRIPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46057)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_HEADERS_ALL (cr=3 r=0 w=0 time=47 us)
1 INDEX UNIQUE SCAN OE_ORDER_HEADERS_U1 (cr=2 r=0 w=0 time=27 us)(object id 41952)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_SITE_USES_ALL (cr=3 r=0 w=0 time=44 us)
1 INDEX UNIQUE SCAN HZ_CUST_SITE_USES_U1 (cr=2 r=0 w=0 time=29 us)(object id 236588)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCOUNTS (cr=3 r=0 w=0 time=52 us)
1 INDEX UNIQUE SCAN HZ_CUST_ACCOUNTS_U1 (cr=2 r=0 w=0 time=34 us)(object id 81600)
1 TABLE ACCESS BY INDEX ROWID HZ_PARTIES (cr=3 r=0 w=0 time=46 us)
1 INDEX UNIQUE SCAN HZ_PARTIES_U1 (cr=2 r=0 w=0 time=28 us)(object id 237346)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=41 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=24 us)(object id 637202)
3) Explain plan when the query is taking 22mins (for org_id=382)
Rows Row Source Operation
1 SORT UNIQUE (cr=72660499 r=624 w=0 time=1327230739 us)
1 SORT GROUP BY (cr=72660499 r=624 w=0 time=1327230336 us)
1 FILTER (cr=72660499 r=624 w=0 time=1327229578 us)
1 NESTED LOOPS (cr=72660499 r=624 w=0 time=1327229570 us)
1 NESTED LOOPS (cr=72660496 r=623 w=0 time=1327217298 us)
1 NESTED LOOPS (cr=72660493 r=623 w=0 time=1327217219 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217140 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217118 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217092 us)
1 NESTED LOOPS OUTER (cr=72660488 r=623 w=0 time=1327217006 us)
1 NESTED LOOPS (cr=72660485 r=622 w=0 time=1327207555 us)
1 NESTED LOOPS (cr=72660480 r=621 w=0 time=1327207177 us)
1 NESTED LOOPS (cr=72660477 r=621 w=0 time=1327207115 us)
1 NESTED LOOPS (cr=72660474 r=621 w=0 time=1327207034 us)
1 NESTED LOOPS (cr=72660471 r=621 w=0 time=1327206951 us)
7 NESTED LOOPS (cr=72660455 r=619 w=0 time=1327206132 us)
7 NESTED LOOPS OUTER (cr=72660439 r=613 w=0 time=1327203302 us)
7 NESTED LOOPS (cr=72660439 r=613 w=0 time=1327203073 us)
14 NESTED LOOPS (cr=72660407 r=610 w=0 time=1327200108 us)
90549 NESTED LOOPS (cr=3359 r=455 w=0 time=1818230 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=4463 us)
1 NESTED LOOPS (cr=5 r=0 w=0 time=962 us)
1 TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 r=0 w=0 time=107 us)
1 INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 r=0 w=0 time=55 us)(object id 37657)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS_TL (cr=3 r=0 w=0 time=820 us)
1 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 r=0 w=0 time=786 us)(object id 44637)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=8 r=0 w=0 time=3479 us)
1 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=1 r=0 w=0 time=23 us)(object id 43498)
90549 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3346 r=455 w=0 time=1704106 us)
90549 INDEX RANGE SCAN IC_TXN_REQUEST_LINES_N1 (cr=210 r=41 w=0 time=694480 us)(object id 133389)
14 VIEW (cr=72657048 r=155 w=0 time=1324006502 us)
14 UNION-ALL PARTITION (cr=72657048 r=155 w=0 time=1322889352 us)
14 NESTED LOOPS (cr=72657048 r=155 w=0 time=1318179989 us)
14 NESTED LOOPS (cr=72656992 r=151 w=0 time=1318005647 us)
90549 NESTED LOOPS (cr=1177138 r=52 w=0 time=20959096 us)
90549 NESTED LOOPS (cr=996040 r=51 w=0 time=18410001 us)
90549 NESTED LOOPS (cr=814942 r=51 w=0 time=15523206 us)
90549 NESTED LOOPS (cr=543294 r=50 w=0 time=10944790 us)
90549 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=271647 r=1 w=0 time=5063466 us)
90549 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=181098 r=1 w=0 time=2863447 us)(object id 637620)
90549 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=271647 r=49 w=0 time=4794430 us)
90549 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=181098 r=1 w=0 time=2553802 us)(object id 38017)
90549 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=271648 r=1 w=0 time=3786267 us)
90549 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=181098 r=0 w=0 time=2164425 us)(object id 637202)
90549 INDEX UNIQUE SCAN IC_ITEM_MST_TL_PK (cr=181098 r=0 w=0 time=2260794 us)(object id 637049)
90549 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=181098 r=1 w=0 time=1902881 us)(object id 637610)
14 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=71479854 r=99 w=0 time=1295671259 us)
101213210 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=676173 r=21 w=0 time=136382307 us)(object id 222381)
14 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=56 r=4 w=0 time=2052 us)
14 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=42 r=2 w=0 time=1265 us)(object id 637681)
0 FILTER (cr=0 r=0 w=0 time=59787 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=0 r=0 w=0 time=0 us)(object id 637620)
0 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=0 r=0 w=0 time=0 us)(object id 38017)
0 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=0 r=0 w=0 time=0 us)(object id 637202)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=0 r=0 w=0 time=0 us)(object id 637610)
0 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=0 r=0 w=0 time=0 us)
0 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=0 r=0 w=0 time=0 us)(object id 222381)
0 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=0 r=0 w=0 time=0 us)(object id 637681)
7 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_DETAILS (cr=32 r=3 w=0 time=2586 us)
14 INDEX RANGE SCAN WSH_DELIVERY_DETAILS_N3 (cr=16 r=1 w=0 time=1221 us)(object id 46264)
0 TABLE ACCESS BY INDEX ROWID OE_SETS (cr=0 r=0 w=0 time=32 us)
0 INDEX UNIQUE SCAN OE_SETS_U1 (cr=0 r=0 w=0 time=6 us)(object id 43138)
7 TABLE ACCESS BY INDEX ROWID OE_ORDER_LINES_ALL (cr=16 r=6 w=0 time=2715 us)
7 INDEX UNIQUE SCAN OE_ORDER_LINES_U1 (cr=9 r=2 w=0 time=1399 us)(object id 42102)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_HEADERS (cr=16 r=2 w=0 time=679 us)
7 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=9 r=0 w=0 time=124 us)(object id 637610)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=50 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=23 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_HEADERS_ALL (cr=3 r=0 w=0 time=58 us)
1 INDEX UNIQUE SCAN OE_ORDER_HEADERS_U1 (cr=2 r=0 w=0 time=36 us)(object id 41952)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=33 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=14 us)(object id 637202)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_ASSIGNMENTS (cr=5 r=1 w=0 time=358 us)
1 INDEX RANGE SCAN WSH_DELIVERY_ASSIGNMENTS_N3 (cr=2 r=0 w=0 time=68 us)(object id 46295)
1 TABLE ACCESS BY INDEX ROWID WSH_NEW_DELIVERIES (cr=3 r=1 w=0 time=9428 us)
1 INDEX UNIQUE SCAN WSH_NEW_DELIVERIES_U1 (cr=2 r=1 w=0 time=9405 us)(object id 46306)
0 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_LEGS (cr=2 r=0 w=0 time=58 us)
0 INDEX RANGE SCAN WSH_DELIVERY_LEGS_N1 (cr=2 r=0 w=0 time=55 us)(object id 46235)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIP_STOPS (cr=0 r=0 w=0 time=2 us)
0 INDEX UNIQUE SCAN WSH_TRIP_STOPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46088)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIPS (cr=0 r=0 w=0 time=1 us)
0 INDEX UNIQUE SCAN WSH_TRIPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46057)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCOUNTS (cr=3 r=0 w=0 time=55 us)
1 INDEX UNIQUE SCAN HZ_CUST_ACCOUNTS_U1 (cr=2 r=0 w=0 time=34 us)(object id 81600)
1 TABLE ACCESS BY INDEX ROWID HZ_PARTIES (cr=3 r=0 w=0 time=48 us)
1 INDEX UNIQUE SCAN HZ_PARTIES_U1 (cr=2 r=0 w=0 time=26 us)(object id 237346)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_SITE_USES_ALL (cr=3 r=1 w=0 time=12241 us)
1 INDEX UNIQUE SCAN HZ_CUST_SITE_USES_U1 (cr=2 r=1 w=0 time=12187 us)(object id 236588)

SQL is behaving different for different inputs. Its taking 20mins to execute when oraganization_id=382 is passed adn with other organization_id's are passed it is taking less than 2 minutes. Execution plan is different in both the cases. I will provide bith sql and execution plans.
I tried rebuilding the indexes and gather stats for the tables but it did not help out.
Please help me in tuning the sql.
1) SQL
SELECT DISTINCT mp . organization_name , mp . organization_code , mp .
organization_name , wpsv . pick_slip_number , wpsv .
from
subinventory , csu . location shipto_location , wpsv . from_locator_id ,
wpsv . to_subinventory , wpsv . to_locator_id , mtrh . request_number
mo_number , wpsv . detailing_date , mtrl . line_id mo_line_id , wpsv .
transaction_id , wdd . move_order_line_id , to_char ( wdd .
source_header_id ) order_n_header_char , to_char ( wdd . source_line_id )
order_n_line_char , wdd . source_header_id , wdd . source_line_id , mtrl .
line_number mo_line_number , wtr . trip_id , wtr . name rip_name , wnd .
delivery_id , wnd . name delivery_name , wdd . shipping_instructions , wdd
. packing_instructions , r . customer_name , wdd . source_header_number ,
ol . line_number sales_line_number , ol . schedule_ship_date , sum ( NVL (
wdd . requested_quantity , 0 ) ) requested_quantity , sum ( NVL ( wdd .
requested_quantity2 , 0 ) ) requested_quantity2 , sum ( NVL ( wdd .
shipped_quantity , 0 ) ) shipped_quantity , sum ( NVL ( wdd .
shipped_quantity2 , 0 ) ) shipped_quantity2 , wdd . ship_tolerance_above ,
wdd . ship_tolerance_below , msi.description item_info , msi . segment1 ,
msi . description item_description , wdd . inventory_item_id , os .
set_name , wdd . requested_quantity_uom , wdd . requested_quantity_uom2 ,
wpsv . transaction_id , wpsv . line_status , wdd . revision , wpsv .
primary_qty , wpsv . trans_um1 , wpsv . secondary_qty , wpsv . trans_um2 ,
wpsv . qc_grade , wpsv . lot_id , wpsv . lot_no lot_number , iim .
attribute19 min_max_stor_temp , wpsv . location , SUBSTR ( wpsv . location ,
1 , 3 ) lot_location_group FROM IC_ITEM_MST_B iim , WSH_TRIPS wtr ,
WSH_TRIP_STOPS wts , WSH_DELIVERY_LEGS wlg , WSH_NEW_DELIVERIES wnd ,
WSH_DELIVERY_ASSIGNMENTS wda , WSH_DELIVERY_DETAILS wdd ,
GMI_WSH_PICK_SLIP_V wpsv , OE_ORDER_LINES_ALL ol , OE_SETS os ,
RA_CUSTOMERS r , IC_TXN_REQUEST_HEADERS mtrh , IC_TXN_REQUEST_LINES mtrl ,
MTL_SYSTEM_ITEMS msi , HZ_CUST_SITE_USES_ALL csu , OE_ORDER_HEADERS_ALL ooh
, ( SELECT mp . organization_id , mp . organization_code , hou . name
organization_name FROM HR_ORGANIZATION_UNITS hou , MTL_PARAMETERS mp where
mp . organization_id = hou . organization_id ) mp WHERE wtr.trip_id (+) =
wts.trip_id AND wts.stop_id (+) = wlg.pick_up_stop_id AND wlg.delivery_id
(+) = wnd.delivery_id AND wnd.delivery_id (+) = wda.delivery_id AND
wdd.source_header_id = ooh.header_id AND csu.site_use_id =
ooh.ship_to_org_id AND os.set_id (+) = wdd.ship_set_id AND
wda.delivery_detail_id = wdd.delivery_detail_id AND ol.line_id =
wdd.source_line_id AND wpsv.transaction_id = ol.line_id AND
wpsv.transaction_id = wdd.source_line_id AND r.customer_id =
wdd.customer_id AND mtrl.header_id = mtrh.header_id AND mtrl.line_id =
wdd.move_order_line_id AND mtrl.inventory_item_id = wpsv.inventory_item_id
AND mtrl.line_id = wpsv.move_order_line_id AND msi.inventory_item_id =
wdd.inventory_item_id AND msi.organization_id = mtrl.organization_id AND
iim.item_no = msi.segment1 AND mtrl.organization_id = : p_organization_id
AND mtrl.organization_id = mp.organization_id and mtrh.request_number
between : p_move_order_low and : p_move_order_high and wpsv.line_status =
'UNPICKED' GROUP BY mp.organization_name , mp.organization_code ,
csu.location , wpsv.pick_slip_number , wpsv.from_subinventory ,
wpsv.from_locator_id , wpsv.to_subinventory , wpsv.to_locator_id ,
mtrh.request_number , wpsv.detailing_date , mtrl.line_id ,
wpsv.transaction_id , wdd.move_order_line_id , to_char (
wdd.source_header_id ) , to_char ( wdd.source_line_id ) ,
wdd.source_header_id , wdd.source_line_id , mtrl.line_number , wtr.trip_id ,
wtr.name , wnd.delivery_id , wnd.name , wdd.shipping_instructions ,
wdd.packing_instructions , r.customer_name , wdd.source_header_number ,
ol.line_number , ol.schedule_ship_date , wdd.ship_tolerance_above ,
wdd.ship_tolerance_below , msi.description , msi.segment1 , msi.description
, wdd.inventory_item_id , os.set_name , wdd.requested_quantity_uom ,
wdd.requested_quantity_uom2 , wpsv.transaction_id , wpsv.line_status ,
wdd.revision , wpsv.primary_qty , wpsv.trans_um1 , wpsv.secondary_qty ,
wpsv.trans_um2 , wpsv.qc_grade , wpsv.lot_id , wpsv.lot_no ,
iim.attribute19 , wpsv.location , SUBSTR ( wpsv.location , 1 , 3 ) ORDER BY
1 ASC,2 ASC,10 ASC,6 ASC,4 ASC,17 ASC,5 ASC,7 ASC,8 ASC,9 ASC,13 ASC,12 ASC,
55 ASC,43 ASC,14 ASC,19 ASC,18 ASC,39 ASC,53 ASC,29 ASC,36 ASC,37 ASC,38
ASC,30 ASC,41 ASC,31 ASC,42 ASC,40 ASC,33 ASC,34 ASC,35 ASC,27 ASC,28 ASC,
20 ASC,21 ASC,22 ASC,23 ASC,26 ASC,24 ASC,25 ASC , mp.organization_code ,
mo_number , pick_slip_number , mo_line_number , item_info
2) Explain plan when the query is taking less than a minute
Rows Row Source Operation
1 SORT UNIQUE (cr=1299 r=87 w=0 time=50693 us)
1 SORT GROUP BY (cr=1299 r=87 w=0 time=50475 us)
1 FILTER (cr=1299 r=87 w=0 time=50009 us)
1 NESTED LOOPS (cr=1299 r=87 w=0 time=50002 us)
1 NESTED LOOPS (cr=1296 r=87 w=0 time=49937 us)
1 NESTED LOOPS (cr=1293 r=87 w=0 time=49873 us)
1 NESTED LOOPS (cr=1290 r=87 w=0 time=49799 us)
1 NESTED LOOPS (cr=1287 r=87 w=0 time=49740 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49676 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49654 us)
1 NESTED LOOPS OUTER (cr=1284 r=87 w=0 time=49633 us)
1 NESTED LOOPS OUTER (cr=1282 r=87 w=0 time=49566 us)
1 NESTED LOOPS (cr=1279 r=87 w=0 time=49490 us)
1 NESTED LOOPS (cr=1276 r=87 w=0 time=49381 us)
1 NESTED LOOPS (cr=1273 r=87 w=0 time=49287 us)
1 NESTED LOOPS OUTER (cr=1270 r=87 w=0 time=49209 us)
1 NESTED LOOPS (cr=1270 r=87 w=0 time=49182 us)
1 NESTED LOOPS (cr=1267 r=87 w=0 time=49043 us)
1 NESTED LOOPS (cr=19 r=0 w=0 time=4308 us)
1 NESTED LOOPS (cr=16 r=0 w=0 time=4207 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=4076 us)
1 NESTED LOOPS (cr=5 r=0 w=0 time=781 us)
1 TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 r=0 w=0 time=111 us)
1 INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 r=0 w=0 time=60 us)(object id 37657)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS_TL (cr=3 r=0 w=0 time=636 us)
1 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 r=0 w=0 time=605 us)(object id 44637)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=8 r=0 w=0 time=3278 us)
1 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=1 r=0 w=0 time=31 us)(object id 43498)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_HEADERS (cr=3 r=0 w=0 time=104 us)
1 INDEX RANGE SCAN IC_TXN_REQUEST_HEADERS_U1 (cr=2 r=0 w=0 time=67 us)(object id 637615)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3 r=0 w=0 time=84 us)
1 INDEX RANGE SCAN IC_TXN_REQUEST_LINES_U1 (cr=2 r=0 w=0 time=53 us)(object id 637626)
1 VIEW (cr=1248 r=87 w=0 time=44702 us)
1 UNION-ALL PARTITION (cr=1248 r=87 w=0 time=44669 us)
1 NESTED LOOPS (cr=1248 r=87 w=0 time=44561 us)
1 NESTED LOOPS (cr=1244 r=87 w=0 time=44429 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=322 us)
1 NESTED LOOPS (cr=11 r=0 w=0 time=281 us)
1 NESTED LOOPS (cr=9 r=0 w=0 time=228 us)
1 NESTED LOOPS (cr=6 r=0 w=0 time=156 us)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3 r=0 w=0 time=64 us)
1 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=2 r=0 w=0 time=38 us)(object id 637620)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=74 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=41 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=60 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=38 us)(object id 637202)
1 INDEX UNIQUE SCAN IC_ITEM_MST_TL_PK (cr=2 r=0 w=0 time=33 us)(object id 637049)
1 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=2 r=0 w=0 time=33 us)(object id 637610)
1 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=1231 r=87 w=0 time=44078 us)
1907 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=10 r=0 w=0 time=3000 us)(object id 222381)
1 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=4 r=0 w=0 time=90 us)
1 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=3 r=0 w=0 time=60 us)(object id 637681)
0 FILTER (cr=0 r=0 w=0 time=2 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=0 r=0 w=0 time=0 us)(object id 637620)
0 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=0 r=0 w=0 time=0 us)(object id 38017)
0 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=0 r=0 w=0 time=0 us)(object id 637202)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=0 r=0 w=0 time=0 us)(object id 637610)
0 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=0 r=0 w=0 time=0 us)
0 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=0 r=0 w=0 time=0 us)(object id 222381)
0 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=0 r=0 w=0 time=0 us)(object id 637681)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_DETAILS (cr=3 r=0 w=0 time=106 us)
1 INDEX RANGE SCAN WSH_DELIVERY_DETAILS_N3 (cr=2 r=0 w=0 time=65 us)(object id 46264)
0 TABLE ACCESS BY INDEX ROWID OE_SETS (cr=0 r=0 w=0 time=3 us)
0 INDEX UNIQUE SCAN OE_SETS_U1 (cr=0 r=0 w=0 time=1 us)(object id 43138)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_LINES_ALL (cr=3 r=0 w=0 time=58 us)
1 INDEX UNIQUE SCAN OE_ORDER_LINES_U1 (cr=2 r=0 w=0 time=35 us)(object id 42102)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=67 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=41 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_ASSIGNMENTS (cr=3 r=0 w=0 time=87 us)
1 INDEX RANGE SCAN WSH_DELIVERY_ASSIGNMENTS_N3 (cr=2 r=0 w=0 time=65 us)(object id 46295)
1 TABLE ACCESS BY INDEX ROWID WSH_NEW_DELIVERIES (cr=3 r=0 w=0 time=49____
1 INDEX UNIQUE SCAN WSH_NEW_DELIVERIES_U1 (cr=2 r=0 w=0 time=28 us)(object id 46306)
0 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_LEGS (cr=2 r=0 w=0 time=37 us)
0 INDEX RANGE SCAN WSH_DELIVERY_LEGS_N1 (cr=2 r=0 w=0 time=35 us)(object id 46235)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIP_STOPS (cr=0 r=0 w=0 time=3 us)
0 INDEX UNIQUE SCAN WSH_TRIP_STOPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46088)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIPS (cr=0 r=0 w=0 time=2 us)
0 INDEX UNIQUE SCAN WSH_TRIPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46057)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_HEADERS_ALL (cr=3 r=0 w=0 time=47 us)
1 INDEX UNIQUE SCAN OE_ORDER_HEADERS_U1 (cr=2 r=0 w=0 time=27 us)(object id 41952)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_SITE_USES_ALL (cr=3 r=0 w=0 time=44 us)
1 INDEX UNIQUE SCAN HZ_CUST_SITE_USES_U1 (cr=2 r=0 w=0 time=29 us)(object id 236588)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCOUNTS (cr=3 r=0 w=0 time=52 us)
1 INDEX UNIQUE SCAN HZ_CUST_ACCOUNTS_U1 (cr=2 r=0 w=0 time=34 us)(object id 81600)
1 TABLE ACCESS BY INDEX ROWID HZ_PARTIES (cr=3 r=0 w=0 time=46 us)
1 INDEX UNIQUE SCAN HZ_PARTIES_U1 (cr=2 r=0 w=0 time=28 us)(object id 237346)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=41 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=24 us)(object id 637202)
3) Explain plan when the query is taking 22mins (for org_id=382)
Rows Row Source Operation
1 SORT UNIQUE (cr=72660499 r=624 w=0 time=1327230739 us)
1 SORT GROUP BY (cr=72660499 r=624 w=0 time=1327230336 us)
1 FILTER (cr=72660499 r=624 w=0 time=1327229578 us)
1 NESTED LOOPS (cr=72660499 r=624 w=0 time=1327229570 us)
1 NESTED LOOPS (cr=72660496 r=623 w=0 time=1327217298 us)
1 NESTED LOOPS (cr=72660493 r=623 w=0 time=1327217219 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217140 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217118 us)
1 NESTED LOOPS OUTER (cr=72660490 r=623 w=0 time=1327217092 us)
1 NESTED LOOPS OUTER (cr=72660488 r=623 w=0 time=1327217006 us)
1 NESTED LOOPS (cr=72660485 r=622 w=0 time=1327207555 us)
1 NESTED LOOPS (cr=72660480 r=621 w=0 time=1327207177 us)
1 NESTED LOOPS (cr=72660477 r=621 w=0 time=1327207115 us)
1 NESTED LOOPS (cr=72660474 r=621 w=0 time=1327207034 us)
1 NESTED LOOPS (cr=72660471 r=621 w=0 time=1327206951 us)
7 NESTED LOOPS (cr=72660455 r=619 w=0 time=1327206132 us)
7 NESTED LOOPS OUTER (cr=72660439 r=613 w=0 time=1327203302 us)
7 NESTED LOOPS (cr=72660439 r=613 w=0 time=1327203073 us)
14 NESTED LOOPS (cr=72660407 r=610 w=0 time=1327200108 us)
90549 NESTED LOOPS (cr=3359 r=455 w=0 time=1818230 us)
1 NESTED LOOPS (cr=13 r=0 w=0 time=4463 us)
1 NESTED LOOPS (cr=5 r=0 w=0 time=962 us)
1 TABLE ACCESS BY INDEX ROWID MTL_PARAMETERS (cr=2 r=0 w=0 time=107 us)
1 INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=1 r=0 w=0 time=55 us)(object id 37657)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS_TL (cr=3 r=0 w=0 time=820 us)
1 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 r=0 w=0 time=786 us)(object id 44637)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=8 r=0 w=0 time=3479 us)
1 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=1 r=0 w=0 time=23 us)(object id 43498)
90549 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=3346 r=455 w=0 time=1704106 us)
90549 INDEX RANGE SCAN IC_TXN_REQUEST_LINES_N1 (cr=210 r=41 w=0 time=694480 us)(object id 133389)
14 VIEW (cr=72657048 r=155 w=0 time=1324006502 us)
14 UNION-ALL PARTITION (cr=72657048 r=155 w=0 time=1322889352 us)
14 NESTED LOOPS (cr=72657048 r=155 w=0 time=1318179989 us)
14 NESTED LOOPS (cr=72656992 r=151 w=0 time=1318005647 us)
90549 NESTED LOOPS (cr=1177138 r=52 w=0 time=20959096 us)
90549 NESTED LOOPS (cr=996040 r=51 w=0 time=18410001 us)
90549 NESTED LOOPS (cr=814942 r=51 w=0 time=15523206 us)
90549 NESTED LOOPS (cr=543294 r=50 w=0 time=10944790 us)
90549 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=271647 r=1 w=0 time=5063466 us)
90549 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=181098 r=1 w=0 time=2863447 us)(object id 637620)
90549 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=271647 r=49 w=0 time=4794430 us)
90549 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=181098 r=1 w=0 time=2553802 us)(object id 38017)
90549 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=271648 r=1 w=0 time=3786267 us)
90549 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=181098 r=0 w=0 time=2164425 us)(object id 637202)
90549 INDEX UNIQUE SCAN IC_ITEM_MST_TL_PK (cr=181098 r=0 w=0 time=2260794 us)(object id 637049)
90549 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=181098 r=1 w=0 time=1902881 us)(object id 637610)
14 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=71479854 r=99 w=0 time=1295671259 us)
101213210 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=676173 r=21 w=0 time=136382307 us)(object id 222381)
14 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=56 r=4 w=0 time=2052 us)
14 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=42 r=2 w=0 time=1265 us)(object id 637681)
0 FILTER (cr=0 r=0 w=0 time=59787 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 NESTED LOOPS (cr=0 r=0 w=0 time=0 us)
0 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_LINES (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_LINES_PK (cr=0 r=0 w=0 time=0 us)(object id 637620)
0 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=0 r=0 w=0 time=0 us)(object id 38017)
0 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=0 r=0 w=0 time=0 us)(object id 637202)
0 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=0 r=0 w=0 time=0 us)(object id 637610)
0 TABLE ACCESS BY INDEX ROWID IC_TRAN_PND (cr=0 r=0 w=0 time=0 us)
0 INDEX RANGE SCAN IC_TRAN_PNDI6 (cr=0 r=0 w=0 time=0 us)(object id 222381)
0 TABLE ACCESS BY INDEX ROWID IC_LOTS_MST (cr=0 r=0 w=0 time=0 us)
0 INDEX UNIQUE SCAN IC_LOTS_MST_PK (cr=0 r=0 w=0 time=0 us)(object id 637681)
7 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_DETAILS (cr=32 r=3 w=0 time=2586 us)
14 INDEX RANGE SCAN WSH_DELIVERY_DETAILS_N3 (cr=16 r=1 w=0 time=1221 us)(object id 46264)
0 TABLE ACCESS BY INDEX ROWID OE_SETS (cr=0 r=0 w=0 time=32 us)
0 INDEX UNIQUE SCAN OE_SETS_U1 (cr=0 r=0 w=0 time=6 us)(object id 43138)
7 TABLE ACCESS BY INDEX ROWID OE_ORDER_LINES_ALL (cr=16 r=6 w=0 time=2715 us)
7 INDEX UNIQUE SCAN OE_ORDER_LINES_U1 (cr=9 r=2 w=0 time=1399 us)(object id 42102)
1 TABLE ACCESS BY INDEX ROWID IC_TXN_REQUEST_HEADERS (cr=16 r=2 w=0 time=679 us)
7 INDEX UNIQUE SCAN IC_TXN_REQUEST_HEADERS_PK (cr=9 r=0 w=0 time=124 us)(object id 637610)
1 TABLE ACCESS BY INDEX ROWID MTL_SYSTEM_ITEMS_B (cr=3 r=0 w=0 time=50 us)
1 INDEX UNIQUE SCAN MTL_SYSTEM_ITEMS_B_U1 (cr=2 r=0 w=0 time=23 us)(object id 38017)
1 TABLE ACCESS BY INDEX ROWID OE_ORDER_HEADERS_ALL (cr=3 r=0 w=0 time=58 us)
1 INDEX UNIQUE SCAN OE_ORDER_HEADERS_U1 (cr=2 r=0 w=0 time=36 us)(object id 41952)
1 TABLE ACCESS BY INDEX ROWID IC_ITEM_MST_B (cr=3 r=0 w=0 time=33 us)
1 INDEX UNIQUE SCAN IC_ITEM_MST_B_UNQ1 (cr=2 r=0 w=0 time=14 us)(object id 637202)
1 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_ASSIGNMENTS (cr=5 r=1 w=0 time=358 us)
1 INDEX RANGE SCAN WSH_DELIVERY_ASSIGNMENTS_N3 (cr=2 r=0 w=0 time=68 us)(object id 46295)
1 TABLE ACCESS BY INDEX ROWID WSH_NEW_DELIVERIES (cr=3 r=1 w=0 time=9428 us)
1 INDEX UNIQUE SCAN WSH_NEW_DELIVERIES_U1 (cr=2 r=1 w=0 time=9405 us)(object id 46306)
0 TABLE ACCESS BY INDEX ROWID WSH_DELIVERY_LEGS (cr=2 r=0 w=0 time=58 us)
0 INDEX RANGE SCAN WSH_DELIVERY_LEGS_N1 (cr=2 r=0 w=0 time=55 us)(object id 46235)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIP_STOPS (cr=0 r=0 w=0 time=2 us)
0 INDEX UNIQUE SCAN WSH_TRIP_STOPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46088)
0 TABLE ACCESS BY INDEX ROWID WSH_TRIPS (cr=0 r=0 w=0 time=1 us)
0 INDEX UNIQUE SCAN WSH_TRIPS_U1 (cr=0 r=0 w=0 time=1 us)(object id 46057)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCOUNTS (cr=3 r=0 w=0 time=55 us)
1 INDEX UNIQUE SCAN HZ_CUST_ACCOUNTS_U1 (cr=2 r=0 w=0 time=34 us)(object id 81600)
1 TABLE ACCESS BY INDEX ROWID HZ_PARTIES (cr=3 r=0 w=0 time=48 us)
1 INDEX UNIQUE SCAN HZ_PARTIES_U1 (cr=2 r=0 w=0 time=26 us)(object id 237346)
1 TABLE ACCESS BY INDEX ROWID HZ_CUST_SITE_USES_ALL (cr=3 r=1 w=0 time=12241 us)
1 INDEX UNIQUE SCAN HZ_CUST_SITE_USES_U1 (cr=2 r=1 w=0 time=12187 us)(object id 236588)

Similar Messages

  • Need Help in sql tuning in EXADATA environment

    I am uploadin the sql with its current explain plan, this sql in Prd database is executing in 6-10 mins and we need to improve this sql perf to 1-2 mins as the requirement from business team.
    I am giving some backgroud about this sql tuning requirement, this sql is newly developed in and currently is in UAT phase, we don't have much option for tuning code here since the sql is tool generated through COGNOS DataMart tool, options are there to look into from DBA end with plan level or creating indexes on suitible columns to reduce i/o in minimizing the rows traversing by the sql.
    Is anybody can help me out here?
    WITH "WCRS_CLAIM_DETAIL_VW5"
    AS (SELECT "WCRS_CLAIM_DETAIL_VW"."CLAIM_DETAIL_PK_ID"
    "CLAIM_DETAIL_PK_ID",
    "WCRS_CLAIM_DETAIL_VW"."CLAIM_ID" "CLAIM_ID",
    "WCRS_CLAIM_DETAIL_VW"."CURRENT_SNAPSHOT_IND"
    "CURRENT_SNAPSHOT_IND",
    "WCRS_CLAIM_DETAIL_VW"."LOSS_DT" "LOSS_DT",
    "WCRS_CLAIM_DETAIL_VW"."REGULATORY_STATE_CD"
    "REGULATORY_STATE_CD"
    FROM "CDW_DLV_IDS"."WCRS_CLAIM_DETAIL_VW" "WCRS_CLAIM_DETAIL_VW"
    WHERE "WCRS_CLAIM_DETAIL_VW"."CURRENT_SNAPSHOT_IND" = 'Y'),
    "WCRS_POLICY_DETAIL_VW7"
    AS (SELECT "WCRS_POLICY_DETAIL_VW"."CLAIM_NBR" "CLAIM_NBR",
    "WCRS_POLICY_DETAIL_VW"."CLAIM_SYMBOL_CD" "CLAIM_SYMBOL_CD",
    "WCRS_POLICY_DETAIL_VW"."CURRENT_SNAPSHOT_IND"
    "CURRENT_SNAPSHOT_IND",
    "WCRS_POLICY_DETAIL_VW"."KEY_OFFICE_CD" "KEY_OFFICE_CD",
    "WCRS_POLICY_DETAIL_VW"."POLICY_NBR" "POLICY_NBR"
    FROM "CDW_DLV_IDS"."WCRS_POLICY_DETAIL_VW" "WCRS_POLICY_DETAIL_VW"
    WHERE "WCRS_POLICY_DETAIL_VW"."CURRENT_SNAPSHOT_IND" = 'Y')
    SELECT /*+ gather_plan_statistics monitor bind_aware */
    /* ^^unique_id */
    "T0"."C0" "Account_Name",
    "T0"."C1" "Accident_State_Cd",
    "T0"."C2" "c3",
    "T0"."C3" "PPO_Name",
    "T0"."C4" "Invc_Classification_Type_Desc",
    FIRST_VALUE (
    "T0"."C5")
    OVER (
    PARTITION BY "T0"."C0",
    "T0"."C1",
    "T0"."C2",
    "T0"."C3",
    "T0"."C4",
    "T0"."C6")
    "Claim_Cnt___Distinct",
    "T0"."C7" "Invc_Control_Number",
    "T0"."C8" "Invc_Allowance_Amt",
    "T0"."C9" "Invc_Charge_Amt",
    "T0"."C10" "c10",
    "T0"."C11" "PPO_Reduction_Amt",
    "T0"."C12" "Dup_Ln_Save_Amt",
    "T0"."C13" "c13",
    "T0"."C14" "Sub_Total",
    "T0"."C15" "c15",
    "T0"."C6" "c16"
    FROM (SELECT "T1"."C0" "C0",
    "T1"."C1" "C1",
    "T1"."C2" "C2",
    "T1"."C3" "C3",
    "T1"."C4" "C4",
    "T1"."C6" "C5",
    "T1"."C5" "C6",
    "T0"."C0" "C7",
    "T1"."C7" "C8",
    "T1"."C8" "C9",
    "T1"."C9" "C10",
    "T1"."C10" "C11",
    "T1"."C11" "C12",
    "T1"."C12" "C13",
    "T1"."C13" "C14",
    "T1"."C14" "C15"
    FROM (SELECT COUNT (DISTINCT "INVC_DIM_VW"."INVC_ID") "C0"
    FROM "CDW_DLV_IDS"."WCRS_POLICY_GROUPING_VW" "WCRS_POLICY_GROUPING_VW",
    "WCRS_CLAIM_DETAIL_VW5",
    "EDW_DM"."INVC_DIM_VW" "INVC_DIM_VW",
    "EDW_DM"."PROVIDER_NETWORK_DIM_VW" "PROVIDER_NETWORK_DIM_VW",
    "EDW_DM"."INVC_ACTY_SNPSHT_FACT_VW" "INVC_ACTY_SNPSHT_FACT_VW6",
    "EDW_DM"."CURRENT_MED_INVC_RPT_DT_VW" "CURRENT_MED_INVC_RPT_DT_VW",
    "EDW_DM"."ALL_INVC_SNPSHT_FACT_VW" "ALL_INVC_SNPSHT_FACT_VW",
    "CDW_DLV_IDS"."WCRS_CURRENT_CLAIM_RPT_DT_VW" "WCRS_CURRENT_CLAIM_RPT_DT_VW",
    "CDW_DLV_IDS"."WCRS_CLAIM_FACT_VW" "WCRS_CLAIM_FACT_VW",
    "WCRS_POLICY_DETAIL_VW7",
    "EDW_DM"."INVC_CLAIM_DTL_BRDG_FACT_VW" "INVC_CLAIM_DTL_BRDG_FACT_VW"
    WHERE "INVC_DIM_VW"."INVC_DELETION_IND" <> 'Y'
    AND "INVC_DIM_VW"."INVC_CONSIDRTN_TYPE_DESC" =
    'Original'
    AND "CURRENT_MED_INVC_RPT_DT_VW"."CURRENT_MONTH_RPT_DT" =
    "ALL_INVC_SNPSHT_FACT_VW"."AS_OF_MONTH_END_DT_PK_ID"
    AND "WCRS_CURRENT_CLAIM_RPT_DT_VW"."CURRENT_CLAIM_RPT_DT" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_REPORTING_DT"
    AND "WCRS_POLICY_GROUPING_VW"."ACCOUNT_NM" =
    CAST ('1ST TEAM STAFFING SERVICES, INC.' AS VARCHAR (50 CHAR))
    AND "WCRS_POLICY_DETAIL_VW7"."POLICY_NBR" =
    "WCRS_POLICY_GROUPING_VW"."POLICY_IDENTIFIER"
    AND "WCRS_POLICY_DETAIL_VW7"."CLAIM_NBR" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_NBR"
    AND "WCRS_POLICY_DETAIL_VW7"."CLAIM_SYMBOL_CD" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_SYMBOL_CD"
    AND "WCRS_POLICY_DETAIL_VW7"."KEY_OFFICE_CD" =
    "WCRS_CLAIM_FACT_VW"."KEY_OFFICE_CD"
    AND "WCRS_POLICY_DETAIL_VW7"."CURRENT_SNAPSHOT_IND" =
    'Y'
    AND "WCRS_CLAIM_FACT_VW"."CLAIM_DETAIL_PK_ID" =
    "WCRS_CLAIM_DETAIL_VW5"."CLAIM_DETAIL_PK_ID"
    AND "WCRS_CLAIM_DETAIL_VW5"."CURRENT_SNAPSHOT_IND" =
    'Y'
    AND "WCRS_CLAIM_FACT_VW"."CLAIM_GID" =
    "INVC_CLAIM_DTL_BRDG_FACT_VW"."CLM_GID"
    AND "INVC_CLAIM_DTL_BRDG_FACT_VW"."INVC_GID" =
    "INVC_DIM_VW"."INVC_GID"
    AND "INVC_DIM_VW"."INVC_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_PK_ID"
    AND "ALL_INVC_SNPSHT_FACT_VW"."MONTH_END_DT_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."MONTH_END_DT_PK_ID"
    AND "ALL_INVC_SNPSHT_FACT_VW"."INVC_GID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_GID"
    AND "PROVIDER_NETWORK_DIM_VW"."PROVIDER_NETWORK_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."PPO_PROVIDER_NETWORK_PK_ID"
    AND "WCRS_CURRENT_CLAIM_RPT_DT_VW"."CURRENT_CLAIM_RPT_DT" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_REPORTING_DT") "T0",
    ( SELECT "WCRS_POLICY_GROUPING_VW"."ACCOUNT_NM" "C0",
    "WCRS_CLAIM_DETAIL_VW5"."REGULATORY_STATE_CD" "C1",
    CASE
    WHEN "INVC_DIM_VW"."INVC_IN_OUT_OF_NETWORK_IND" =
    'Y'
    THEN
    'In - Network'
    WHEN "INVC_DIM_VW"."INVC_IN_OUT_OF_NETWORK_IND" =
    'N'
    THEN
    'Out - Network'
    ELSE
    'Others'
    END
    "C2",
    "PROVIDER_NETWORK_DIM_VW"."PROVIDER_NETWORK_NM" "C3",
    "INVC_DIM_VW"."INVC_CLASS_TYPE_DESC" "C4",
    CASE
    WHEN (EXTRACT (
    YEAR FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    IS NULL)
    OR (EXTRACT (
    MONTH FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    IS NULL)
    THEN
    NULL
    ELSE
    ( EXTRACT (
    YEAR FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    || EXTRACT (
    MONTH FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT")))
    END
    "C5",
    COUNT (DISTINCT "WCRS_CLAIM_DETAIL_VW5"."CLAIM_ID")
    "C6",
    SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_ALWC_AMT") "C7",
    SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_CHRGS_AMT")
    "C8",
    SUM (
    "INVC_ACTY_SNPSHT_FACT_VW6"."TOT_INVC_REVIEW_RULE_ALWC_AMT")
    "C9",
    SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_PPO_REDUC_AMT")
    "C10",
    SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_DUP_REDUC_AMT")
    "C11",
    SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_OSR_REDUC_AMT")
    "C12",
    ( SUM (
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_CHRGS_AMT")
    - SUM ("INVC_ACTY_SNPSHT_FACT_VW6"."INVC_ALWC_AMT"))
    - SUM (
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_DUP_REDUC_AMT")
    "C13",
    SUM (
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_CLNT_SPEC_REDUC_AMT")
    "C14"
    FROM "CDW_DLV_IDS"."WCRS_POLICY_GROUPING_VW" "WCRS_POLICY_GROUPING_VW",
    "WCRS_CLAIM_DETAIL_VW5",
    "EDW_DM"."INVC_DIM_VW" "INVC_DIM_VW",
    "EDW_DM"."PROVIDER_NETWORK_DIM_VW" "PROVIDER_NETWORK_DIM_VW",
    "EDW_DM"."INVC_ACTY_SNPSHT_FACT_VW" "INVC_ACTY_SNPSHT_FACT_VW6",
    "EDW_DM"."CURRENT_MED_INVC_RPT_DT_VW" "CURRENT_MED_INVC_RPT_DT_VW",
    "EDW_DM"."ALL_INVC_SNPSHT_FACT_VW" "ALL_INVC_SNPSHT_FACT_VW",
    "CDW_DLV_IDS"."WCRS_CURRENT_CLAIM_RPT_DT_VW" "WCRS_CURRENT_CLAIM_RPT_DT_VW",
    "CDW_DLV_IDS"."WCRS_CLAIM_FACT_VW" "WCRS_CLAIM_FACT_VW",
    "WCRS_POLICY_DETAIL_VW7",
    "EDW_DM"."INVC_CLAIM_DTL_BRDG_FACT_VW" "INVC_CLAIM_DTL_BRDG_FACT_VW"
    WHERE "INVC_DIM_VW"."INVC_DELETION_IND" <> 'Y'
    AND "INVC_DIM_VW"."INVC_CONSIDRTN_TYPE_DESC" =
    'Original'
    AND "CURRENT_MED_INVC_RPT_DT_VW"."CURRENT_MONTH_RPT_DT" =
    "ALL_INVC_SNPSHT_FACT_VW"."AS_OF_MONTH_END_DT_PK_ID"
    AND "WCRS_CURRENT_CLAIM_RPT_DT_VW"."CURRENT_CLAIM_RPT_DT" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_REPORTING_DT"
    AND "WCRS_POLICY_GROUPING_VW"."ACCOUNT_NM" =
    CAST ('1ST TEAM STAFFING SERVICES, INC.' AS VARCHAR (50 CHAR))
    AND "WCRS_POLICY_DETAIL_VW7"."POLICY_NBR" =
    "WCRS_POLICY_GROUPING_VW"."POLICY_IDENTIFIER"
    AND "WCRS_POLICY_DETAIL_VW7"."CLAIM_NBR" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_NBR"
    AND "WCRS_POLICY_DETAIL_VW7"."CLAIM_SYMBOL_CD" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_SYMBOL_CD"
    AND "WCRS_POLICY_DETAIL_VW7"."KEY_OFFICE_CD" =
    "WCRS_CLAIM_FACT_VW"."KEY_OFFICE_CD"
    AND "WCRS_POLICY_DETAIL_VW7"."CURRENT_SNAPSHOT_IND" =
    'Y'
    AND "WCRS_CLAIM_FACT_VW"."CLAIM_DETAIL_PK_ID" =
    "WCRS_CLAIM_DETAIL_VW5"."CLAIM_DETAIL_PK_ID"
    AND "WCRS_CLAIM_DETAIL_VW5"."CURRENT_SNAPSHOT_IND" =
    'Y'
    AND "WCRS_CLAIM_FACT_VW"."CLAIM_GID" =
    "INVC_CLAIM_DTL_BRDG_FACT_VW"."CLM_GID"
    AND "INVC_CLAIM_DTL_BRDG_FACT_VW"."INVC_GID" =
    "INVC_DIM_VW"."INVC_GID"
    AND "INVC_DIM_VW"."INVC_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_PK_ID"
    AND "ALL_INVC_SNPSHT_FACT_VW"."MONTH_END_DT_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."MONTH_END_DT_PK_ID"
    AND "ALL_INVC_SNPSHT_FACT_VW"."INVC_GID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."INVC_GID"
    AND "PROVIDER_NETWORK_DIM_VW"."PROVIDER_NETWORK_PK_ID" =
    "INVC_ACTY_SNPSHT_FACT_VW6"."PPO_PROVIDER_NETWORK_PK_ID"
    AND "WCRS_CURRENT_CLAIM_RPT_DT_VW"."CURRENT_CLAIM_RPT_DT" =
    "WCRS_CLAIM_FACT_VW"."CLAIM_REPORTING_DT"
    GROUP BY "WCRS_POLICY_GROUPING_VW"."ACCOUNT_NM",
    "WCRS_CLAIM_DETAIL_VW5"."REGULATORY_STATE_CD",
    CASE
    WHEN "INVC_DIM_VW"."INVC_IN_OUT_OF_NETWORK_IND" =
    'Y'
    THEN
    'In - Network'
    WHEN "INVC_DIM_VW"."INVC_IN_OUT_OF_NETWORK_IND" =
    'N'
    THEN
    'Out - Network'
    ELSE
    'Others'
    END,
    "PROVIDER_NETWORK_DIM_VW"."PROVIDER_NETWORK_NM",
    "INVC_DIM_VW"."INVC_CLASS_TYPE_DESC",
    CASE
    WHEN (EXTRACT (
    YEAR FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    IS NULL)
    OR (EXTRACT (
    MONTH FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    IS NULL)
    THEN
    NULL
    ELSE
    ( EXTRACT (
    YEAR FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT"))
    || EXTRACT (
    MONTH FROM ("WCRS_CLAIM_DETAIL_VW5"."LOSS_DT")))
    END) "T1") "T0"
    ORDER BY "Account_Name" ASC NULLS LAST,
    "Accident_State_Cd" ASC NULLS LAST,
    "c3" ASC NULLS LAST,
    "PPO_Name" ASC NULLS LAST,
    "Invc_Classification_Type_Desc" ASC NULLS LAST

    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
    | 0 | SELECT STATEMENT | | 1 | 838 | 1079K (1)| 00:00:34 | | |
    | 1 | TEMP TABLE TRANSFORMATION | | | | | | | |
    | 2 | PX COORDINATOR | | | | | | | |
    | 3 | PX SEND QC (RANDOM) | :TQ10000 | 10M| 317M| 848K (1)| 00:00:27 | | |
    | 4 | LOAD AS SELECT | SYS_TEMP_0FD9D677A_286AAA2E | | | | | | |
    | 5 | PX BLOCK ITERATOR | | 10M| 317M| 848K (1)| 00:00:27 | | |
    |* 6 | TABLE ACCESS STORAGE FULL | WCRS_CLAIM_DETAIL | 10M| 317M| 848K (1)| 00:00:27 | | |
    | 7 | PX COORDINATOR | | | | | | | |
    | 8 | PX SEND QC (RANDOM) | :TQ20000 | 10M| 268M| 44875 (1)| 00:00:02 | | |
    | 9 | LOAD AS SELECT | SYS_TEMP_0FD9D677B_286AAA2E | | | | | | |
    | 10 | PX BLOCK ITERATOR | | 10M| 268M| 44875 (1)| 00:00:02 | | |
    |* 11 | TABLE ACCESS STORAGE FULL | WCRS_POLICY_DETAIL | 10M| 268M| 44875 (1)| 00:00:02 | | |
    | 12 | PX COORDINATOR | | | | | | | |
    | 13 | PX SEND QC (ORDER) | :TQ40017 | 1 | 838 | 186K (2)| 00:00:06 | | |
    | 14 | WINDOW SORT | | 1 | 838 | 186K (2)| 00:00:06 | | |
    | 15 | PX RECEIVE | | 1 | 838 | 186K (2)| 00:00:06 | | |
    | 16 | PX SEND RANGE | :TQ40016 | 1 | 838 | 186K (2)| 00:00:06 | | |
    | 17 | NESTED LOOPS | | 1 | 838 | 186K (2)| 00:00:06 | | |
    | 18 | BUFFER SORT | | | | | | | |
    | 19 | PX RECEIVE | | | | | | | |
    | 20 | PX SEND BROADCAST | :TQ40001 | | | | | | |
    | 21 | VIEW | | 1 | 13 | 93216 (2)| 00:00:03 | | |
    | 22 | SORT GROUP BY | | 1 | 393 | | | | |
    | 23 | PX COORDINATOR | | | | | | | |
    | 24 | PX SEND QC (RANDOM) | :TQ30015 | 1 | 393 | | | | |
    | 25 | SORT GROUP BY | | 1 | 393 | | | | |
    | 26 | PX RECEIVE | | 1 | 393 | | | | |
    | 27 | PX SEND HASH | :TQ30014 | 1 | 393 | | | | |
    | 28 | SORT GROUP BY | | 1 | 393 | | | | |
    |* 29 | HASH JOIN ANTI | | 1 | 393 | 93216 (2)| 00:00:03 | | |
    | 30 | PX RECEIVE | | 1 | 376 | 85197 (2)| 00:00:03 | | |
    | 31 | PX SEND HASH | :TQ30012 | 1 | 376 | 85197 (2)| 00:00:03 | | |
    | 32 | BUFFER SORT | | 1 | 838 | | | | |
    | 33 | NESTED LOOPS | | 1 | 376 | 85197 (2)| 00:00:03 | | |
    | 34 | NESTED LOOPS | | 1 | 358 | 85197 (2)| 00:00:03 | | |
    | 35 | NESTED LOOPS | | 1 | 348 | 85197 (2)| 00:00:03 | | |
    |* 36 | HASH JOIN ANTI | | 1 | 316 | 85179 (2)| 00:00:03 | | |
    | 37 | PX RECEIVE | | 4 | 1156 | 77161 (2)| 00:00:03 | | |
    | 38 | PX SEND HASH | :TQ30010 | 4 | 1156 | 77161 (2)| 00:00:03 | | |
    |* 39 | HASH JOIN ANTI BUFFERED | | 4 | 1156 | 77161 (2)| 00:00:03 | | |
    | 40 | PX RECEIVE | | 371 | 94605 | 69142 (2)| 00:00:03 | | |
    | 41 | PX SEND HASH | :TQ30008 | 371 | 94605 | 69142 (2)| 00:00:03 | | |
    |* 42 | HASH JOIN | | 371 | 94605 | 69142 (2)| 00:00:03 | | |
    | 43 | PX RECEIVE | | 350 | 77000 | 36642 (1)| 00:00:02 | | |
    | 44 | PX SEND BROADCAST | :TQ30007 | 350 | 77000 | 36642 (1)| 00:00:02 | | |
    |* 45 | HASH JOIN | | 350 | 77000 | 36642 (1)| 00:00:02 | | |
    | 46 | PX RECEIVE | | 140 | 25200 | 28624 (1)| 00:00:01 | | |
    | 47 | PX SEND BROADCAST | :TQ30006 | 140 | 25200 | 28624 (1)| 00:00:01 | | |
    |* 48 | HASH JOIN | | 140 | 25200 | 28624 (1)| 00:00:01 | | |
    | 49 | PX RECEIVE | | 140 | 22820 | 25169 (1)| 00:00:01 | | |
    | 50 | PX SEND BROADCAST | :TQ30005 | 140 | 22820 | 25169 (1)| 00:00:01 | | |
    |* 51 | HASH JOIN BUFFERED | | 140 | 22820 | 25169 (1)| 00:00:01 | | |
    | 52 | BUFFER SORT | | | | | | | |
    | 53 | PX RECEIVE | | 9 | 306 | 5 (0)| 00:00:01 | | |
    | 54 | T PX SEND BROADCAS | :TQ30000 | 9 | 306 | 5 (0)| 00:00:01 | | |
    | 55 | INDEX ROWID TABLE ACCESS BY | WCRS_POLICY_GROUPING | 9 | 306 | 5 (0)| 00:00:01 | | |
    |* 56 | AN INDEX RANGE SC | SUK3 | 9 | | 1 (0)| 00:00:01 | | |
    |* 57 | HASH JOIN | | 9699K| 1193M| 25149 (1)| 00:00:01 | | |
    | 58 | PX RECEIVE | | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 59 | PX SEND HASH | :TQ30003 | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 60 | NESTED LOOPS | | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 61 | BUFFER SORT | | | | | | | |
    | 62 | PX RECEIVE | | | | | | | |
    | 63 | DCAST PX SEND BROA | :TQ30002 | | | | | | |
    | 64 | CARTESIAN MERGE JOIN | | 1 | 14 | 13 (0)| 00:00:01 | | |
    | 65 | TERATOR PX BLOCK I | | 1 | 8 | 10 (0)| 00:00:01 | | |
    | 66 | ESS STORAGE FULL TABLE ACC | CURRENT_MED_INVC_RPT_DT | 1 | 8 | 10 (0)| 00:00:01 | | |
    | 67 | T BUFFER SOR | | 1 | 6 | 3 (0)| 00:00:01 | | |
    | 68 | E PX RECEIV | | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 69 | BROADCAST PX SEND | :TQ30001 | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 70 | K ITERATOR PX BLOC | | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 71 | ACCESS STORAGE FULL TABLE | WCRS_CURRENT_CLAIM_RPT_DT | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 72 | TOR PX BLOCK ITERA | | 9699K| 305M| 22192 (1)| 00:00:01 | KEY | KEY |
    |* 73 | STORAGE FULL TABLE ACCESS | WCRS_CURRENT_CLAIM_FACT | 9699K| 305M| 22192 (1)| 00:00:01 | KEY | KEY |
    | 74 | PX RECEIVE | | 10M| 785M| 2907 (2)| 00:00:01 | | |
    | 75 | PX SEND HASH | :TQ30004 | 10M| 785M| 2907 (2)| 00:00:01 | | |
    |* 76 | VIEW | | 10M| 785M| 2907 (2)| 00:00:01 | | |
    | 77 | TOR PX BLOCK ITERA | | 10M| 268M| 2907 (2)| 00:00:01 | | |
    | 78 | STORAGE FULL TABLE ACCESS | SYS_TEMP_0FD9D677B_286AAA2E | 10M| 268M| 2907 (2)| 00:00:01 | | |
    |* 79 | VIEW | | 10M| 168M| 3439 (2)| 00:00:01 | | |
    | 80 | PX BLOCK ITERATOR | | 10M| 317M| 3439 (2)| 00:00:01 | | |
    | 81 | E FULL TABLE ACCESS STORAG | SYS_TEMP_0FD9D677A_286AAA2E | 10M| 317M| 3439 (2)| 00:00:01 | | |
    | 82 | PX BLOCK ITERATOR | | 15M| 599M| 7994 (1)| 00:00:01 | | |
    | 83 | LL TABLE ACCESS STORAGE FU | INVC_CLAIM_DTL_BRDG_FACT | 15M| 599M| 7994 (1)| 00:00:01 | | |
    | 84 | PX BLOCK ITERATOR | | 15M| 521M| 32477 (2)| 00:00:02 | | |
    |* 85 | TABLE ACCESS STORAGE FULL | INVC_DIM | 15M| 521M| 32477 (2)| 00:00:02 | | |
    | 86 | PX RECEIVE | | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 87 | PX SEND HASH | :TQ30009 | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 88 | PX BLOCK ITERATOR | | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 89 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 90 | PX RECEIVE | | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 91 | PX SEND HASH | :TQ30011 | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 92 | PX BLOCK ITERATOR | | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 93 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 94 | TABLE ACCESS BY INDEX ROWID | INVC_ACTY_SNPSHT_FACT | 1 | 32 | 18 (0)| 00:00:01 | | |
    |* 95 | INDEX RANGE SCAN | IFK_XPKINVOICE_ACTIVITY_SNAPSH | 1 | | 1 (0)| 00:00:01 | | |
    |* 96 | INDEX UNIQUE SCAN | IFK_XPKPROVIDER_NETWORK_DIM | 1 | 10 | 0 (0)| 00:00:01 | | |
    |* 97 | INDEX RANGE SCAN | IFK_XPKALL_INVC_SNPSHT_FACT | 1 | 18 | 1 (0)| 00:00:01 | | |
    | 98 | PX RECEIVE | | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 99 | PX SEND HASH | :TQ30013 | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 100 | PX BLOCK ITERATOR | | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 101 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 102 | VIEW | | 1 | 825 | | | | |
    | 103 | SORT GROUP BY | | 1 | 430 | 93216 (2)| 00:00:03 | | |
    | 104 | BUFFER SORT | | | | | | | |
    | 105 | PX RECEIVE | | 1 | 430 | 93216 (2)| 00:00:03 | | |
    | 106 | PX SEND HASH | :TQ40015 | 1 | 430 | 93216 (2)| 00:00:03 | | |
    |*107 | HASH JOIN ANTI BUFFERED | | 1 | 430 | 93216 (2)| 00:00:03 | | |
    | 108 | PX RECEIVE | | 1 | 413 | 85198 (2)| 00:00:03 | | |
    | 109 | PX SEND HASH | :TQ40013 | 1 | 413 | 85198 (2)| 00:00:03 | | |
    | 110 | BUFFER SORT | | 1 | 838 | | | | |
    | 111 | NESTED LOOPS | | 1 | 413 | 85198 (2)| 00:00:03 | | |
    | 112 | NESTED LOOPS | | 1 | 395 | 85197 (2)| 00:00:03 | | |
    | 113 | NESTED LOOPS | | 1 | 369 | 85197 (2)| 00:00:03 | | |
    |*114 | HASH JOIN ANTI | | 1 | 311 | 85179 (2)| 00:00:03 | | |
    | 115 | PX RECEIVE | | 4 | 1136 | 77161 (2)| 00:00:03 | | |
    | 116 | PX SEND HASH | :TQ40011 | 4 | 1136 | 77161 (2)| 00:00:03 | | |
    |*117 | HASH JOIN ANTI BUFFERED | | 4 | 1136 | 77161 (2)| 00:00:03 | | |
    | 118 | PX RECEIVE | | 371 | 92750 | 69143 (2)| 00:00:03 | | |
    | 119 | PX SEND HASH | :TQ40009 | 371 | 92750 | 69143 (2)| 00:00:03 | | |
    |*120 | HASH JOIN | | 371 | 92750 | 69143 (2)| 00:00:03 | | |
    | 121 | PX RECEIVE | | 350 | 72450 | 36642 (1)| 00:00:02 | | |
    | 122 | PX SEND BROADCAST | :TQ40008 | 350 | 72450 | 36642 (1)| 00:00:02 | | |
    |*123 | HASH JOIN | | 350 | 72450 | 36642 (1)| 00:00:02 | | |
    | 124 | PX RECEIVE | | 140 | 23380 | 28624 (1)| 00:00:01 | | |
    | 125 | PX SEND BROADCAST | :TQ40007 | 140 | 23380 | 28624 (1)| 00:00:01 | | |
    |*126 | HASH JOIN | | 140 | 23380 | 28624 (1)| 00:00:01 | | |
    | 127 | PX RECEIVE | | 140 | 15540 | 25169 (1)| 00:00:01 | | |
    | 128 | PX SEND BROADCAST | :TQ40006 | 140 | 15540 | 25169 (1)| 00:00:01 | | |
    |*129 | HASH JOIN BUFFERED | | 140 | 15540 | 25169 (1)| 00:00:01 | | |
    | 130 | BUFFER SORT | | | | | | | |
    | 131 | PX RECEIVE | | 9 | 306 | 5 (0)| 00:00:01 | | |
    | 132 | PX SEND BROADCAST | :TQ40000 | 9 | 306 | 5 (0)| 00:00:01 | | |
    | 133 | ROWID TABLE ACCESS BY INDEX | WCRS_POLICY_GROUPING | 9 | 306 | 5 (0)| 00:00:01 | | |
    |*134 | INDEX RANGE SCAN | SUK3 | 9 | | 1 (0)| 00:00:01 | | |
    |*135 | HASH JOIN | | 9699K| 712M| 25149 (1)| 00:00:01 | | |
    | 136 | PX RECEIVE | | 10M| 287M| 2907 (2)| 00:00:01 | | |
    | 137 | PX SEND HASH | :TQ40004 | 10M| 287M| 2907 (2)| 00:00:01 | | |
    |*138 | VIEW | | 10M| 287M| 2907 (2)| 00:00:01 | | |
    | 139 | PX BLOCK ITERATOR | | 10M| 268M| 2907 (2)| 00:00:01 | | |
    | 140 | E FULL TABLE ACCESS STORAG | SYS_TEMP_0FD9D677B_286AAA2E | 10M| 268M| 2907 (2)| 00:00:01 | | |
    | 141 | PX RECEIVE | | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 142 | PX SEND HASH | :TQ40005 | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 143 | NESTED LOOPS | | 9699K| 434M| 22205 (1)| 00:00:01 | | |
    | 144 | BUFFER SORT | | | | | | | |
    | 145 | PX RECEIVE | | | | | | | |
    | 146 | PX SEND BROADCAST | :TQ40003 | | | | | | |
    | 147 | IAN MERGE JOIN CARTES | | 1 | 14 | 13 (0)| 00:00:01 | | |
    | 148 | R PX BLOCK ITERATO | | 1 | 8 | 10 (0)| 00:00:01 | | |
    | 149 | ORAGE FULL TABLE ACCESS ST | CURRENT_MED_INVC_RPT_DT | 1 | 8 | 10 (0)| 00:00:01 | | |
    | 150 | BUFFER SORT | | 1 | 6 | 3 (0)| 00:00:01 | | |
    | 151 | PX RECEIVE | | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 152 | AST PX SEND BROADC | :TQ40002 | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 153 | ATOR PX BLOCK ITER | | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 154 | STORAGE FULL TABLE ACCESS | WCRS_CURRENT_CLAIM_RPT_DT | 1 | 6 | 2 (0)| 00:00:01 | | |
    | 155 | PX BLOCK ITERATOR | | 9699K| 305M| 22192 (1)| 00:00:01 | KEY | KEY |
    |*156 | E FULL TABLE ACCESS STORAG | WCRS_CURRENT_CLAIM_FACT | 9699K| 305M| 22192 (1)| 00:00:01 | KEY | KEY |
    |*157 | VIEW | | 10M| 555M| 3439 (2)| 00:00:01 | | |
    | 158 | PX BLOCK ITERATOR | | 10M| 317M| 3439 (2)| 00:00:01 | | |
    | 159 | TABLE ACCESS STORAGE FULL | SYS_TEMP_0FD9D677A_286AAA2E | 10M| 317M| 3439 (2)| 00:00:01 | | |
    | 160 | PX BLOCK ITERATOR | | 15M| 599M| 7994 (1)| 00:00:01 | | |
    | 161 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 599M| 7994 (1)| 00:00:01 | | |
    | 162 | PX BLOCK ITERATOR | | 15M| 641M| 32477 (2)| 00:00:02 | | |
    |*163 | TABLE ACCESS STORAGE FULL | INVC_DIM | 15M| 641M| 32477 (2)| 00:00:02 | | |
    | 164 | PX RECEIVE | | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 165 | PX SEND HASH | :TQ40010 | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 166 | PX BLOCK ITERATOR | | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 167 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 509M| 7994 (1)| 00:00:01 | | |
    | 168 | PX RECEIVE | | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 169 | PX SEND HASH | :TQ40012 | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 170 | PX BLOCK ITERATOR | | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 171 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 404M| 7994 (1)| 00:00:01 | | |
    | 172 | TABLE ACCESS BY INDEX ROWID | INVC_ACTY_SNPSHT_FACT | 1 | 58 | 18 (0)| 00:00:01 | | |
    |*173 | INDEX RANGE SCAN | IFK_XPKINVOICE_ACTIVITY_SNAPSH | 1 | | 1 (0)| 00:00:01 | | |
    | 174 | TABLE ACCESS BY INDEX ROWID | PROVIDER_NETWORK_DIM | 1 | 26 | 0 (0)| 00:00:01 | | |
    |*175 | INDEX UNIQUE SCAN | IFK_XPKPROVIDER_NETWORK_DIM | 1 | | 0 (0)| 00:00:01 | | |
    |*176 | INDEX RANGE SCAN | IFK_XPKALL_INVC_SNPSHT_FACT | 1 | 18 | 1 (0)| 00:00:01 | | |
    | 177 | PX RECEIVE | | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 178 | PX SEND HASH | :TQ40014 | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 179 | PX BLOCK ITERATOR | | 15M| 254M| 7994 (1)| 00:00:01 | | |
    | 180 | TABLE ACCESS STORAGE FULL | INVC_CLAIM_DTL_BRDG_FACT | 15M| 254M| 7994 (1)| 00:00:01 | | |
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

  • Where clause "where 1=1" help with SQL tuning

    Hello Tuning experts,
    Is it helpful to use "where 1=1" and then put all the joins and conditions in the "AND" statements of the SQL when writing SQL queries. I would like to know if it helps with query performance to write SQL queirs that way.
    Thanks in advance.
    Edited by: oracle_developer on Oct 8, 2012 10:41 AM

    You can see here that "where 1 = 1" is gone from the predicate info in the explain plan.
    The optimizer simply discarded it.
    SQL> explain plan for
      2  select *
      3  from emp
      4  where 1 = 1
      5  and job = 'SALESMAN';
    Explained.
    PLAN_TABLE_OUTPUT
    Plan hash value: 3956160932
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |      |     3 |   114 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| EMP  |     3 |   114 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("JOB"='SALESMAN')
    13 rows selected.

  • Help in SQL Tuning

    Hi All,
    I am having SQLs with huge cost, that are running for ever. I have analysed the table and indexes. But the cost is not coming down.
    Please share the tricks and tips to write a good SQL queries.
    And about joins (Nested/Hash). Better of the both and converting one to other.
    Way to understand the Explain plan.
    Thanks,
    Subbu S.

    Please check this link
    http://www.akadia.com/services/ora_interpreting_explain_plan.html

  • Need help in SQL tuning

    I created apackage to
    1) Explode BOM model based on Demand data
    2) Save into temp table
    3) Adding additional info from original records
    This involves 400,000 + records and before this it tooks around 3-4 hours
    but now it seems running forever. Please help me to tune this
    CREATE OR REPLACE PACKAGE ZZ_SCHEDULED_BOMEXPLODE
    AS
    PROCEDURE main (
    errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2--,
    END ZZ_SCHEDULED_BOMEXPLODE;
    CREATE OR REPLACE PACKAGE BODY ZZ_SCHEDULED_BOMEXPLODE
    AS
    PROCEDURE main (
    errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2--,
    IS     
    v_explodemodel      VARCHAR2(30);
    v_explodemodel_id NUMBER;
    v_plan_id          NUMBER;
    v_qty_rate          NUMBER;
    v_mrp_date     DATE;
    v_comp_id          NUMBER;
    v_item_cost     NUMBER;
    l_assembly_item_id      NUMBER;
    l_organization_id      NUMBER      := 101;
    l_group_id           NUMBER      := -1111;
    l_session_id     NUMBER      := -1111;
    l_levels_to_explode      NUMBER     := 60;
    l_revision_date      DATE          := null;
    l_err_msg           VARCHAR2(80);
    l_err_code      NUMBER;
    CURSOR c_isp_models IS
    SELECT DISTINCT mov.ITEM_SEGMENTS,mov.PLAN_ID, sum(mov.QUANTITY_RATE), trunc(mov.CREATION_DATE)
    FROM MSC_ORDERS_V mov,msc_plans mp
    WHERE mov.ORDER_TYPE_TEXT IN ('Manual MDS')
    AND mov.CATEGORY_SET_ID = 13
    AND mov.PLAN_ID in (66,366,387,406,587,288)
    and mov.quantity_rate <> 0
    and mov.order_number='MDS_MRP'
    and mov.PLAN_ID = mp.PLAN_ID
    GROUP BY mov.ITEM_SEGMENTS, mov.PLAN_ID, trunc(mov.CREATION_DATE);
    CURSOR c_frozen_cost IS
    select msi.inventory_item_id, cic.item_cost from cst_item_costs cic, mtl_system_items_b msi
    where msi.organization_id = 101
    and cic.cost_type_id = 1
    and msi.inventory_item_id in (select distinct(component_item_id) from zz_bom_explosion_temp_save)
    and cic.organization_id = msi.organization_id
    and cic.inventory_item_id = msi.inventory_item_id;
    BEGIN
    EXECUTE IMMEDIATE 'drop table APPS.ZZ_BOM_EXPLOSION_TEMP_SAVE';
    EXECUTE IMMEDIATE 'create table APPS.ZZ_BOM_EXPLOSION_TEMP_SAVE as select * from APPS.BOM_EXPLOSION_TEMP';
    EXECUTE IMMEDIATE 'delete from APPS.ZZ_BOM_EXPLOSION_TEMP_SAVE';
    EXECUTE IMMEDIATE 'alter table APPS.ZZ_BOM_EXPLOSION_TEMP_SAVE add(PLAN_ID NUMBER, QTY_RATE NUMBER, MRP_DATE DATE)';
    COMMIT;
    -- Starting Explosion prosess
    OPEN c_isp_models;
    LOOP
    FETCH c_isp_models INTO v_explodemodel, v_plan_id, v_qty_rate, v_mrp_date; -- Updated on 2nd Mar 2007
    --FETCH c_isp_models INTO v_explodemodel;
    EXIT WHEN c_isp_models%NOTFOUND;
    select inventory_item_id into v_explodemodel_id
    from mtl_system_items_b
    where segment1 = v_explodemodel
    and organization_id = l_organization_id;
    fnd_file.put_line (fnd_file.LOG, v_explodemodel);
    select bom_explosion_temp_s.nextval into l_group_id from dual;
    bompexpl.exploder_userexit
    0,
    l_organization_id,
    1,
    l_group_id,
    l_session_id,
    l_levels_to_explode,
    1,
    1,
    2,
    3,
    2,
    1,
    2,
    1,
    v_explodemodel_id,
    l_revision_date,
    l_err_msg,
    l_err_code
    COMMIT;
    insert into ZZ_BOM_EXPLOSION_TEMP_SAVE
    select
    TOP_BILL_SEQUENCE_ID,
    BILL_SEQUENCE_ID,
    ORGANIZATION_ID,
    COMPONENT_SEQUENCE_ID,
    COMPONENT_ITEM_ID,
    PLAN_LEVEL,
    EXTENDED_QUANTITY,
    SORT_ORDER,
    REQUEST_ID,
    PROGRAM_APPLICATION_ID,
    PROGRAM_ID,
    PROGRAM_UPDATE_DATE,
    GROUP_ID,
    SESSION_ID,
    SELECT_FLAG,
    SELECT_QUANTITY,
    EXTEND_COST_FLAG,
    TOP_ALTERNATE_DESIGNATOR,
    TOP_ITEM_ID,
    CONTEXT,
    ATTRIBUTE1,
    ATTRIBUTE2,
    ATTRIBUTE3,
    ATTRIBUTE4,
    ATTRIBUTE5,
    ATTRIBUTE6,
    ATTRIBUTE7,
    ATTRIBUTE8,
    ATTRIBUTE9,
    ATTRIBUTE10,
    ATTRIBUTE11,
    ATTRIBUTE12,
    ATTRIBUTE13,
    ATTRIBUTE14,
    ATTRIBUTE15,
    HEADER_ID,
    LINE_ID,
    LIST_PRICE,
    SELLING_PRICE,
    COMPONENT_YIELD_FACTOR,
    ITEM_COST,
    INCLUDE_IN_ROLLUP_FLAG,
    BASED_ON_ROLLUP_FLAG,
    ACTUAL_COST_TYPE_ID,
    COMPONENT_QUANTITY,
    SHRINKAGE_RATE,
    SO_BASIS,
    OPTIONAL,
    MUTUALLY_EXCLUSIVE_OPTIONS,
    CHECK_ATP,
    SHIPPING_ALLOWED,
    REQUIRED_TO_SHIP,
    REQUIRED_FOR_REVENUE,
    INCLUDE_ON_SHIP_DOCS,
    INCLUDE_ON_BILL_DOCS,
    LOW_QUANTITY,
    HIGH_QUANTITY,
    PICK_COMPONENTS,
    PRIMARY_UOM_CODE,
    PRIMARY_UNIT_OF_MEASURE,
    BASE_ITEM_ID,
    ATP_COMPONENTS_FLAG,
    ATP_FLAG,
    BOM_ITEM_TYPE,
    PICK_COMPONENTS_FLAG,
    REPLENISH_TO_ORDER_FLAG,
    SHIPPABLE_ITEM_FLAG,
    CUSTOMER_ORDER_FLAG,
    INTERNAL_ORDER_FLAG,
    CUSTOMER_ORDER_ENABLED_FLAG,
    INTERNAL_ORDER_ENABLED_FLAG,
    SO_TRANSACTIONS_FLAG,
    MTL_TRANSACTIONS_ENABLED_FLAG,
    STOCK_ENABLED_FLAG,
    DESCRIPTION,
    ASSEMBLY_ITEM_ID,
    CONFIGURATOR_FLAG,
    PRICE_LIST_ID,
    ROUNDING_FACTOR,
    PRICING_CONTEXT,
    PRICING_ATTRIBUTE1,
    PRICING_ATTRIBUTE2,
    PRICING_ATTRIBUTE3,
    PRICING_ATTRIBUTE4,
    PRICING_ATTRIBUTE5,
    PRICING_ATTRIBUTE6,
    PRICING_ATTRIBUTE7,
    PRICING_ATTRIBUTE8,
    PRICING_ATTRIBUTE9,
    PRICING_ATTRIBUTE10,
    PRICING_ATTRIBUTE11,
    PRICING_ATTRIBUTE12,
    PRICING_ATTRIBUTE13,
    PRICING_ATTRIBUTE14,
    PRICING_ATTRIBUTE15,
    COMPONENT_CODE,
    LOOP_FLAG,
    INVENTORY_ASSET_FLAG,
    PLANNING_FACTOR,
    OPERATION_SEQ_NUM,
    PARENT_BOM_ITEM_TYPE,
    WIP_SUPPLY_TYPE,
    ITEM_NUM,
    EFFECTIVITY_DATE,
    DISABLE_DATE,
    IMPLEMENTATION_DATE,
    SUPPLY_SUBINVENTORY,
    SUPPLY_LOCATOR_ID,
    COMPONENT_REMARKS,
    CHANGE_NOTICE,
    OPERATION_LEAD_TIME_PERCENT,
    REXPLODE_FLAG,
    COMMON_BILL_SEQUENCE_ID,
    PRIMARY_PATH_FLAG,
    AUTO_REQUEST_MATERIAL,
    v_plan_id,
    v_qty_rate,
    v_mrp_date
    from BOM_EXPLOSION_TEMP;
    delete from BOM_EXPLOSION_TEMP;
    commit;
    END LOOP;
    CLOSE c_isp_models;
    --insert into ZZ_BOM_EXPLOSION_TEMP_SAVE select * from BOM_EXPLOSION_TEMP;
    COMMIT;
    -- Ending of Explosion proxess
    -- Updated on 5th Mar 2007 to populate missing frozen item cost
    OPEN c_frozen_cost;
    LOOP
    FETCH c_frozen_cost INTO v_comp_id, v_item_cost;
    EXIT WHEN c_frozen_cost%NOTFOUND;
    update zz_bom_explosion_temp_save
    set item_cost = v_item_cost
    where component_item_id = v_comp_id;
    commit;
    END LOOP;
    CLOSE c_frozen_cost;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('No_data_found');
    WHEN UTL_FILE.INVALID_PATH THEN
    DBMS_OUTPUT.PUT_LINE('UTL_FILE.INVALID_PATH');
    WHEN UTL_FILE.READ_ERROR THEN
    DBMS_OUTPUT.PUT_LINE('UTL_FILE.READ_ERROR');
    WHEN UTL_FILE.WRITE_ERROR THEN
    DBMS_OUTPUT.PUT_LINE('UTL_FILE.WRITE_ERROR');
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Other stuff');
    END main;
    END ZZ_SCHEDULED_BOMEXPLODE;
    /

    Statistics have been updated? Any missing indices? Any explain plans / tkprof outputs on this one?
    Why don't you put
    select inventory_item_id into v_explodemodel_id
    from mtl_system_items_b
    where segment1 = v_explodemodel
    and organization_id = l_organization_id;inside c_isp_models?
    BULK processing that cursor could also be an option.
    Those were the thoughts that came up first when I saw your code.
    C.

  • Help Required in Tuning a SQL

    Hi All,
    We have a query which is taking hell lot of time in production due to Full Table Scan on the table AP_ACCOUNTING_EVENTS.
    We have then tried to force the index AP_ACCOUNTING_EVENTS_N1 on the query by applying hints.
    Now the table is doing a range scan using index AP_ACCOUNTING_EVENTS_N1.
    But to my surprise, the query with hints is taking even more time than that of query without hint.
    Database: 10.0.2
    and Application : 11.5.10.2
    PFB the query:
    SELECT api.invoice_id,
    SUBSTR(pov.segment1, 1, 5) supplier_code,
    DECODE(pov.segment1,
    'A',
    SUBSTR(api.attribute7, 1, 20),
    SUBSTR(pov.vendor_name, 1, 20)) supplier_name,
    MIN(TRUNC(aae.creation_date)) approval_date
    FROM po_vendors pov, ap_invoices api, ap_accounting_events aae
    WHERE api.payment_status_flag = 'Y'
    AND api.source not in ('A', 'B', 'C')
    AND aae.source_table = 'AP_INVOICES'
    AND aae.creation_date >= sysdate - 2
    AND aae.creation_Date < sysdate
    AND aae.accounting_event_id = aae.ACCOUNTING_EVENT_ID
    AND pov.vendor_id = api.vendor_id
    AND aae.source_id = api.invoice_id
    GROUP BY api.invoice_id,
    SUBSTR(pov.segment1, 1, 5),
    DECODE(pov.segment1,
    'A',
    SUBSTR(api.attribute7, 1, 20),
    SUBSTR(pov.vendor_name, 1, 20))
    Kindly Help.
    Thanks,

    Tuning request
    Take a look at the
    When your query takes too long ...
    HOW TO: Post a SQL statement tuning request - template posting

  • Gurus..Help in understanding PL/SQL Tuning

    Hi Gurus,
    I am trying to understand PL/SQL tuning and I have read few articles on PL/SQL profiler,dbms_trace,tk-prof ect.
    When doing PL/SQL tuning I understand we will take trace from DBMS_PROFILER.
    Can any one tell me step by step procedure for DBMS_PROFILER with some example.
    Once you collect what will be the next steps for PL/SQL tuning.
    My understanding is we cannot tune much in PL/SQL block all we can do is we can take out SQL statement from PL/SQL and tune that
    SQL statement.
    Correct me if I am wrong.
    Thanks in advance.
    Regards
    MMU

    check this one, it may help -
    Re: HOw to check the performance of a pl/sql command

  • Need help to debug SQL Tuning Advisor Error Message

    Hi,
    I am getting an error message while try to get recommendations from the SQL Tuning Advisor.
    Environment:
    Oracle Version:  11.2.0.3.0
    O/S: AIX
    Following is my code:
    declare
    my_task_name  varchar2 (30);
    my_sqltext    clob;
    begin
    my_sqltext := 'SELECT DISTINCT MRKT_AREA AS DIVISION, PROMO_ID,
                    PROMO_CODE,
                    RBR_DTL_TYPE.PERF_DETL_TYP, 
                    RBR_DTL_TYPE.PERF_DETL_DESC,
                    RBR_DTL_TYPE.PERF_DETL_SUB_TYP,
                    RBR_DTL_TYPE.PERF_DETL_SUB_DESC,
                    BU_SYS_ITM_NUM,
                    RBR_CPN_LOC_ITEM_ARCHIVE.CLI_SYS_ITM_DESC,
                    PROMO_START_DATE,
                    PROMO_END_DATE,
                    PROMO_VALUE2,
                    PROMO_VALUE1,
                    EXEC_COMMENTS,
                    PAGE_NUM,
                    BLOCK_NUM,
                    AD_PLACEMENT,
                    BUYER_CODE,
                    RBR_CPN_LOC_ITEM_ARCHIVE.CLI_STAT_TYP,
                    RBR_MASTER_CAL_ARCHIVE.STATUS_FLAG
    FROM  (PROMO_REPT_OWNER.RBR_CPN_LOC_ITEM_ARCHIVE
    INNER JOIN PROMO_REPT_OWNER.RBR_MASTER_CAL_ARCHIVE
    ON (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_PROMO_ID = PROMO_ID)
    AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_PERF_DTL_ID = PERF_DETAIL_ID)
    AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_STR_NBR = STORE_ZONE)
    AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_ITM_ID = ITM_ID))
    INNER JOIN PROMO_REPT_OWNER.RBR_DTL_TYPE
    ON (RBR_MASTER_CAL_ARCHIVE.PERF_DETL_TYP = RBR_DTL_TYPE.PERF_DETL_TYP)
    AND (RBR_MASTER_CAL_ARCHIVE.PERF_DETL_SUB_TYP = RBR_DTL_TYPE.PERF_DETL_SUB_TYP)
    WHERE ( ((MRKT_AREA)=40)
    AND ((RBR_DTL_TYPE.PERF_DETL_TYP)=1)
    AND ((RBR_DTL_TYPE.PERF_DETL_SUB_TYP)=1) )
    AND ((CLI_STAT_TYP)=1 Or (CLI_STAT_TYP)=6)
    AND ((RBR_MASTER_CAL_ARCHIVE.STATUS_FLAG)=''A'')
    AND ( ((PROMO_START_DATE) >= to_date(''2011-10-20'', ''YYYY-MM-DD'')
    And (PROMO_END_DATE) <= to_date(''2011-10-26'', ''YYYY-MM-DD'')) )
    ORDER BY MRKT_AREA';
    my_task_name := dbms_sqltune.create_tuning_task
                                 (sql_text => my_sqltext,
                                  user_name => 'PROMO_REPT_OWNER',
                                  scope     => 'COMPREHENSIVE',
                                  time_limit => 3600,
                                  task_name  => 'Test_Query',
                                  description  => 'Test Query');
    end;
    begin
      dbms_sqltune.execute_tuning_task(task_name => 'Test_Query');
    end;
    set serveroutput on size unlimited;
    set pagesize 5000
    set linesize 130
    set long 50000
    set longchunksize 500000
    SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('Test_Query') FROM DUAL;
    Output:
    snippet .....
    FINDINGS SECTION (1 finding)
    1- Index Finding (see explain plans section below)
    The execution plan of this statement can be improved by creating one or more
    indices.
    Recommendation (estimated benefit: 71.48%)
    - Consider running the Access Advisor to improve the physical schema design
    or creating the recommended index.
    Error: Cannot fetch actions for recommendation: INDEX
    Error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Rationale
    Creating the recommended indices significantly improves the execution plan
    of this statement. However, it might be preferable to run "Access Advisor"
    using a representative SQL workload as opposed to a single statement. This
    will allow to get comprehensive index recommendations which takes into
    account index maintenance overhead and additional space consumption.
    snippet
    Any ideas why I am getting ORA-06502 error?
    Thanks in advance
    Rogers

    Bug 14407401 - ORA-6502 from index recommendation section of DBMS_SQLTUNE output (Doc ID 14407401.8)
    Fixed:
    The fix for 14407401 is first included in
    12.1.0.1 (Base Release)

  • Noob in SQL Tuning seeking help

    I am trying to learn SQL Tuning and the workings of it. I know the first step is probably explain execution plan of the sql statement? My problem is I do not understand what am I suppose to gather from the execution plan.
    SQL> set autotrace traceonly explain
    SQL> select * from employees A
         where A.last_employed =
         ( SELECT TO_CHAR(MAX(TO_DATE(PAY_DATE,'MMRR')),'MMYY')
           FROM PAYROLL_VW1 B
           WHERE B.SSN = A.SSN AND B.PAY_TYPE_CODE IN ('02','12','22','32')
          AND STATUS = 'ACTIVE' AND A.BRANCH=B.BRANCH
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=47427 Card=1 Bytes
              =180)
       1    0   FILTER
       2    1     TABLE ACCESS (FULL) OF 'EMPLOYEES' (TABLE) (Cost=1618 Card
              =297964 Bytes=53633520)
       3    1     SORT (AGGREGATE)
       4    3       VIEW OF 'PAYROLL_VW1' (VIEW) (Cost=2290 Card=2 Bytes=
              46)
       5    4         SORT (UNIQUE) (Cost=2290 Card=2 Bytes=217)
       6    5           UNION-ALL
       7    6             FILTER
       8    7               TABLE ACCESS (FULL) OF 'PAYROLL2012' (TABLE) (C
              ost=2284 Card=1 Bytes=105)
       9    6             FILTER
      10    9               TABLE ACCESS (BY INDEX ROWID) OF 'PAYROLL2011'
              (TABLE) (Cost=4 Card=1 Bytes=112)
      11   10                 INDEX (RANGE SCAN) OF 'PAYROLL2011_IDX1' (IND
              EX) (Cost=3 Card=29)So what do I do with the execution plan? What else do I need to check on it? How do I tune the query?
    Edited by: apex_disco on May 1, 2012 5:57 AM

    I'm not sure how the licensing works. There is a difference between EM and Grid Control. I believe if you just have a single instance, Enterprise Manager is installed and if anything is free I would think that would be. Now, how much of the diagnostic stuff is free? Who knows.
    But it may not matter. If you are just playing around "trying to learn SQL Tuning" say, at home on a Linux box, you can install anything you want and play with it.
    If adding an index sped things up (in your re-written query that now makes sense) then you must have had a fair amount of records in one of those unindexed tables. If you look at the explain plan now it'll probably show the indexes being used, less records searched, less cost, etc. than the other plan.
    But maybe I missed your initial point. Are you trying to learn how to tune queries in general or are you trying to tune this particular query? I assumed the former for my previous replies.
    As to your results, your stats </font>tell at least the high level info. The consistent gets and physical reads went WAY down.
    Initial Statistics
    0 recursive calls
    0 db block gets
    <font color="red"> 1172490142 consistent gets
    4914 physical reads
    191496 redo size</font>
    2340 bytes sent via SQL*Net to client
    329 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    <font color="red">115881 sorts (memory) </font>
    0 sorts (disk)
    0 rows processed
    on those tables and below are my stats now. I think it's a major improvement. Time elapsed has greatly been reduced to 00:00:00.65
    Tuned Statistics
    352 recursive calls
    0 db block gets
    <font color="red">31498 consistent gets
    1101 physical reads
    0 redo size
    </font>
    2340 bytes sent via SQL*Net to client
    329 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    <font color="red">13 sorts (memory) </font>
    0 sorts (disk)
    0 rows processed
    Edited by: Gaff on May 1, 2012 1:18 PM

  • SQL tuning

    Hi All,
    I am new to tuning.
    Can somebody help me in tuning this SQL query.
    SELECT pppd.productid, pppd.sequencenumber, pppd.priceareaid, pppd.startdate, pppd.qtyfrom, pppd.enddate, pppd.price,
    pppd.articleid, pppd.customerid, pppd.distributorid, pppd.supplierid, pppd.adviceprice, pppd.customergroupid, pppd.dimensionvalue1, pppd.dimensionvalue2,
    pppd.dimensionvalue3, pppd.dimensionvalue4, pppd.dimensionvalue5, pppd.dimensionvalue6, pppd.discountpercentage,
    pppd.promotionindicator, pppd.vatindicator
    FROM PPM_PRODUCTPRICE pppd WHERE
    pppd.validindicator=1 AND pppd.startdate <= SYSDATE AND NVL(pppd.enddate,SYSDATE +1) >= SYSDATE
    AND NOT EXISTS
    (SELECT 1 FROM PPM_PRODUCTPRICE pppd2 WHERE pppd2.productid = pppd.productid
    AND NOT (pppd2.sequencenumber = pppd.sequencenumber)
    AND pppd2.priceareaid = pppd.priceareaid
    AND (NVL(pppd2.supplierid,9999999999) = NVL(pppd.supplierid,9999999999) )
    AND (NVL(pppd2.distributorid,9999999999) = NVL(pppd.distributorid,9999999999))
    AND (NVL(pppd2.customerid,9999999999) = NVL(pppd.customerid,9999999999) )
    AND (NVL(pppd2.customergroupid,9999999999) = NVL(pppd.customergroupid,9999999999))
    AND (NVL(pppd2.articleid,9999999999) = NVL(pppd.articleid,9999999999))
    AND (NVL(pppd2.dimensionvalue1,9999999999)=NVL(pppd.dimensionvalue1,9999999999))
    AND (NVL(pppd2.dimensionvalue2,9999999999)=NVL(pppd.dimensionvalue2 ,9999999999))
    AND (NVL(pppd2.dimensionvalue3,9999999999)=NVL(pppd.dimensionvalue3 ,9999999999))
    AND (NVL(pppd2.dimensionvalue4,9999999999)=NVL(pppd.dimensionvalue4 ,9999999999))
    AND (NVL(pppd2.dimensionvalue5,9999999999)=NVL(pppd.dimensionvalue5 ,9999999999))
    AND (NVL(pppd2.dimensionvalue6,9999999999)=NVL(pppd.dimensionvalue6 ,9999999999))
    AND pppd2.qtyfrom = pppd.qtyfrom AND pppd2.startdate BETWEEN pppd.startdate AND SYSDATE
    AND NVL(pppd2.enddate,SYSDATE +1) >= SYSDATE )
    AND productid= 30700

    At a minimum I think you should search the forums for SQL Tuning because I know there is some sort of sticked post identifying the GENERAL steps you should follow to tune a query. Us being here trying to help cannot tune a blanket SQL statement for the most part that is given to us. We don't know so many things that it is hard to form a cohesive answer. Some questions that arise are:
    1. What version of Oracle are you using?
    2. What are the table structures?
    3. What is the question you are truly trying to answer?
    4. What is the explain plan saying?
    5. What is your tuning goal (faster execution? lower I/O?)?
    5. etc.....
    At a minimum it appears that you are using the NVL function a lot and I would probably wager a guess that it is preventing you from using indexes on all those ID columns, if there are any.
    Hope this helps!
    Edited by: Centinul on Sep 12, 2008 12:31 PM
    Here is the link to the post I was discussing: When your query takes too long ...

  • SQL tuning for a query

    Hello Gurus,
    I have 2 tables. One with a million records and the other with 50,000 records.
    Both have an account id column. The first table contains all the customer accounts and the second table has all the bad debt accounts.
    My problem is I need to update the status column in the first table for all the bad debt records from the second table.
    As I’m still a beginner in SQL tuning, can someone please help me write this query effi ciently considering the table sizes.
    tables description:
    SQL> desc customer
    Name Null? Type
    ACNTNO NUMBER(8)
    STATUS VARCHAR2(6)
    SQL> desc badcustomer
    Name Null? Type
    ACNTNO NUMBER(8)
    The sql I could come up with is:
    update customer outer
    set status='closed'
    where acntno exists (select 'X'
    from badcustomer
    where acntno=outer.acntno);
    Thanks for taking time to read this post.

    To post formatted code, put the {noformat} {noformat}- tag before and after your examples.
    When you post:
    {noformat} select *
    from dual;
    {noformat}
    it will appear as: select *
    from dual;
    on the forum.
    The FAQ will tell you more: http://forums.oracle.com/forums/help.jspa                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Need help in Fine Tuning this query

    Hello Gurus,
    The below sql's are from Application engine . It runs more than 5 hours to complete . I have fewer knowledge on sql tuning and request to repharse the sql's to perform and complete the program within One hour.
    PS_GE_GAPS_INV is going thru Range Scan and TAO table is going for Full Table Scan.
    I have indexes on PS_GE_GAPS_INV which is the main table. Iam joining TAO(Temporary table) and Main Table with common keys defined thru Application designer.
    Appreciate all your help.
    First Sql :
    UPDATE PS_GE_GAPS_INV
    SET LAST_DTTM_UPDATE = TO_DATE(SYSDATE,'DD-MM-YY-HH24.MI.SS."000000"')
    WHERE
    (BUSINESS_UNIT,RECONCILE_DT,GE_INVENTORY_SOURC,TAG_NUMBER,ASSET_ID,SERIAL_ID_TR,S
    ERIAL_ID,GE_CUSTODIAN_PHY,CUSTODIAN,DEPTID_P,DEPTID,CHARTFIELD2,CHARTFIELD3,GE_GA
    P_RULE,SEQUENCENO) IN (
    SELECT DISTINCT B.BUSINESS_UNIT
    ,B.RECONCILE_DT
    ,B.GE_INVENTORY_SOURC
    ,B.TAG_NUMBER
    ,B.ASSET_ID
    ,B.SERIAL_ID_TR
    ,B.SERIAL_ID
    ,B.GE_CUSTODIAN_PHY
    ,B.CUSTODIAN
    ,B.DEPTID_P
    ,B.DEPTID
    ,B.CHARTFIELD2
    ,B.CHARTFIELD3
    ,B.GE_GAP_RULE
    ,B.SEQUENCENO
    FROM PS_GE_GAPS_TAO A
    , PS_GE_GAPS_INV B
    WHERE A.BUSINESS_UNIT = B.BUSINESS_UNIT
    AND (A.RECONCILE_DT = B.RECONCILE_DT
    OR (A.RECONCILE_DT IS NULL
    AND B.RECONCILE_DT IS NULL))
    AND A.GE_GAP_RULE = B.GE_GAP_RULE
    AND A.SEQUENCENO = B.SEQUENCENO
    AND A.GE_INVENTORY_SOURC = B.GE_INVENTORY_SOURC
    AND A.TAG_NUMBER = B.TAG_NUMBER
    AND A.ASSET_ID = B.ASSET_ID
    AND A.SERIAL_ID_TR = B.SERIAL_ID_TR
    AND A.SERIAL_ID = B.SERIAL_ID
    AND A.GE_CUSTODIAN_PHY = B.GE_CUSTODIAN_PHY
    AND A.CUSTODIAN = B.CUSTODIAN
    AND A.DEPTID_P = B.DEPTID_P
    AND A.DEPTID = B.DEPTID
    AND A.CHARTFIELD2 = B.CHARTFIELD2
    AND A.CHARTFIELD3 = B.CHARTFIELD3
    AND A.BUSINESS_UNIT = %Bind(BUSINESS_UNIT)
    AND A.RECONCILE_DT = %Bind(RECONCILE_DT)
    AND A.PROCESS_INSTANCE =%ProcessInstance)
    Second Sql :
    INSERT INTO PS_GE_GAPS_INV (BUSINESS_UNIT
    , RECONCILE_DT
    , GE_GAP_RULE
    , SEQUENCENO
    , GE_INVENTORY_SOURC
    , TAG_NUMBER
    , ASSET_ID
    , SERIAL_ID_TR
    , SERIAL_ID
    , GE_CUSTODIAN_PHY
    , CUSTODIAN
    , VENDOR_ID
    , DEPTID_P
    , DEPTID
    , CHARTFIELD2
    , CHARTFIELD3
    , GE_GAP_STATUS
    , CERTMESSAGE
    , LAST_DTTM_UPDATE
    , COMMENT1
    , ASSET_STATUS
    , DESCR1
    , DESCR
    , NAME1_AC
    , NAME1
    , CATEGORY_DESCR
    , CATEGORY
    , OPERATING_UNIT_TO
    , OPERATING_UNIT
    , PROJECT_ID_P
    , PROJECT_ID
    , PRODUCT_TO
    , PRODUCT
    , INV_ITEM_ID
    , ITEM_FIELD_C30_B
    , ITEM_FIELD_C30_C)
    SELECT DISTINCT B.BUSINESS_UNIT
    , B.RECONCILE_DT
    , B.GE_GAP_RULE
    , B.SEQUENCENO
    , B.GE_INVENTORY_SOURC
    , B.TAG_NUMBER
    , B.ASSET_ID
    , B.SERIAL_ID_TR
    , B.SERIAL_ID
    , B.GE_CUSTODIAN_PHY
    , B.CUSTODIAN
    , B.VENDOR_ID
    , B.DEPTID_P
    , B.DEPTID
    , B.CHARTFIELD2
    , B.CHARTFIELD3
    , B.GE_GAP_STATUS
    , B.CERTMESSAGE
    , B.LAST_DTTM_UPDATE
    , B.COMMENT1
    , B.ASSET_STATUS
    , B.DESCR1
    , B.DESCR
    , B.NAME1_AC
    , B.NAME1
    , B.CATEGORY_DESCR
    , B.CATEGORY
    , B.OPERATING_UNIT_TO
    , B.OPERATING_UNIT
    , B.PROJECT_ID_P
    , B.PROJECT_ID
    , B.PRODUCT_TO
    , B.PRODUCT
    , B.INV_ITEM_ID
    , B.ITEM_FIELD_C30_B
    , B.ITEM_FIELD_C30_C
    FROM PS_GE_GAPS_TAO B
    WHERE B.BUSINESS_UNIT = %Bind(BUSINESS_UNIT)
    AND B.RECONCILE_DT =%Bind(RECONCILE_DT)
    AND NOT EXISTS (
    SELECT 'X'
    FROM PS_GE_GAPS_INV A
    WHERE B.BUSINESS_UNIT = A.BUSINESS_UNIT
    AND (B.RECONCILE_DT = A.RECONCILE_DT
    OR (B.RECONCILE_DT IS NULL
    AND A.RECONCILE_DT IS NULL))
    AND B.GE_GAP_RULE = A.GE_GAP_RULE
    AND B.SEQUENCENO = A.SEQUENCENO
    AND B.GE_INVENTORY_SOURC = A.GE_INVENTORY_SOURC
    AND B.TAG_NUMBER = A.TAG_NUMBER
    AND B.ASSET_ID = A.ASSET_ID
    AND B.SERIAL_ID_TR = A.SERIAL_ID_TR
    AND B.SERIAL_ID = A.SERIAL_ID
    AND B.GE_CUSTODIAN_PHY = A.GE_CUSTODIAN_PHY
    AND B.CUSTODIAN = A.CUSTODIAN
    AND B.DEPTID_P = A.DEPTID_P
    AND B.DEPTID = A.DEPTID
    AND B.CHARTFIELD2 = A.CHARTFIELD2
    AND B.CHARTFIELD3 = A.CHARTFIELD3)
    Third Sql :
    INSERT INTO PS_GE_GAPST_TAO (BUSINESS_UNIT
    , RECONCILE_DT
    , GE_GAP_RULE
    , SEQUENCENO
    , GE_INVENTORY_SOURC
    , TAG_NUMBER
    , ASSET_ID
    , SERIAL_ID_TR
    , GE_CUSTODIAN_PHY
    , SERIAL_ID
    , CUSTODIAN
    , DEPTID_P
    , DEPTID
    , CHARTFIELD2
    , CHARTFIELD3
    , PROCESS_INSTANCE
    , GE_GAP_STATUS
    , CERTMESSAGE
    , LAST_DTTM_UPDATE
    , COMMENT1
    , ASSET_STATUS
    , DESCR1
    , DESCR
    , VENDOR_ID
    , NAME1_AC
    , NAME1
    , CATEGORY_DESCR
    , CATEGORY
    , OPERATING_UNIT_TO
    , OPERATING_UNIT
    , PROJECT_ID_P
    , PROJECT_ID
    , PRODUCT_TO
    , PRODUCT
    , INV_ITEM_ID
    , ITEM_FIELD_C30_B
    , ITEM_FIELD_C30_C)
    SELECT DISTINCT BUSINESS_UNIT
    , RECONCILE_DT
    , GE_GAP_RULE
    , SEQUENCENO
    , GE_INVENTORY_SOURC
    , TAG_NUMBER
    , ASSET_ID
    , SERIAL_ID_TR
    , GE_CUSTODIAN_PHY
    , SERIAL_ID
    , CUSTODIAN
    , DEPTID_P
    , DEPTID
    , CHARTFIELD2
    , CHARTFIELD3
    , %ProcessInstance
    , GE_GAP_STATUS
    , CERTMESSAGE
    , LAST_DTTM_UPDATE
    , COMMENT1
    , ASSET_STATUS
    , DESCR1
    , DESCR
    , VENDOR_ID
    , NAME1_AC
    , NAME1
    , CATEGORY_DESCR
    , CATEGORY
    , OPERATING_UNIT_TO
    , OPERATING_UNIT
    , PROJECT_ID_P
    , PROJECT_ID
    , PRODUCT_TO
    , PRODUCT
    , INV_ITEM_ID
    , ITEM_FIELD_C30_B
    , ITEM_FIELD_C30_C
    FROM ps_ge_gaps_inv B
    WHERE b.business_unit = %Bind(BUSINESS_UNIT)
    AND b.reconcile_dt =%Bind(RECONCILE_DT)
    AND NOT EXISTS (
    SELECT 'X'
    FROM ps_ge_gaps_tao a
    WHERE A.BUSINESS_UNIT = B.BUSINESS_UNIT
    AND (A.RECONCILE_DT = B.RECONCILE_DT
    OR (A.RECONCILE_DT IS NULL
    AND B.RECONCILE_DT IS NULL))
    AND A.GE_GAP_RULE = B.GE_GAP_RULE
    AND A.SEQUENCENO = B.SEQUENCENO
    AND A.GE_INVENTORY_SOURC = B.GE_INVENTORY_SOURC
    AND A.TAG_NUMBER = B.TAG_NUMBER
    AND A.ASSET_ID = B.ASSET_ID
    AND A.SERIAL_ID_TR = B.SERIAL_ID_TR
    AND A.SERIAL_ID = B.SERIAL_ID
    AND A.GE_CUSTODIAN_PHY = B.GE_CUSTODIAN_PHY
    AND A.CUSTODIAN = B.CUSTODIAN
    AND A.DEPTID_P = B.DEPTID_P
    AND A.DEPTID = B.DEPTID
    AND A.CHARTFIELD2 = B.CHARTFIELD2
    AND A.CHARTFIELD3 = B.CHARTFIELD3 )
    Best Regards,
    Bala

    Are the statistics on your temp table up to date?. Either add an %UpdateStats SQL step after loading the temp table, or check the following notes if your database is Oracle and is a relatively current version:
    pscbo_stats - Improving Statistics in Oracle RDBMS for PeopleSoft Enterprise [ID 1322888.1]
    E-ORA PeopleSoft Enterprise Performance on Oracle 11g Database [ID 1460735.1]
    Regards,
    Bob

  • Oracle 10g SQL Tuning Advisor

    I am working as a junior DBA. I tried to tune a query using SQL Tuning Advisor that is with DBMS_SQLTUNE.I have created the tuning task successfully with DBMS_SQLTUNE.create_tuning_task.But when i execute the tuning task with EXEC DBMS_SQLTUNE.execute_tuning_task() i got an error like
    SQL> EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three');
    BEGIN DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three'); END;
    ERROR at line 1:
    ORA-00081: address range [0x60000000000A7D70, 0x60000000000A7D74) is not
    readable
    ORA-00600: internal error code, arguments: [kesatmGetSqlStats:optCost], [], [],
    ORA-06512: at "SYS.PRVT_ADVISOR", line 1624
    ORA-06512: at "SYS.DBMS_ADVISOR", line 186
    ORA-06512: at "SYS.DBMS_SQLTUNE", line 1008
    ORA-06512: at line 1The oracle version is Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi. The OS is HP-UX. The version is HP-UX B.11.23 U ia64.
    I tried to execute DBMS_SQLTUNE as DWH user.I have granted the advisor,DROP ANY SQL PROFILE,ALTER ANY SQL PROFILE,CREATE ANY SQL PROFILE privileges and DBA roles to the DWH user. The way i ran DBMS_SQLTUNE is, first i logged in as DWH user and i tried to execute the query for getting the SQL_ID for the query. For getting the SQL_ID i selected the SQL_ID column value for the DWH user session from v$session.I kept that query executing and meanwhile i opened another session as DWH user and created the tuning task as follows
    DECLARE
      l_sql_tune_task_id  VARCHAR2(100);
    BEGIN
      l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
                              sql_id      => 'b65fj39dkkb9v',
                              scope       => DBMS_SQLTUNE.scope_limited,
                              time_limit  => 3600,
                              task_name   => 'rep_three',
                              description => 'Report Tuning');
      DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
    END;
    /The creation of tuning task was successful.And i executed the tuning task as follows
    EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three');The above mentioned errors came when i executed the tuning task.
    I am also adding the query which i have tried to tune
    select * from dwh.beneficiary_dim BEN_DIM,
                     (Select adr_dp_id,
                   adr_account_no,
                   ADR_ADDRESS_LINE_1 || ' ' ||
                   ADR_ADDRESS_LINE_2 || ' ' ||
                   ADR_ADDRESS_LINE_3 || ' ' ||
                   ADR_ADDRESS_LINE_4 as ADDRESS,
                   adr_pin_code,adr_phone_no,adr_fax_no
              from dwh.beneficiary_address_dim where adr_type_id = 1) PERMANENT_ADD_DIM,
           (Select adr_dp_id,
                   adr_account_no,
                   ADR_ADDRESS_LINE_1 || ' ' ||
                   ADR_ADDRESS_LINE_2 || ' ' ||
                   ADR_ADDRESS_LINE_3 || ' ' ||
                   ADR_ADDRESS_LINE_4 as ADDRESS,
                   adr_pin_code,adr_phone_no,adr_fax_no
              from dwh.beneficiary_address_dim where adr_type_id = 2) BANK_ADD_DIM,
           (Select adr_dp_id,
                   adr_account_no,
                   ADR_ADDRESS_LINE_1 || ' ' ||
                   ADR_ADDRESS_LINE_2 || ' ' ||
                   ADR_ADDRESS_LINE_3 || ' ' ||
                   ADR_ADDRESS_LINE_4 as ADDRESS,
                   adr_pin_code,adr_phone_no,adr_fax_no
              from dwh.beneficiary_address_dim where adr_type_id = 3) NOM_GUARDIAN_ADD_DIM,
           (Select adr_dp_id,
                   adr_account_no,
                   ADR_ADDRESS_LINE_1 || ' ' ||
                   ADR_ADDRESS_LINE_2 || ' ' ||
                   ADR_ADDRESS_LINE_3 || ' ' ||
                   ADR_ADDRESS_LINE_4 as ADDRESS,
                   adr_pin_code,adr_phone_no,adr_fax_no
              from dwh.beneficiary_address_dim where adr_type_id = 4) CORR_ADD_DIM,
           (Select adr_dp_id,
                   adr_account_no,
                   ADR_ADDRESS_LINE_1 || ' ' ||
                   ADR_ADDRESS_LINE_2 || ' ' ||
                   ADR_ADDRESS_LINE_3 || ' ' ||
                   ADR_ADDRESS_LINE_4 as ADDRESS,
                   adr_pin_code,adr_phone_no,adr_fax_no
              from dwh.beneficiary_address_dim where adr_type_id = 6) MINOR_ADDRESS,
                     (Select rp.requestid as requestid,
    decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,1,instr(rp.value,'|',1,1)-1),'','ALL',substr(rp.value,1,instr(rp.value,'|',1,1)-1))) as Name,
    decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,(instr(rp.value,'|',1,1)+1),((instr(rp.value,'|',1,2))-(instr(rp.value,'|',1,1)+1))),'','ALL',substr(rp.value,(instr(rp.value,'|',1,1)+1),((instr(rp.value,'|',1,2))-(instr(rp.value,'|',1,1)+1))))) as Address,
    decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,(instr(rp.value,'|',1,2)+1)),'','ALL',substr(rp.value,(instr(rp.value,'|',1,2)+1)))) as PAN
                      from disadmin.requestparameters rp, disadmin.requestparameters rps, disadmin.reportrequests rr
                     where rp.parameterid = 'CNAS_PARAM_VALUE'   
                       and rr.status = 'A'
                       and rp.requestid = rr.id
                       and rp.id = rps.id) P_PARAM_VALUE,
                     (Select rp.requestid as requestid, rp.value as Type
                        from disadmin.requestparameters rp, disadmin.reportrequests rr
                       where rp.parameterid = 'CNAS_NAME_TYPE'
                         and rr.status = 'A'
                         and rp.requestid = rr.id)  P_NAME_TYPE,
                     (Select rp.requestid as requestid, rp.value as Addtype
                        from disadmin.requestparameters rp, disadmin.reportrequests rr
                       where rp.parameterid = 'CNAS_ADDRESS_TYPE'
                         and rr.status = 'A'
                         and rp.requestid = rr.id) P_ADDRESS_TYPE    
       where ( 1= case when P_NAME_TYPE.Type = 'F' then
                   case when BEN_DIM.BDM_FIRST_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
                             or BEN_DIM.BDM_FIRST_HOLDER_SURNAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_SURNAME||'%','%'||P_PARAM_VALUE.Name||'%')
                        then 1
                   else null end
                 else            
                   case when P_NAME_TYPE.Type = 'ALL' then
                     case when (BEN_DIM.BDM_FIRST_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
                                or BEN_DIM.BDM_FIRST_HOLDER_SURNAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_SURNAME||'%','%'||P_PARAM_VALUE.Name||'%'))
                                and BEN_DIM.BDM_SECOND_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_SECOND_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
                                and BEN_DIM.BDM_THIRD_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_THIRD_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
                          then 1
                     else null end
                   else null end 
                 end )                    
         and BEN_DIM.BDM_IT_PAN like DECODE(P_PARAM_VALUE.PAN,'ALL','%'||BEN_DIM.BDM_IT_PAN||'%','%'||P_PARAM_VALUE.PAN||'%')
         and (1 = case when P_ADDRESS_TYPE.ADDTYPE = 1 then
                         case when instr(PERMANENT_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',PERMANENT_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0
                              then 1
                         else null end
                       when P_ADDRESS_TYPE.ADDTYPE = 3 then
                         case when instr(NOM_GUARDIAN_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',NOM_GUARDIAN_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0 
                           then 1
                         else null end 
                       when P_ADDRESS_TYPE.ADDTYPE = 4 then
                         case when instr(CORR_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',CORR_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0 
                           then 1
                         else null end
                       when P_ADDRESS_TYPE.ADDTYPE = 6 then
                         case when instr(MINOR_ADDRESS.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',MINOR_ADDRESS.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0 
                           then 1
                         else null end 
                  else null end );The above query also tries to access some tables from another user DISADMIN. Could you please help me in solving this problem while using SQL Tuning Advisor ? I am the only DBA here.

    will the rows really be updated just by using the package?Considering DMLs
    SQL> select * from test
      2  /
            NO
             1
             2
    SQL> ed
    Wrote file afiedt.buf
      1  DECLARE
      2   my_task_name VARCHAR2(30);
      3  my_sqltext   CLOB;
      4  BEGIN
      5  my_sqltext := 'insert into test values (3)';
      6  my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
      7   sql_text    => my_sqltext,
      8  task_name   => 'my_sql_tuning_task');
      9* end;
    SQL> /
    PL/SQL procedure successfully completed.
    SQL> BEGIN
      2  DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'my_sql_tuning_task' );
      3  END;
      4  /
    PL/SQL procedure successfully completed.
    SQL> select * from test
      2  /
            NO
             1
             2
    SQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( 'my_sql_tuning_task')
      2    FROM DUAL;
    DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
    GENERAL INFORMATION SECTION
    Tuning Task Name   : my_sql_tuning_task
    Tuning Task Owner  : TEST
    Scope              : COMPREHENSIVE
    Time Limit(seconds): 1800
    Completion Status  : COMPLETED
    Started at         : 03/27/2008 05:16:14
    Completed at       : 03/27/2008 05:16:16
    DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
    Schema Name: TEST
    SQL ID     : gwkmgmyj9824t
    SQL Text   : insert into test values (3)
    There are no recommendations to improve the statement.
    -------------------------------------------------------------------------------Adith

  • List Sql Tuning Sets

    I am hoping for a quick easy answer on this. grin
    We have been generating a number of Sql Tuning Sets via Grid Control and now we want to export them. Of course, they all have these awful, non-descriptive names. How do we list them? I was unable to find any help in the "automatic SQL tuning" guide (Chapter 12) of the Performance Guide, and browsing the DBA_* and other fixed views has not revealed anything, yet.

    Does this help?
    BANPROD_SQL > select id,name,owner,description,created from WRI$_SQLSET_DEFINITIONS order by 1 desc;
    ID NAME OWNER DESCRIPTION CREATED
    10 TUNING_SET_1141930799317 ORACLE Automatically generated by ADDM 09-MAR-06
    9 TUNING_SET_1141921159123 ORACLE Automatically generated by ADDM 09-MAR-06
    8 TUNING_SET_1141831053351 ORACLE Automatically generated by ADDM 08-MAR-06
    7 TUNING_SET_1141826801391 ORACLE Automatically generated by ADDM 08-MAR-06
    6 TOP_SQL_1141752418284 ORACLE Automatically generated by Top SQL 07-MAR-06
    5 TOP_SQL_1141749589578 ORACLE Automatically generated by Top SQL 07-MAR-06
    4 TOP_SQL_1141747575814 ORACLE Automatically generated by Top SQL 07-MAR-06
    2 TOP_SQL_1141746930242 ORACLE Automatically generated by Top SQL 07-MAR-06
    1 TUNING_SET_1141660362671 ORACLE Automatically generated by ADDM 06-MAR-06
    9 rows selected.

  • Change automatic SQL Tuning Advisor time

    Hi All,
    can anyone help me in changing "automatic SQL Tuning Advisor" job timingsm because currently it is scheduled during peak hours , i want to change it to evening 6 pm daily.Because during peak hours it is taking more cpu and taking one hour.
    Wed May 08 08:00:10 2013
    Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
    Wed May 08 08:05:47 2013
    thanks
    Mapps

    Hello,
    Here's what you can do,
    Create a new window to the time you want it to run:
    EXEC dbms_scheduler.create_window(window_name => 'YOUR_WINDOW_NAME',
    duration => numtodsinterval(1, 'hour'),
    resource_plan => 'DEFAULT_MAINTENANCE_PLAN',
    repeat_interval => 'FREQ=DAILY;BYHOUR=18;BYMINUTE=0;BYSECOND=0');>
    The above window would be in effect from 6 pm to 7 pm.
    Then, disable automatic sql_tuning and then re-enable it to run on the window you just created:
    EXEC DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'sql tuning advisor',
    operation => NULL,
    window_name => NULL);>
    and now set it to run to your window:
    EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'sql tuning advisor',
    operation => NULL,
    window_name => 'YOUR_WINDOW_NAME');

Maybe you are looking for

  • Problem in displaying Array Position?

    hi, I am having a problem in displaying the array position of a sorted Array for ex: int[] a = {4,3,1,7}for sorting the array i am using Arrays.sort(a); then the output will be a = {1,3,4,7}now according to this i need to display the array position o

  • Credit card charged for movie rental even though I have an iTunes credit. Why?

    i have a iTunes credit but I just rented a movie and my credit card was charged instead of using the iTunes credit. How do I use the credit when I have one available?

  • Inbound Delivery Monitor

    Hi All i have this situation which is confusing. Goods have been despatched using the inbound delivery transaction. Goods have been received at the requesting plant. However this inbound delivery still appears on the inbound delivery monitoring repor

  • Why Won't Mail Icon Stop Turning?

    I have tried both my accounts for sending mail via Mac mail. The circle just keeps turning. I finally have to quit Mail. It's so annoying. What could cause this? My setting are all correct.

  • External edits and disk usage

    Does external editings result to higher disk usage? I've a master non-referenced image (6MB) stored in Aperture. Subsequently, I've modified it using an external editor. After each edition, the modification are stored as separate versions under Apert