OWB Tuning Methods to tune OWB mappings and flows that leverage your existing Oracle tuning expertise!
Need - Common Situation <ul><li>System loads 100k records daily with no apparent issues (2 hour load time) </li></ul><ul><...
Need - General <ul><li>DW deals with some of the largest volumes of data in enterprise </li></ul><ul><li>Data volume is gr...
What is OWB Tuning? <ul><li>The process of </li></ul><ul><ul><li>Measuring </li></ul></ul><ul><ul><li>Analyzing </li></ul>...
OWB Tuning Basics <ul><li>Goal = Tuned PL/SQL / Data Access </li></ul><ul><li>OWB Tuning Methods provide: </li></ul><ul><u...
Two General “Methods” <ul><li>OWB Runtime Data Analysis </li></ul><ul><ul><li>Macro level, elapsed time, throughput, growt...
Overall Methodology <ul><li>Step 1: Determine candidates for tuning </li></ul><ul><li>Step 2 : Generate diagnostic informa...
OWB Data Analysis <ul><li>Based on “Wall Clock” analysis </li></ul><ul><li>Sample of actual runs </li></ul><ul><li>Relativ...
OWB Data Analysis GOALS <ul><li>Establish baseline </li></ul><ul><li>Monitor ongoing performance </li></ul><ul><li>TUNING ...
Views Look Like? <ul><li>ALL_RT_AUDIT_EXECUTIONS </li></ul><ul><ul><li>execution_audit_id  </li></ul></ul><ul><ul><li>exec...
Tuning Candidates <ul><li>select  OBJECT_NAME name, trunc(min(elapse_time)) min, trunc(max(elapse_time)) max, trunc(sum(el...
Monitoring Performance <ul><li>Throughput  (time / record) </li></ul><ul><li>Scalability </li></ul>
OWB Tuning : Exercise 1
Mapping/Flow Analysis <ul><li>Candidate Mappings or Flows </li></ul><ul><li>Generate </li></ul><ul><ul><li>Trace files </l...
Mapping vs. Flows <ul><li>Parts of the Whole </li></ul><ul><li>Flows on 10g </li></ul><ul><li>Start with Mappings </li></u...
Mapping Diagnostic Steps <ul><li>Steps </li></ul><ul><ul><li>Install enable/disable procedures </li></ul></ul><ul><ul><li>...
Step 1 : Install Procedures <ul><li>Add the following PL/SQL procedures to OWB </li></ul><ul><ul><li>DBMS_MONITOR_EN_CLIEN...
Step 1 : Install Procedures <ul><li>9i </li></ul><ul><ul><li>enable_10046_lvl_12 (enable_y_n varchar2) </li></ul></ul><ul>...
Step 2 : Add to mappings <ul><li>Pre mapping process </li></ul><ul><ul><li>9i :  enable_10046_lvl_12 </li></ul></ul><ul><u...
Step 2 : Add to mappings
Step 3 : Deploy/Execute Mappings <ul><li>Deploy mapping w/ tracing </li></ul><ul><li>Execute </li></ul>
Step 4 : Generate Report <ul><li>UDUMP directory </li></ul><ul><ul><li>$ORACLE_HOME/admin/<<SID>>/udump </li></ul></ul><ul...
Step 4 : OVERALL
Step 4 : TRCSESS <ul><li>TRCSESS output= myid .trc clientid= myid  *.trc </li></ul>myid  = Client Identifier aka TRC_ID
Step 4: TKPROF <ul><li>TKPROF  myid .trc  myid .txt </li></ul>myid  = Client Identifier aka TRC_ID
OWB Tuning : Exercises 2-3
OWB Flows <ul><li>Enable tracing on individual Mappings </li></ul><ul><li>Use TRC_ID to aggregate </li></ul><ul><ul><li>Bi...
OWB Flows <ul><li>Ensure that the START task a parameter TRC_ID that can be used  </li></ul><ul><li>(re)Deploy flow and ex...
OWB Flows
OWB Tuning : Exercise 4
Upcoming SlideShare
Loading in...5
×

Module Owb Tuning

2,495

Published on

Published in: Technology, Business
1 Comment
1 Like
Statistics
Notes
  • Gracias!!!!

    ...me ha sido util!!!!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,495
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
102
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide
  • Module Owb Tuning

    1. 1. OWB Tuning Methods to tune OWB mappings and flows that leverage your existing Oracle tuning expertise!
    2. 2. Need - Common Situation <ul><li>System loads 100k records daily with no apparent issues (2 hour load time) </li></ul><ul><li>110k records = 4 hour load time </li></ul><ul><li>120k records = 12 hour load time </li></ul><ul><li>130k records = MAJOR PROBLEM </li></ul>
    3. 3. Need - General <ul><li>DW deals with some of the largest volumes of data in enterprise </li></ul><ul><li>Data volume is growing, always. </li></ul><ul><li>Efficient and effective code is not just desirable, it is crucial </li></ul>
    4. 4. What is OWB Tuning? <ul><li>The process of </li></ul><ul><ul><li>Measuring </li></ul></ul><ul><ul><li>Analyzing </li></ul></ul><ul><ul><li>Diagnosing </li></ul></ul><ul><ul><li>Revising </li></ul></ul><ul><li>OWB solutions to </li></ul><ul><ul><li>Decrease loading times </li></ul></ul><ul><ul><li>Increase efficiency </li></ul></ul>
    5. 5. OWB Tuning Basics <ul><li>Goal = Tuned PL/SQL / Data Access </li></ul><ul><li>OWB Tuning Methods provide: </li></ul><ul><ul><li>Monitoring, Measurements, and Diagnostic information </li></ul></ul><ul><li>OWB Tuning Methods augment existing Oracle tuning methods and expertise </li></ul><ul><ul><li>OWB Tuning = (Oracle tuning)++ </li></ul></ul>
    6. 6. Two General “Methods” <ul><li>OWB Runtime Data Analysis </li></ul><ul><ul><li>Macro level, elapsed time, throughput, growth of time, etc. </li></ul></ul><ul><li>Mapping/Process Flow Analysis </li></ul><ul><ul><li>Tracing specific mappings/process flows, explain plans, use of idxes, etc. </li></ul></ul><ul><ul><ul><li>Mark Rittman/Jon Mead with SolStonePlus developed the fundamentals of this method! </li></ul></ul></ul>
    7. 7. Overall Methodology <ul><li>Step 1: Determine candidates for tuning </li></ul><ul><li>Step 2 : Generate diagnostic information on problem some mappings/flows </li></ul><ul><li>Step 3 : Use diagnostic information as part of Oracle tuning </li></ul><ul><li>Step 4 : Adjust OWB mapping and measure improvement </li></ul><ul><li>RED = OWB Runtime Data Analysis </li></ul><ul><li>BLUE = Mapping/Process Flow Analysis </li></ul>Step 1: Analyze OWB Runtime Data Step 2: Generate OWB Diaganostics Step 3: Perform Typical Oracle Tuning Step 4: Adjust OWB Solution and TEST
    8. 8. OWB Data Analysis <ul><li>Based on “Wall Clock” analysis </li></ul><ul><li>Sample of actual runs </li></ul><ul><li>Relatively fine level of detail </li></ul><ul><li>Unobtrusive </li></ul>
    9. 9. OWB Data Analysis GOALS <ul><li>Establish baseline </li></ul><ul><li>Monitor ongoing performance </li></ul><ul><li>TUNING GOALS </li></ul><ul><ul><li>Identify Tuning Candidates </li></ul></ul><ul><ul><li>Quantify ROI for tuning work </li></ul></ul><ul><li>Measure improvement </li></ul>
    10. 10. Views Look Like? <ul><li>ALL_RT_AUDIT_EXECUTIONS </li></ul><ul><ul><li>execution_audit_id </li></ul></ul><ul><ul><li>execution_name </li></ul></ul><ul><ul><li>object_name </li></ul></ul><ul><ul><li>elapse_time </li></ul></ul><ul><ul><li>updated_on </li></ul></ul><ul><li>ALL_RT_AUDIT_MAP_RUNS </li></ul><ul><ul><li>execution_audit_id </li></ul></ul><ul><ul><li>map_name </li></ul></ul><ul><ul><li>start_time </li></ul></ul><ul><ul><li>elapse_time </li></ul></ul><ul><ul><li>number_records_inserted </li></ul></ul>
    11. 11. Tuning Candidates <ul><li>select OBJECT_NAME name, trunc(min(elapse_time)) min, trunc(max(elapse_time)) max, trunc(sum(elapse_time)) sum, trunc(avg(elapse_time)) avg, count(elapse_time) count from all_rt_audit_executions where 1=1 AND task_type = 'PLSQL' AND created_on >= to_date('12/10/2004', 'MM/DD/YYYY') group by OBJECT_NAME order by avg desc; </li></ul>668 5351 2243 309 map8 809 6476 1272 478 map7 848 6784 1353 436 map6 1636 13089 2170 1018 map5 1812 14502 3511 316 map4 2567 20542 3509 1672 map3 19301 135111 68905 5494 map2 20671 165372 31988 0 map1 AVG SUM MAX MIN NAME
    12. 12. Monitoring Performance <ul><li>Throughput (time / record) </li></ul><ul><li>Scalability </li></ul>
    13. 13. OWB Tuning : Exercise 1
    14. 14. Mapping/Flow Analysis <ul><li>Candidate Mappings or Flows </li></ul><ul><li>Generate </li></ul><ul><ul><li>Trace files </li></ul></ul><ul><ul><li>“Plans” </li></ul></ul><ul><ul><li>Wait Events </li></ul></ul><ul><li>Adjust Mapping/Objects </li></ul><ul><li>Deploy and measure improvements </li></ul>
    15. 15. Mapping vs. Flows <ul><li>Parts of the Whole </li></ul><ul><li>Flows on 10g </li></ul><ul><li>Start with Mappings </li></ul><ul><ul><li>Mappings are actually tuned </li></ul></ul><ul><ul><li>All Mapping Tuning is used in Flow tuning </li></ul></ul>
    16. 16. Mapping Diagnostic Steps <ul><li>Steps </li></ul><ul><ul><li>Install enable/disable procedures </li></ul></ul><ul><ul><li>Include them in required mappings </li></ul></ul><ul><ul><li>Deploy/Execute mappings </li></ul></ul><ul><ul><li>Collect files, generate reports </li></ul></ul>
    17. 17. Step 1 : Install Procedures <ul><li>Add the following PL/SQL procedures to OWB </li></ul><ul><ul><li>DBMS_MONITOR_EN_CLIENT_TRC </li></ul></ul><ul><ul><li>DBMS_MONITOR_DIS_CLIENT_TRC </li></ul></ul><ul><li>Uses 10g DBMS_MONITOR package </li></ul><ul><ul><li>Requires execute privs </li></ul></ul><ul><li>9i equivalents </li></ul><ul><ul><li>enable_10046_lvl_12 </li></ul></ul><ul><ul><li>disable_10046 </li></ul></ul>
    18. 18. Step 1 : Install Procedures <ul><li>9i </li></ul><ul><ul><li>enable_10046_lvl_12 (enable_y_n varchar2) </li></ul></ul><ul><ul><li>disable_10046 </li></ul></ul><ul><li>10g </li></ul><ul><ul><li>DBMS_MONITOR_EN_CLIENT_TRC(TRC_ID IN VARCHAR2) </li></ul></ul><ul><ul><li>DBMS_MONITOR_DIS_CLIENT_TRC (TRC_ID IN VARCHAR2) </li></ul></ul>
    19. 19. Step 2 : Add to mappings <ul><li>Pre mapping process </li></ul><ul><ul><li>9i : enable_10046_lvl_12 </li></ul></ul><ul><ul><li>10g : DBMS_MONITOR_EN_CLIENT_TRC </li></ul></ul><ul><li>Post mapping process </li></ul><ul><ul><li>9i : disable_10046 </li></ul></ul><ul><ul><li>10g : DBMS_MONITOR_DIS_CLIENT_TRC </li></ul></ul><ul><li>10g includes TRC_ID </li></ul>
    20. 20. Step 2 : Add to mappings
    21. 21. Step 3 : Deploy/Execute Mappings <ul><li>Deploy mapping w/ tracing </li></ul><ul><li>Execute </li></ul>
    22. 22. Step 4 : Generate Report <ul><li>UDUMP directory </li></ul><ul><ul><li>$ORACLE_HOME/admin/<<SID>>/udump </li></ul></ul><ul><li>Many files (.trc) </li></ul><ul><li>Extract your mapping run trace data from the files with TRCSESS </li></ul><ul><li>Format with TKPROF </li></ul>
    23. 23. Step 4 : OVERALL
    24. 24. Step 4 : TRCSESS <ul><li>TRCSESS output= myid .trc clientid= myid *.trc </li></ul>myid = Client Identifier aka TRC_ID
    25. 25. Step 4: TKPROF <ul><li>TKPROF myid .trc myid .txt </li></ul>myid = Client Identifier aka TRC_ID
    26. 26. OWB Tuning : Exercises 2-3
    27. 27. OWB Flows <ul><li>Enable tracing on individual Mappings </li></ul><ul><li>Use TRC_ID to aggregate </li></ul><ul><ul><li>Binding Mappings in Process Flow </li></ul></ul>
    28. 28. OWB Flows <ul><li>Ensure that the START task a parameter TRC_ID that can be used </li></ul><ul><li>(re)Deploy flow and execute with TRC_ID </li></ul>
    29. 29. OWB Flows
    30. 30. OWB Tuning : Exercise 4
    1. Gostou de algum slide específico?

      Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

    ×