Resources for Understanding Performance Tuning

Hi,
I am having hard time to explain the Oracle’s query plan. I don’t know why it chooses different merges.
Could you refer me to any resource (online, book or pdf) that help me to understand how oracle chooses different paths for optimizing a query?
Any help would be appreciated,
Alan

Go to the OTN Homepage. Choose the menu that says 'Documentation'. Make your choices.
You may find it useful to put the Docs Homepage in your browser's bookmarks. If you want 10g go here instead.
Cheers, APC

Similar Messages

  • Is there any certification for oracle performance tuning..?

    Hi All,
    Do we have any certification for oracle performance tuning.
    Let me know if it is.
    Thanks,
    Ritesh

    See http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=287
    HTH
    Srini

  • Need clear steps for doing performance tuning on SQL Server 2008 R2 (DB Engine, Reporting Services and Integration Services)

    We have to inverstigate about a reporting solution where things are getting slow (may be material, database design, network matters).
    I have red a lot in MSDN and some books about performance tuning on SQL Server 2008 R2 (or other) but frankly, I feel a little lost in all that stuff
    I'am looking for practical steps in order to do the tuning. Someone had like a recipe for that : a success story...
    My (brain storm) Methodology should follow these steps:
     Resource bottlenecks: CPU, memory, and I/O bottlenecks
     tempdb bottlenecks
     A slow-running user query : Missing indexes, statistics,...
     Use performance counters : there are many, can one give us the list of the most important
    how to do fine tuning about SQL Server configuration
    SSRS, SSIS configuration ? 
    And do the recommandations.
    Thanks
    "there is no Royal Road to Mathematics, in other words, that I have only a very small head and must live with it..."
    Edsger W. Dijkstra

    Hello,
    There is no clear defined step which can be categorized as step by step to performance tuning.Your first goal is to find out cause or drill down to factor causing slowness of SQL server it can be poorly written query ,missing indexes,outdated stats.RAM crunch
    CPU crunch so on and so forth.
    I generally refer to below doc for SQL server tuning
    http://technet.microsoft.com/en-us/library/dd672789(v=sql.100).aspx
    For SSIS tuning i refer below doc.
    http://technet.microsoft.com/library/Cc966529#ECAA
    http://msdn.microsoft.com/en-us/library/ms137622(v=sql.105).aspx
    When I face issue i generally look at wait stats ,wait stats give you idea about on what resource query was waiting.
    --By Jonathan KehayiasSELECT TOP 10
    wait_type ,
    max_wait_time_ms wait_time_ms ,
    signal_wait_time_ms ,
    wait_time_ms - signal_wait_time_ms AS resource_wait_time_ms ,
    100.0 * wait_time_ms / SUM(wait_time_ms) OVER ( )
    AS percent_total_waits ,
    100.0 * signal_wait_time_ms / SUM(signal_wait_time_ms) OVER ( )
    AS percent_total_signal_waits ,
    100.0 * ( wait_time_ms - signal_wait_time_ms )
    / SUM(wait_time_ms) OVER ( ) AS percent_total_resource_waits
    FROM sys.dm_os_wait_stats
    WHERE wait_time_ms > 0 -- remove zero wait_time
    AND wait_type NOT IN -- filter out additional irrelevant waits
    ( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'BROKER_TO_FLUSH',
    'SQLTRACE_BUFFER_FLUSH','CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT',
    'LAZYWRITER_SLEEP', 'SLEEP_SYSTEMTASK', 'SLEEP_BPOOL_FLUSH',
    'BROKER_EVENTHANDLER', 'XE_DISPATCHER_WAIT', 'FT_IFTSHC_MUTEX',
    'CHECKPOINT_QUEUE', 'FT_IFTS_SCHEDULER_IDLE_WAIT',
    'BROKER_TRANSMITTER', 'FT_IFTSHC_MUTEX', 'KSOURCE_WAKEUP',
    'LAZYWRITER_SLEEP', 'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE',
    'REQUEST_FOR_DEADLOCK_SEARCH', 'XE_TIMER_EVENT', 'BAD_PAGE_PROCESS',
    'DBMIRROR_EVENTS_QUEUE', 'BROKER_RECEIVE_WAITFOR',
    'PREEMPTIVE_OS_GETPROCADDRESS', 'PREEMPTIVE_OS_AUTHENTICATIONOPS',
    'WAITFOR', 'DISPATCHER_QUEUE_SEMAPHORE', 'XE_DISPATCHER_JOIN',
    'RESOURCE_QUEUE' )
    ORDER BY wait_time_ms DESC
    use below link to analyze wait stats
    http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/
    HTH
    PS: for reporting services you can post in SSRS forum
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • Looking for Bi Performance & Tuning book for BI...

    Hi
    I am looking for BI-7 (Performance & Tuning) book. Actually i looked  SAP Press site & found book "SAP BW Performance Optimization Guide" but its BW-3.5 based but I want for BI 7.
    Pls. Suggest me any good book on this topic.
    Thanks
    Edited by: Harpal Singh on Oct 5, 2010 9:45 AM

    I am also a BI developer...
    "SAP NetWeaver BW: Administration and Monitoring:
    offers a lot of insight into what happens when loading happens and also talks in length about how to tune the system using RSADMIN parameters etc...
    I found this book very useful and in fact it helped me a lot preparing for the BI Professional exam in data modeling ...
    and to answer your question - the BW performance tuning book also talks a lot about memory allocation / consumption etc which might be stuff that is usually used by BASIS ... and since the concepts are the same  - you could go with the 3.5 book and get to know the options you have ...
    Edited by: Arun Varadarajan on Oct 8, 2010 2:33 AM

  • Good resources for understanding how the internet works

    Hi everyone,
    I got quite a lot of spare time at my hands these days, so I thought I might learn about how the internet (and networking in general, after all I'm using the internet daily, and I've even programmed with Java sockets for ages)! Specifically, I'm probably talking about the OSI model and its components.
    Historically, reading Wikipedia entries doesn't quite cut it for me, I tend to get the hang of things a lot easier with a book. So, if you know a good book (though a good online guide / explanation is fine, too), please let me know!
    Cheers,
    - Allan

    At my uni, we use "Computer Networking: A Top-Down Approach" by James Kurose and Keith Ross for all our networking classes.  I wholeheartedly recommend it; it's clear, approachable, and something you'd want to read if you didn't have to read it.

  • IIR 2.8.0.7 performance tuning suggestions / documents for Oracle 11?

    Would we have any hints or white papers that would support a customer in IIR matching server tuning for initial load performance,
    beyond the Siebel specific
    Performance Tuning Guidelines for Siebel CRM Application on Oracle Database (Doc ID 781927.1)
    which does NOT generate any statistics on the Informatica Schema?
    Customer is starting production data load into Siebel UCM of over 5 million customer records . Their current bottle neck seems to be IIR queries and high IIR host resources usage.
    This would be for Siebel 8.1.1.4 [21225] on Oracle 11.1.0.6; I currently do not know if ACR 475 with its EBC access is used or not; I'd be looking for any performance tuning suggestions on the Informatica & database side - I have not found anything helpful in the informatica knowledgebase and in the 2.8.0.7 docs the only performance tuning suggestions seem to be on IDT loads.
    Obviously performance can be influenced by the matching fields used, but this customer will be looking for performance tuning suggestions keeping the matching fields and thresholds they got approved from the business side.
    Any documents we could share?

    Hi Varad,
    Well, Oracle Metalink actually got it fixed for me! Got to give them credit.
    I ran the 1st bit of SQL they sent me and it fixed it so I think it was only cosmetic. I've enclosed all of their response in case others may find themselves in similar situation.
    Thanks again for YOUR help too.
    Perry
    ==========================================================
    1. Do you see any invalid objects in the database?
    2. Please update the SR with the output of running the commands below
    1.Connect as SYS.
    set serveroutput on (This will let you see if any check fails)
    exec validate_apex; (If your version is 2.0 or above)
    If all are fine, the registry should be changed to VALID for APEX and you should see the following
    message:
    PL/SQL procedure successfully completed.
    Note : The procedure validate_apex should always complete successfully.
    With serveroutput on, it should show why Application Express is listed as invalid.It should show output like:
    FAILED CHECK FOR <<obect_name>>
    Or
    FAILED EXISTENCE CHECK FOR <<object_name>>

  • Privilleges for performance tuning

    can we assign any specific privilleges to DBA for the performance tuning.
    i dont want to give sysdba and sysopr privilleges to DBA.

    The question should be why there is need to tune anything in Oracle database. What is the problem, have you defined the problem in a very clear manner ?  Is there anything which is called problem or it is something other one ?  What performance tuning tool you are going to use and why ?
    Performance tuning is only two words, but it is very big topic; a topic on which 100 books / blogs have been written and still writing going on.
    What and why are you trying to tune and what ORA you got ? As such there is no ready made role in oracle which says something like "PT_ROLE".  We just issue the sql to the dictionary objects and as and when we gets privileges related error, we provides select on those sys objects to user; if he really needs though.
    Regards
    Girish Sharma

  • Need OES Performance tuning steps for 10g

    Hi Guys,
    I am looking for a performance tuning document for OES 10g?
    can someone provide me that or can someone illustrate the steps please?
    Regards,
    Naveen

    Hi Gopi,
    Following are the different tools provided by SAP for performance analysis of an ABAP object
    Run time analysis transaction SE30
    This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
    SQL Trace transaction ST05
    The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
    check these links:
    http://www.sapgenie.com/abap/performance.htm
    http://www.sapdevelopment.co.uk/perform/performhome.htm
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_Introduction.asp
    regards,
    keerthi.

  • Performance tuning of Oracle 10 g

    Dear Team ,
    I am in need of tuning my Database against the performance .
    I have visited lots of Web pages in Net for Performance tuning .
    It shows some values for the Performance tuning , But I dont how to read the values
    Wheather my database is good or it need to tuned again .
    So kindly help me for good performance tuning in my Database (Oracle 10g)
    Regards
    Augustine

    Hi Augustine;
    I am in need of tuning my Database against the performance .
    I have visited lots of Web pages in Net for Performance tuning .
    It shows some values for the Performance tuning , But I dont how to read the values
    Wheather my database is good or it need to tuned again .First step should be run ASH AWR report than check your CPU usage(also other parameter) from Oracle Enterprise Manager console.
    Check top5 event and try to understand what is happining on ur database. Actualyy There is no specific answer for your question, just check report try to understand to what eat your source? when it happens?what is fruquence etc.. So just run report and observe it
    Check below search
    http://www.google.com.tr/search?q=Performance+tuning+of+Oracle+10&rls=com.microsoft:en-us&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1&redir_esc=&ei=v0fxS8bTCtOrsAaYqfTbAg
    There are many docs related performance.
    Hope it helps
    Regard
    Helios

  • OWB Performance Tuning

    Hi Every body,
    I searched for OWB performance tuning guidelines for OWB11gR2.
    1) The posted link Please check: http://www.oracle.com/technology/products/warehouse/pdf/OWBPerformanceWP.pdf
    is not pulling the desired white paper. It points to Oracle OWB resource page. I did not find any links related to performance tuning. Any idea?
    2) I reviewed https://blogs.oracle.com/warehousebuilder/entry/performance_tuning_mappings
    Performance tuning mappings By David Allan
    The links in the blog (a) There are reports in the utility exchange (see here)
    (b) There is a viewlet describing some of this here.
    Not working. Could you post the working links?
    Regards
    Ram Iyer

    Hi Ram
    The blog links should be fixed now, let me know if not. The blog has been rehosted a zillion times and each time stuff is broken in the migration - sound familiar?
    Cheers
    David

  • Planning to start the performance tuning but....

    Friends,
    Database OS: RHEL AS 3.0
    Database: Oracle Release 9.2.0.4.0
    Number of Tables: 503
    TableSpace size - 1.8GB out of 3GB
    Max.Records in a Table - 1 Million and its increasing..
    Our DB Optimizer mode is - CHOOSE (is it RBO?)
    We are not using enterprise manager and not installed any tuning scripts like statspack etc....
    Currently we are taking user managed backup without any problem so we are continuing the same from 2004 onwards.
    Now we want want to tune our database.(We have never tuned our database)
    We would like to change our optimizer from RBO to CBO.
    Can anybody tell me the first step for the performance tuning?
    Please dont suggest me oracle doc im already studying.....its taking time....
    In the mean time......
    Step 1: Can i Analyze the table or dbms_stat package?
    We have not at all used the analyze or dbms_stat. So can i start with any of the above or do u have any other suggestions for the 1st step?
    Thanks

    our manager feels that if we tune our db the performance will be more than compared to the current one.you have a mystique manager then, ask him what kind of "feelings" does he have about my database ;) there is no place for feelings in this game, this is life cycle to be successful ; testing->reporting->analyzing->take nedded actions->re-testing->reporting->analyzing..
    so while you are surely reading the documentation;
    Oracle9i Database Performance Planning Release 2 (9.2)
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96532/toc.htm
    Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2)
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96533/toc.htm
    first thing you have to do is to setup an appropriate test environment with same os-oracle releases, parameters;
    -- some of them to check
    SELECT NAME, VALUE
      FROM v$system_parameter a
    WHERE a.NAME IN
           ('compatible', 'optimizer_features_enable',
            'optimizer_mode', 'pga_aggregate_target', 'workarea_size_policy',
            'db_file_multiblock_read_count', .. )and of course schema set and data amount. Then you run your application on load and take statspack snapshots and do the same after collecting statistics;
    -- customize for your configuration, schema level object statistics
    exec dbms_stats.gather_schema_stats( ownname =>'YOUR_SCHEMA', degree=>16, options=>'GATHER AUTO', estimate_percent=>dbms_stats.auto_sample_size, cascade=>TRUE, method_opt=>'FOR ALL COLUMNS SIZE AUTO', granularity=>'ALL');
    -- check your system stats, with sys account
    SELECT pname, pval1 FROM sys.aux_stats$ WHERE sname = 'SYSSTATS_MAIN';after you have the base report and the report after change compare the top 5 waits, the top queries which have dramatic logical I/O changes etc. At this point you go into session based tuning in order to understand why a specific query performs worser with CBO compared to RBO. You need to be able to create and read execution plans and i/o statistics at least. Here are some quick introductions;
    http://www.bhatipoglu.com/entry/17/oracle-performance-analysis-tracing-and-performance-evaluation
    http://psoug.org/reference/explain_plan.html
    http://coskan.wordpress.com/2007/03/04/viewing-explain-plan/
    and last words again goes to your manager; how does he "feel" about a 10gR2 migration? With Grid Control, AWR, ADDM and ASH performance tuning evolved a lot. Important note here, after 10g RBO is dead(unsupported).
    Best Regards,
    H.Tonguç YILMAZ
    http://tonguc.yilmaz.googlepages.com/
    Message was edited by:
    TongucY

  • Invalid statement in Performance Tuning Guide

    Oracle® Database Performance Tuning Guide
    10g Release 2 (10.2)
    Part Number B14211-01
    13 The Query Optimizer
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/optimops.htm#sthref1324
    excerpt:
    "You can specify fast full index scans with the initialization parameter OPTIMIZER_FEATURES_ENABLE or the INDEX_FFS hint. Fast full index scans cannot be performed against bitmap indexes."
    Emphasis mine - Gints
    Here is counterexample:
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> create table blah (sex varchar2(1) not null, data varchar2(4000));
    Table created.
    SQL> insert into blah select 'F', lpad('a', 4000, 'a') from user_objects where rownum<=10;
    10 rows created.
    SQL> insert into blah select 'M', lpad('a', 4000, 'a') from user_objects where rownum<=10;
    10 rows created.
    SQL> commit;
    Commit complete.
    SQL> create bitmap index sexidx on blah(sex);
    Index created.
    SQL> exec dbms_stats.gather_table_stats(user, 'blah', cascade=>true)
    PL/SQL procedure successfully completed.
    SQL>
    SQL> set autot traceonly expl
    SQL> set lines 100
    SQL> select count(*) from blah where sex = 'F';
    SQL> /
    Execution Plan
    Plan hash value: 1028317341
    | Id  | Operation                     | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT              |        |     1 |     2 |     1   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE               |        |     1 |     2 |            |          |
    |   2 |   BITMAP CONVERSION COUNT     |        |    10 |    20 |     1   (0)| 00:00:01 |
    |*  3 |    BITMAP INDEX FAST FULL SCAN| SEXIDX |       |       |            |          |
    Predicate Information (identified by operation id):
       3 - filter("SEX"='F')
    SQL> set autot off
    SQL> alter session set events '10046 trace name context forever, level 12';
    Session altered.
    SQL> select count(*) from blah where sex = 'F';
      COUNT(*)
            10
    SQL> disconn
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsand here is relevant section from tkprofed trace file assuring that bitmap index fast full scan really was performed.
    select count(*)
    from
    blah where sex = 'F'
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.02          0          0          0           0
    Execute      1      0.00       0.03          0          0          0           0
    Fetch        2      0.00       0.00          0          3          0           1
    total        4      0.00       0.05          0          3          0           1
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 60 
    Rows     Row Source Operation
          1  SORT AGGREGATE (cr=3 pr=0 pw=0 time=74 us)
          1   BITMAP CONVERSION COUNT (cr=3 pr=0 pw=0 time=55 us)
          1    BITMAP INDEX FAST FULL SCAN SEXIDX (cr=3 pr=0 pw=0 time=43 us)(object id 98446)Gints Plivna
    http://www.gplivna.eu

    Hello Gints. I've reported this to the writer responsible for the Performance Tuning Guide. One of us will get back to you with the resolution.
    Regards,
    Diana

  • ST02(performance tuning)

    Hi friends,
    For the performance tuning I have put Tcode ST02 where in the below was shown in Red, Pls guide me how to proceed further
                                              swaps
    file description                   7945(Red)
    Initial records                   11996(Red)
    program                           37372(Red)
    CUA                                17156(Red)
    screen                               2273(Red)
    Generic Key                       59(Red)
    single record                       19(Red)
    export/import                    26539(Red)
    Pls clearly guide me how to proceed further....
    Thanks in Advance
    Yedhiri

    Dear Venu,
    <removed_by_moderator>
    Read the [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]
    Do not ask for points - This forum should be firstly about information exchange; points are an incentive and a way of saying thanks.
    Asking for points is like asking someone to say "thank you": The only time we do this in real life is when teaching a child good manners. Saying it to an adult is insulting, so why do it in the forums? If someone keeps asking questions without awarding points, simply stop answering them or use the abuse button to report it.
    Regards,
    Ashutosh
    Edited by: Juan Reyes on Jul 17, 2008 12:13 PM

  • Resources for performance tuning and RAC needed

    Can you suggest me the best knowledge resources for performance tuning and RAC?
    Besides Oracle doc ...
    Thanks!

    Before all, I'm searching for resources on web like performance tuning from Dizwell Informatics is.
    Anyway thank you Eric for your suggestion!

  • Can i use "Oracle Database 12c: Performance Management and Tuning " training for getting certification on "Oracle Database 11g: Performance Tuning 1Z0-054"

    i have taken "Oracle Database 12c: Performance Management and Tuning new" training from oracle university. Now i would like to get certified on "Oracle Database 11g: Performance Tuning 1Z0-054" exam. Is it possible ?

    I essentially endorse and refer you to Matthews' and John's post above.
    I would differ with slightly with Matthew because my guess is you would often be able to use like for like 12c training for an 11g certification ( I believe there are precedents).  BEFORE ANYONE ASKS THE OTHER WAY DOESN'T HAPPEN.
    .... but totally concur with Matthew you would ill advised to procede on that basis without one of:
    - This being advertised as possible on the website : e.g. https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=654&get_params=p_id:169 ... option 2 show courses.
    - Confirmation from Brandye
    - Confirmation from an Oracle Certification Support Web Ticket ( http://education.oracle.com/pls/eval-eddap-dcd/OU_SUPPORT_OCP.home?p_source=OCP )
    ... The more common (and in my opinion usually better) way would be get your 11g DBA OCP ( or higher first) and then take the 1z0-054.  I am almost certain they will accept your 12c course for the 11g DBA OCP.
    If you are choosing the route of not being a 11g (or 12c ) DBA OCP first but are on option 2 and relying on the course for certification then the issue is more in the balance and you are even more strongly advised to get confirmation before proceding (remember if the rules need to be changed for you only then any profit out of the exam is lost).
    In general my understanding is Oracle would prefer to encourage people to train on the latest version of product that is available for training  and will prefer to avoid restrictions which would cause you to train at a lower version.  ( This is simply my guess at Oracle University Policy ... personal opinion only).
    Having said all I have said I'd encourage you to go with the advice of the earlier two posts.

Maybe you are looking for