Hi Tom !
Thanks for replying to my question.
Please find below the tkprof output of the sql query :-
insert into history(history_date,deal_seq_num,leg_seq_num,employee_num,consultant_ref,
currency_cd,amount,operator_cd,product_type,leg_type,start_date,
screen_changed,table_name,column_name,column_desc,before_image,
after_image,doc_num,doc_desc,old_status,new_status,reprint_ind,
receipt_num,pay_phase,pay_method,fulfilment_date,max_end_date,
event_type,desc_num,event_ref,consultation_ref,chkey_value1,date_time,branch_budget_ctr,
assoc_pay_method, editing_branch_budget_ctr, activity_type)
select E.date_lu,E.key_value2,null,E.employee_num,null,null,null,null,null,null,null,
null,E.table_name,ED.fieldname,null,DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),null,null,
null,null,null,null,null,null,null,null,E.event_type,ED.fieldname,E.event_ref,
E.key_value1,null, sysdate, 434 ,null,null,null
from event E, event_detail ED
where(E.event_ref=ED.event_ref)
and(E.key_value1=12830364)
and(E.table_name='CONSULTATION')
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = ED.branch_budget_ctr
UNION ALL
-- ** Select Consultation details for Costing, Manifest Link, Tickets and Travel Deal
select E.date_lu,E.key_value2,null,E.employee_num,null,null,null,TD.operator_cd,
TD.product_type,null,null,null,E.table_name,ED.fieldname,null,
DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),
null,null,null,null,null,null,null,null,null,null,
E.event_type,ED.fieldname,E.event_ref,E.key_value1,null, sysdate, 434,null,null,null
from event E, event_detail ED, travel_deal TD
where(E.event_ref=ED.event_ref)
and(E.key_value1=12830364)
and(TD.consultation_ref=12830364)
and(E.key_value1=TD.consultation_ref)
and(E.key_value2=TD.deal_seq_num)
and(E.table_name in('COSTING','MANIFEST_LINK','TICKETS','TRAVEL_DEAL'))
and E.branch_budget_ctr = 434
and e.branch_budget_ctr = ED.branch_budget_ctr
and e.branch_budget_ctr = TD.branch_budget_ctr
UNION ALL
/* Costing Lines Adjustment */
select e.date_lu,e.key_value2,null,e.employee_num,s.consultant_ref,null,null,
td.operator_cd,td.product_type,null,null,null,e.table_name,'Costing Added ( Deal '
||td.deal_seq_num||' )',null,(coalesce(c.description,cc.cost_code_desc)),
to_char(c.quantity_involved*(c.cost_unit_val*decode(cc.trav_debit_credit_ind,'cr',-1,1)),'fm9999999999999999.00'),
null,null,e.cash_id,null,null,null,null,null,null,null,
e.event_type,null,e.event_ref,e.key_value1,null, sysdate, 434 ,null,null,null
from event e,costing c,staff s,travel_deal td,cost_code cc
where e.key_value1= 12830364
and td.consultation_ref=e.key_value1
and td.deal_seq_num=e.key_value2
and td.branch_budget_ctr=e.branch_budget_ctr
and c.consultation_ref=e.key_value1
and c.deal_seq_num=e.key_value2
and c.costing_seq_num=e.key_value3
and e.employee_num=s.employee_num
and e.table_name='COSTING'
and c.cost_cd=cc.cost_cd
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = c.branch_budget_ctr
and e.branch_budget_ctr = s.branch_budget_ctr
and c.branch_budget_ctr = cc.branch_budget_ctr
UNION ALL
/* Retrieve any deleted events */
select E.date_lu,E.key_value2,null,E.employee_num,null,null,null,null,null,null,null,null,
E.table_name,null,null,'Row deleted from '||E.table_name,null,null,null,null,
null,null,null,null,null,null,null,E.event_type,null,E.event_ref,
E.key_value1,null, sysdate, 434 ,null,null,null
from event E
where(E.key_value1=12830364)
and (E.table_name in ('TRAVEL_LEG','MANIFEST','MANIFEST_LINK'))
and (E.event_type='DELETE')
and e.branch_budget_ctr = 434
UNION ALL
/* Select details for FE Deal */
select e.date_lu,e.key_value2,null,e.employee_num,null,fd.currency_cd,fd.base_amt,null,null,
null,null,null,e.table_name,ed.fieldname,null,
DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),
null,null,null,null,null,null,null,null,null,null,e.event_type,ed.fieldname,
e.event_ref,e.key_value1,null, sysdate, 434 ,null,null,null
from event e,event_detail ed,fe_deal fd
where(e.event_ref=ed.event_ref)
and(e.key_value1=12830364)
and(e.key_value1=fd.consultation_ref)
and(e.key_value2=fd.deal_seq_num)
and(e.table_name='FE_DEAL')
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = ed.branch_budget_ctr
and e.branch_budget_ctr = fd.branch_budget_ctr
UNION ALL
-- /* Select details for Manifest */
select e.date_lu,e.key_value2,null,e.employee_num,null,null,null,null,null,null,null,null,
e.table_name,ed.fieldname,null,DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),null,null,null,
null,null,null,null,null,null,null,e.event_type,ed.fieldname,e.event_ref,
e.key_value1,null, sysdate, 434 ,null,null,null
from event e, event_detail ed
where(e.event_ref=ed.event_ref)
and(e.key_value1 = 12830364)
and(e.table_name='MANIFEST')
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = ed.branch_budget_ctr
UNION ALL
-- /* Select details for Travel Leg */
select /* + index pk149, pk299 */ e.date_lu,tl.deal_seq_num,tl.leg_seq_num,e.employee_num,null,null,null,
td.operator_cd,td.product_type,tl.leg_type,to_date(tl.start_date,'YYYY-MM-DD'),null,e.table_name,
ed.fieldname,null,DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),null,null,null,null,null,
null,null,null,null,null,e.event_type,ed.fieldname,e.event_ref,
e.key_value1,null, sysdate, 434,null,null,null
from event e,event_detail ed,travel_deal td,travel_leg tl
where(e.event_ref=ed.event_ref)
and(e.key_value1=12830364)
and(tl.consultation_ref=12830364)
and(e.key_value1=tl.consultation_ref)
and(e.key_value2=tl.deal_seq_num)
and(e.key_value3=tl.leg_seq_num)
and(td.consultation_ref=tl.consultation_ref)
and(td.deal_seq_num=tl.deal_seq_num)
and(e.table_name='TRAVEL_LEG')
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = ed.branch_budget_ctr
and e.branch_budget_ctr = tl.branch_budget_ctr
and tl.branch_budget_ctr = td.branch_budget_ctr
UNION ALL
-- /* Select details for Travel Deal */
select e.date_lu,e.key_value2,null,e.employee_num,s.consultant_ref,null,null,
td.operator_cd,td.product_type,null,null,null,e.table_name,'Deal Created ( Deal '
||td.deal_seq_num||' ) Status '||ds.deal_status_desc as deal_message,
td.bkg_ref_num,'Cash ID '||e.cash_id,'Physical Device '||e.physical_device_num,
null,null,null,null,null,null,null,null,null,null,e.event_type,null,e.event_ref,e.key_value1,
e.chkey_value1, sysdate, 434 ,null,null,null
from event e,travel_deal td,deal_status ds,staff s
where(e.key_value1=12830364)
and(td.consultation_ref=e.key_value1)
and(td.deal_seq_num=e.key_value2)
and(e.status=ds.deal_status_cd)
and(e.employee_num=s.employee_num)
and((e.event_type='INSERT')
and(e.table_name='TRAVEL_DEAL'))
and e.branch_budget_ctr = 434
and e.branch_budget_ctr = td.branch_budget_ctr
and e.branch_budget_ctr = s.branch_budget_ctr
UNION ALL
-- inter-branch activity report
SELECT e.date_lu,e.key_value2,null,e.employee_num,null,
null,null,null,null,null,null,
null,e.table_name,ed.fieldname,null,DBMS_LOB.SUBSTR(ED.before_image,DBMS_LOB.getlength(ED.before_image),1),
DBMS_LOB.SUBSTR(ED.after_image,DBMS_LOB.getlength(ED.after_image),1),null,null,null,null,null,
null,null,null,null,null,
null,ed.fieldname,e.event_ref, e.key_value1,null, sysdate, 434,null,
c.editing_branch_budget_ctr,decode(c.editing_branch_budget_ctr,null,null,'CHANGE OF CUSTOMER ADDRESS')
from event e,event_detail ed ,customer c, consultation cs
where e.event_ref=ed.event_ref
and e.key_value1= c.cust_ref_num
and cs.cust_ref_num = c.cust_ref_num
and cs.cust_branch_budget_ctr = c.branch_budget_ctr
and cs.consultation_ref = 12830364
and e.table_name = 'CUSTOMER'
and cs.branch_budget_ctr = 434
and e.branch_budget_ctr = ed.branch_budget_ctr
and c.branch_budget_ctr = e.branch_budget_ctr
and e.branch_budget_ctr != c.editing_branch_budget_ctr
and ed.fieldname != 'EDITING_BRANCH_BUDGET_CTR'
UNION ALL
select date_lu,null,null,employee_num,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,12830364, null, sysdate, 434,null,
editing_branch_budget_ctr, 'MEMOS'
from diary_entries
where branch_budget_ctr = 434
and branch_budget_ctr != editing_branch_budget_ctr
and consultation_ref = 12830364
UNION ALL
select no.date_lu,null,null,no.employee_num,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,12830364, null, sysdate, 434,null,
no.editing_branch_budget_ctr, 'CONSULTATION NOTES'
from consultation_notes no, customer cus, consultation con
where con.branch_budget_ctr = 434 and
no.branch_budget_ctr != no.editing_branch_budget_ctr
and no.branch_budget_ctr = con.branch_budget_ctr
and no.consultation_ref = con.consultation_ref
and con.cust_branch_budget_ctr = cus.branch_budget_ctr
and con.CUST_REF_NUM = cus.CUST_REF_NUM
and con.consultation_ref = 12830364
UNION ALL
select distinct e.date_lu, null,null,e.employee_num,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,null,null,null,
null,null,null,null,null,
null,null,null,12830364, null, sysdate, 434,p.assoc_pay_method,
p.editing_branch_budget_ctr, 'PAYMENT'
from event e, payment p, customer cus, consultation con
where e.table_name = 'PAYMENT'
and e.key_value1 = p.consultation_ref
and e.key_value2 = p.payment_seq_num
and p.branch_budget_ctr = e.branch_budget_ctr
and p.branch_budget_ctr != p.editing_branch_budget_ctr
and e.branch_budget_ctr = 434
and e.event_type = 'INSERT'
and con.branch_budget_ctr = e.branch_budget_ctr
and e.key_value1 = con.consultation_ref
and con.cust_branch_budget_ctr = cus.branch_budget_ctr
and con.CUST_REF_NUM = cus.CUST_REF_NUM
and con.consultation_ref = 12830364
UNION ALL
select E.date_lu,E.key_value2,null,E.employee_num,null,null,null,TD.operator_cd,
TD.product_type,decode(ED.fieldname,'112','A'),null,null,null,null,null,null,null,
ED.doc_num,ED.fieldname,null, null, null,null,null,null, null, null,
null,ED.fieldname,E.event_ref,E.key_value1,null, sysdate, 434 ,null,null,E.event_type
from event E,travel_deal TD,event_detail ED
where E.table_name='DOCUMENT'
and E.key_value1=12830364
and E.event_type='DOCUMENT'
and E.key_value1=TD.consultation_ref
and E.key_value2=TD.deal_seq_num
and E.event_ref=ED.event_ref
and E.branch_budget_ctr = 434
and E.branch_budget_ctr = TD.branch_budget_ctr
and E.branch_budget_ctr = ED.branch_budget_ctr
UNION ALL
select E.date_lu,E.key_value2,null,E.employee_num,null,null,null,'*','*',
decode(ED.fieldname,'112','A')
,null,null,null,null,null,null,null,ED.doc_num,ED.fieldname,
null, null,null,null,null, null, null, null,
null,ED.fieldname,E.event_ref,E.key_value1,null, sysdate, 434 ,null,null,E.event_type
from event E,event_detail ED
where E.table_name = 'DOCUMENT'
and (E.key_value1=12830364)
and (E.key_value2=-1)
and (E.event_type='DOCUMENT')
and (E.event_ref=ED.event_ref)
and E.branch_budget_ctr = 434
and E.branch_budget_ctr = ED.branch_budget_ctr
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.95 0.95 0 0 0 0
Execute 1 0.04 0.55 52 734 89 76
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 1.00 1.51 52 734 89 76
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 142
Also after clearing the buffer with the following 2 statements, i have executed the procedure for a new trace.
alter system flush shared_pool;
alter system flush buffer_cache;
fresh Trace tkprof for the procedure is also attached below
[fixedsys font used].
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 72.17 181.88 20506 7061316 89 76
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 72.17 181.88 20506 7061316 89 76
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 142 (recursive depth: 1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 15132 0.36 89.96
db file scattered read 341 0.08 15.48
Hope I will get some solution to which I am struggling so long....
Thanking you in advance,
With Warmest Regards,
Piyush