Details on performance tuning..

hi all,
<b>please provide me the performance tuning scenarios and parameters of an R/3 system with Oracle..</b>
i heartly welcome all docs and pdf links or notes related to this issue..
please provide ur suggestions at the earliest...
expecting ur response..
<i>Vineeth</i>

Vineeth,
A great attempt to hear from you!
Tuning depends on lt of things your platform work load and environment Etc.
As you requested docs pdfs.no you cant get specific doc for specific scenarios.Its all depends on situation.
I suggest you go through Oracle Docs in metalink.And for SAP in service market place.You will get recmd docs and best practices.I guess this will help you to start with tuning.
To tune u shd be expert in Arch and OS Admin.There are lot of things like memory , OS and SQL Tuning Etc.U need to have more exp in perticular field.
You will get some good docs and scenario in google also.
Let me know if need more help..
Regards
Vinod

Similar Messages

  • Application Performance Tuning

    Hi,
    Sometimes our application(11.5.10.2) is becoming very slow, I want to know what things I need to check and if there is any Document
    Regards

    Hi,
    We discussed this topic many times in the forum before, please see old threads for details.
    Performance Tuning
    http://forums.oracle.com/forums/search.jspa?threadID=&q=Performance+Tuning&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Thanks,
    Hussein

  • Performance tuning in PL/SQL code

    Hi,
    I am working on already existing PL/SQL code which is written by someone else on validation and conversion of data from a temporary table to base table. It usually has 3.5 million rows. and the procedure takes arount 2.5 - 3 hrs to complete.
    Can I enhance the PL/SQL code for better performance ? or, is this OK to take so long to process these many rows?
    Thanks!
    Yogini

    Can I enhance the PL/SQL code for better performance ? Probably you can enhance it.
    or, is this OK to take so long to process these many rows? It should take a few minutes, not several hours.
    But please provide some more details like your database version etc.
    I suggest to TRACE the session that executes the PL/SQL code, with WAIT events, so you'll see where and on what time is spent, you'll identify your 'problem statements very quickly' (after you or your DBA have TKPROF'ed the trace file).
    SQL> alter session set events '10046 trace name context forever, level 12';
    SQL> execute your PL/SQL code here
    SQL> exitWill give you a .trc file in your udump directory on the server.
    http://www.oracle-base.com/articles/10g/SQLTrace10046TrcsessAndTkprof10g.php
    Also this informative thread can give you more ideas:
    HOW TO: Post a SQL statement tuning request - template posting
    as well as doing a search on 10046 at AskTom, http://asktom.oracle.com will give you more examples.
    and reading Oracle's Performance Tuning Guide: http://www.oracle.com/pls/db102/to_toc?pathname=server.102%2Fb14211%2Ftoc.htm&remark=portal+%28Getting+Started%29

  • Performance tuning of this report

    Hello friends iam attaching my report give the performance tuning for this report to avoid nested endloops. how to do without using nested endloops.
    give me the reply urgent.
    REPORT  ZDEMO9          NO STANDARD PAGE HEADING
                            LINE-SIZE 250
                            LINE-COUNT 22(3).                             .
                TABLES DECLARATION                    *
    TABLES : MARA,              "general material data
             MAKT,              "material description
             MARC,              "plant data for material
             VBAP,              "sales document for item data
             EKKO,              "purchasing document header
             EKPO,              "purchasing document item
             KNA1.              "customer master details
                INTERNAL TABLE DECLARATION             *
    DATA : BEGIN OF T_MARA OCCURS 0,
           MATNR LIKE MARA-MATNR,
           MTART LIKE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           END OF T_MARA.
    DATA : BEGIN OF T_MAKT OCCURS 0,
           MATNR LIKE MAKT-MATNR,
           MAKTX LIKE MAKT-MAKTX,
           SPRAS LIKE MAKT-SPRAS,
           END OF T_MAKT.
    DATA : BEGIN OF T_MARC OCCURS 0,
           MATNR LIKE MARC-MATNR,
           WERKS LIKE MARC-WERKS,
           END OF T_MARC.
    DATA : BEGIN OF T_KNA1 OCCURS 0,
           KUNNR LIKE KNA1-KUNNR,
           NAME1 LIKE KNA1-NAME1,
           LAND1 LIKE KNA1-LAND1,
           END OF T_KNA1.
    DATA : BEGIN OF T_VBAP OCCURS 0,
           MATNR LIKE VBAP-MATNR,
           POSNR LIKE VBAP-POSNR,
           MATKL LIKE VBAP-MATKL,
           VBELN LIKE VBAP-VBELN,
           END OF T_VBAP.
    DATA : BEGIN OF T_EKPO OCCURS 0,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           BUKRS LIKE EKPO-BUKRS,
           WERKS LIKE EKPO-WERKS,
           LGORT LIKE EKPO-LGORT,
           MATNR LIKE EKPO-MATNR,
           MANDT LIKE EKPO-MANDT,
           END OF T_EKPO.
                     FINAL INTERNAL TABLE                *
    DATA : BEGIN OF T_FINAL OCCURS 0,
           MATNR LIKE MARA-MATNR,
           MTART LIKE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           WERKS LIKE MARC-WERKS,
           MAKTX LIKE MAKT-MAKTX,
           SPRAS LIKE MAKT-SPRAS,
           VBELN LIKE VBAP-VBELN,
           POSNR LIKE VBAP-POSNR,
           MATKL LIKE VBAP-MATKL,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           BUKRS LIKE EKPO-BUKRS,
           KUNNR LIKE KNA1-KUNNR,
           LAND1 LIKE KNA1-LAND1,
           NAME1 LIKE KNA1-NAME1,
           LGORT LIKE EKPO-LGORT,
           END OF T_FINAL.
    *DATA: BEGIN OF V_matnr OCCURS 0,
           matnr LIKE mara-matnr,
         END OF t_matnr.
    data:
          a(32) type c.
    a = 'IBT000000000000000001000000000000000050'.
                       SELECTION SCREEN                         *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_BUKRS FOR EKPO-BUKRS,
                     S_KUNNR FOR KNA1-KUNNR,
                     S_WERKS FOR MARC-WERKS,
                     S_MATNR FOR MARA-MATNR obligatory.
    SELECTION-SCREEN END OF BLOCK B1.
                     START OF SELECTION                           *
    START-OF-SELECTION.
      SELECT MATNR mtart meins
              FROM MARA
              INTO CORRESPONDING FIELDS OF TABLE T_MARA
              WHERE MATNR IN S_MATNR.
      SELECT MATNR WERKS
              FROM MARC
              INTO CORRESPONDING FIELDS OF TABLE T_MARC
              FOR ALL ENTRIES IN T_MARA
              WHERE MATNR = T_MARA-MATNR
              and werks in s_werks.
      select  matnr maktx spras
            from makt
            into corresponding fields of table t_makt
            for all entries in t_mara
            where matnr = t_mara-matnr
            and spras = sy-langu.
      select matnr posnr matkl vbeln
             from vbap
             into corresponding fields of table t_vbap
             for all entries in t_mara
             where matnr = t_mara-matnr.
    select matnr werks bukrs ebeln ebelp lgort
             from ekpo
             into corresponding fields of table t_ekpo
             for all entries in t_mara
             where matnr = t_mara-matnr
             and werks in s_werks.
      LOOP AT T_MARA.
        MOVE T_MARA-matnr TO T_FINAL-matnr.
        move t_mara-mtart to t_final-mtart.
        move t_mara-meins to t_final-meins.
        loop at t_marc where matnr eq t_mara-matnr.
          move t_marc-werks to t_final-werks.
          loop at t_makt.
            move t_makt-maktx to t_final-maktx.
            move t_makt-spras to t_final-spras.
            loop at t_vbap.
              move t_vbap-posnr to t_final-posnr.
              move t_vbap-matkl to t_final-matkl.
              move t_vbap-vbeln to t_final-vbeln.
            loop at t_ekpo.
            move t_ekpo-bukrs to t_final-bukrs.
            move t_ekpo-ebeln to t_final-ebeln.
            move t_ekpo-ebelp to t_final-ebelp.
            move t_ekpo-lgort to t_final-lgort.
              append t_final.
            endloop.
          endloop.
        endloop.
      endloop.
      endloop.
      SELECT werks KUNNR LAND1 NAME1
      INTO CORRESPONDING FIELDS OF TABLE T_KNA1
      FROM KNA1.
    WHERE WERKS in s_werks.
      loop at t_kna1.
        move t_kna1-kunnr to t_final-kunnr.
        move t_kna1-name1 to t_final-name1.
        move t_kna1-land1 to t_final-land1.
        append t_final.
      endloop.
      "endloop.
      loop at t_final.
        write :   4 t_final-matnr,
                 20 t_final-mtart,
                 28 t_final-meins,
                 46 t_final-werks,
                 58 t_final-maktx,
                 71 t_final-spras,
                 78 t_final-posnr,
                100 t_final-matkl,
                115 t_final-vbeln,
                130 t_final-kunnr,
                142 t_final-name1,
                156 t_final-land1,
                168 t_final-bukrs,
                190 t_final-ebeln,
                205 t_final-ebelp,
                208 t_final-lgort.
      endloop.
                  TOP-OF-PAGE                       *
    top-of-page.
      uline.
      write : /60 'G E N E R A L   D E T A I L S' COLOR 2 INVERSE OFF.
      ULINE.
      write :/ SY-VLINE,    'MATERIAL'       COLOR 4, "12 SY-VLINE,
            13 SY-VLINE,    'IND SECTOR',
            28 SY-VLINE,    'UNITS',
            43 SY-VLINE,    'PLANT',
            55 SY-VLINE,    'MAT DESC',
            68 SY-VLINE,    'LANGU',
            70 SY-VLINE,    'SALES DOC ITEM',
            95 SY-VLINE,    'MAT GROUP',
           110 SY-VLINE,    'SALES DOC',
           125 SY-VLINE,    'CUST ID',
           140 SY-VLINE,    'NAME',
           155 SY-VLINE,    'COUNTRY',
           165 sy-vline,    'company code',
           205 sy-vline,    'storge loc'.

    *& Report  YTESTCHA                                                    *
    REPORT ytestcha  NO STANDARD PAGE HEADING
    LINE-SIZE 250
    LINE-COUNT 22(3). .
    TABLES DECLARATION *
    TABLES : mara, "general material data
    makt, "material description
    marc, "plant data for material
    vbap, "sales document for item data
    ekko, "purchasing document header
    ekpo, "purchasing document item
    kna1. "customer master details
    INTERNAL TABLE DECLARATION *
    *DECLARE TYPES FIRST AND THE INTERNAL TABLES
    *DONT USE MATNR LIKE MARA-MATNR ,INSTEAD USE MARA TYPE MATNR WHERE MATNR
    *IS THE DATA ELEMENT FOR FIELD MATNR.
    TYPES: BEGIN OF ty_mara,
             matnr TYPE matnr,
             mtart TYPE mtart,
             meins TYPE meins,
             kunnr TYPE wettb,
           END OF ty_mara.
    TYPES: BEGIN OF ty_makt,
            matnr TYPE matnr,
            maktx TYPE maktx,
            spras TYPE spras,
           END OF ty_makt.
    TYPES: BEGIN OF ty_marc,
            matnr TYPE matnr,
            werks TYPE werks_d,
            END OF ty_marc.
    TYPES : BEGIN OF ty_kna1,
              kunnr TYPE kunnr,
              name1 TYPE name1_gp,
              land1 TYPE land1_gp,
              END OF ty_kna1.
    TYPES: BEGIN OF ty_vbap,
             matnr TYPE matnr,
             posnr TYPE posnr_va,
             matkl TYPE matkl,
             vbeln TYPE vbeln_va,
             END OF ty_vbap.
    TYPES: BEGIN OF ty_ekpo,
             ebeln TYPE ebeln,
             ebelp TYPE ebelp,
             bukrs TYPE bukrs,
             werks TYPE werks_d,
             lgort TYPE lgort_d,
             matnr TYPE matnr,
             mandt TYPE mandt,
            END OF ty_ekpo.
    DATA:t_mara TYPE TABLE OF ty_mara WITH HEADER LINE,
         t_makt TYPE TABLE OF ty_makt WITH HEADER LINE,
         t_marc TYPE TABLE OF ty_marc WITH HEADER LINE,
         t_kna1 TYPE TABLE OF ty_kna1 WITH HEADER LINE,
         t_vbap TYPE TABLE OF ty_vbap WITH HEADER LINE,
         t_ekpo TYPE TABLE OF ty_ekpo WITH HEADER LINE.
    FINAL INTERNAL TABLE *
    TYPES: BEGIN OF ty_final,
         matnr TYPE matnr,
         mtart TYPE mtart,
         meins TYPE meins,
         werks TYPE werks_d,
         maktx TYPE maktx,
         spras TYPE spras,
         vbeln TYPE vbeln_va,
         posnr TYPE posnr_va,
         matkl TYPE matkl,
         ebeln TYPE ebeln,
         ebelp TYPE ebelp,
         bukrs TYPE bukrs,
         kunnr TYPE kunnr,
         land1 TYPE land1_gp,
         name1 TYPE name1_gp,
         lgort TYPE lgort_d,
         END OF ty_final.
    DATA : t_final TYPE TABLE OF ty_final WITH HEADER LINE.
    *DATA: BEGIN OF V_matnr OCCURS 0,
    matnr LIKE mara-matnr,
    END OF t_matnr.
    DATA:
    a(32) TYPE c.
    a = 'IBT000000000000000001000000000000000050'.
    SELECTION SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_bukrs FOR ekpo-bukrs,
                     s_kunnr FOR kna1-kunnr,
                     s_werks FOR marc-werks,
                     s_matnr FOR mara-matnr OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    START OF SELECTION *
    START-OF-SELECTION.
    *USE SUBROUTINES
    *get data
      PERFORM get_data.
    *populate final table
      PERFORM populate_final_table.
    END-OF-SELECTION.
    *display output
      PERFORM display_output.
    TOP-OF-PAGE *
    TOP-OF-PAGE.
      ULINE.
      WRITE : /60 'G E N E R A L D E T A I L S' COLOR 2 INVERSE OFF.
      ULINE.
      WRITE :/ sy-vline, 'MATERIAL' COLOR 4, "12 SY-VLINE,
      13 sy-vline, 'IND SECTOR',
      28 sy-vline, 'UNITS',
      43 sy-vline, 'PLANT',
      55 sy-vline, 'MAT DESC',
      68 sy-vline, 'LANGU',
      70 sy-vline, 'SALES DOC ITEM',
      95 sy-vline, 'MAT GROUP',
      110 sy-vline, 'SALES DOC',
      125 sy-vline, 'CUST ID',
      140 sy-vline, 'NAME',
      155 sy-vline, 'COUNTRY',
      165 sy-vline, 'company code',
      205 sy-vline, 'storge loc'.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    *TRY TO CLEAR AND REFRESH TABLES BEFORE SELECT
    FORM get_data .
      CLEAR t_mara.
      REFRESH t_mara.
      SELECT matnr
             mtart
             meins
             kunnr
             FROM mara
             INTO TABLE t_mara
             WHERE matnr IN s_matnr.
      IF NOT t_mara[] IS INITIAL.
        CLEAR t_marc.
        REFRESH t_marc.
        SELECT matnr
               werks
               FROM marc
               INTO TABLE t_marc
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
                     AND werks IN s_werks.
        CLEAR t_makt.
        REFRESH t_makt.
        SELECT matnr
               maktx
               spras
               FROM makt
               INTO TABLE t_makt
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
               AND spras = sy-langu.
        CLEAR t_vbap.
        REFRESH t_vbap.
        SELECT matnr
               posnr
               matkl
               vbeln
               FROM vbap
               INTO TABLE t_vbap
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr.
        CLEAR t_ekpo.
        REFRESH t_ekpo.
        SELECT ebeln
               ebelp
               bukrs
               werks
               lgort
               matnr
               mandt
               FROM ekpo
               INTO TABLE t_ekpo
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
               AND werks IN s_werks.
      ENDIF.
      CLEAR t_kna1.
      REFRESH t_kna1.
      SELECT kunnr
             land1
             name1
             INTO  TABLE t_kna1
             FROM kna1.
    WHERE WERKS in s_werks.
    ENDFORM.                    " GET_DATA
    *&      Form  POPULATE_FINAL_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM populate_final_table .
    *AVOID LOOPS AND TRY  TO USE READ
      CLEAR t_final.
      REFRESH t_final.
      LOOP AT t_mara.
        MOVE t_mara-matnr TO t_final-matnr.
        MOVE t_mara-mtart TO t_final-mtart.
        MOVE t_mara-meins TO t_final-meins.
        READ TABLE t_marc WITH KEY matnr = t_mara-matnr.
        MOVE t_marc-werks TO t_final-werks.
        READ TABLE t_makt WITH KEY matnr = t_mara-matnr.
        MOVE t_makt-maktx TO t_final-maktx.
        MOVE t_makt-spras TO t_final-spras.
        READ TABLE t_vbap WITH KEY matnr = t_mara-matnr.
        MOVE t_vbap-posnr TO t_final-posnr.
        MOVE t_vbap-matkl TO t_final-matkl.
        MOVE t_vbap-vbeln TO t_final-vbeln.
        READ TABLE t_ekpo WITH KEY matnr = t_mara-matnr.
        MOVE t_ekpo-bukrs TO t_final-bukrs.
        MOVE t_ekpo-ebeln TO t_final-ebeln.
        MOVE t_ekpo-ebelp TO t_final-ebelp.
        MOVE t_ekpo-lgort TO t_final-lgort.
        READ TABLE t_kna1 WITH KEY kunnr  = t_mara-kunnr.
        MOVE t_kna1-kunnr TO t_final-kunnr.
        MOVE t_kna1-name1 TO t_final-name1.
        MOVE t_kna1-land1 TO t_final-land1.
        APPEND t_final.
        CLEAR :t_final,t_mara,t_marc,t_makt,t_ekpo,t_vbap.
      ENDLOOP.
    ENDFORM.                    " POPULATE_FINAL_TABLE
    *&      Form  DISPLAY_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM display_output .
      LOOP AT t_final.
        WRITE : 4 t_final-matnr,
        20 t_final-mtart,
        28 t_final-meins,
        46 t_final-werks,
        58 t_final-maktx,
        71 t_final-spras,
        78 t_final-posnr,
        100 t_final-matkl,
        115 t_final-vbeln,
        130 t_final-kunnr,
        142 t_final-name1,
        156 t_final-land1,
        168 t_final-bukrs,
        190 t_final-ebeln,
        205 t_final-ebelp,
        208 t_final-lgort.
      ENDLOOP.
    ENDFORM.                    " DISPLAY_OUTPUT

  • Oracle Performance Tuning

    Hi,
    Our organization recently also encounter Oracle DB performance issue, whereby I am searching for information for us to going into diagnostic the problem and finding the root cause of this performance problem.
    I had read through this old article where I found a number of points being highlighted was a good start for us, and just about this port, we would like to understand what in details of AIX 5.3 and asynch I/O turned-on had to do with Oracle DB performance, unfortunately the URL given in the article (possible due to the twas back in 2006), is no longer valid (http://www.oracle.com/technology/pub/articles/lewis_cbo.html), I tried that but the pages being redirected to (http://www.oracle.com/technetwork/articles/index.html).
    May I know, would you able to provide me the new URL path for the mentiened AIX 5.3 asynch I/O turned-on related information?
    Our environment:
    1) OS AIX 5.3
    2) Oracle DB 10g
    (If I have the AWR Report, would it be better possition for you to help us?)
    Thank you in advanced.
    Best Regards,
    KaiLoon Kok
    Edited by: 991132 on Feb 28, 2013 11:19 PM

    Hi,
    performance tuning is a very large argument and the causes of degradation may be many.
    There are several consideration that You have to do like:
    - which kind of application is running on the DB
    - which kind of optimizer is used
    - the striping of the data files across the disks
    - the dimension of the DB block
    - the waits that DB encounters
    - many other things like SORT_AREA_SIZE, HASH_AREA_SIZE, etc.
    To begin Yr analysis use the utlbstat.sql and utlestat.sql scripts provided in the $ORACLE_HOM/rdbms/admin directory and check the conditions of the DB.
    Increasing the SGA, like You've done, may not be the solution, somtimes it may instead decrease the overall performances.
    Also check in wich case the DB is slow, ex. executing some particular procedure, excuting a particular query, ....
    Try to identify the better the DB and then try to resubmit Yr problem.
    Bye Max
    null

  • Performance Tuning Query on Large Tables

    Hi All,
    I am new to the forums and have a very specic use case which requires performance tuning, but there are some limitations on what changes I am actualy able to make to the underlying data. Essentially I have two tables which contain what should be identical data, but for reasons of a less than optimal operational nature, the datasets are different in a number of ways.
    Essentially I am querying call record detail data. Table 1 (refered to in my test code as TIME_TEST) is what I want to consider the master data, or the "ultimate truth" if you will. Table one contains the CALLED_NUMBER which is always in a consistent format. It also contains the CALLED_DATE_TIME and DURATION (in seconds).
    Table 2 (TIME_TEST_COMPARE) is a reconciliation table taken from a different source but there is no consistent unique identifiers or PK-FK relations. This table contains a wide array of differing CALLED_NUMBER formats, hugely different to that in the master table. There is also scope that the time stamp may be out by up to 30 seconds, crazy I know, but that's just the way it is and I have no control over the source of this data. Finally the duration (in seconds) can be out by up to 5 seconds +/-.
    I want to create a join returning all of the master data and matching the master table to the reconciliation table on CALLED_NUMBER / CALL_DATE_TIME / DURATION. I have written the query which works from a logi perspective but it performs very badly (master table = 200,000 records, rec table = 6,000,000+ records). I am able to add partitions (currently the tables are partitioned by month of CALL_DATE_TIME) and can also apply indexes. I cannot make any changes at this time to the ETL process loading the data into these tables.
    I paste below the create table and insert scripts to recreate my scenario & the query that I am using. Any practical suggestions for query / table optimisation would be greatly appreciated.
    Kind regards
    Mike
    -------------- NOTE: ALL DATA HAS BEEN DE-SENSITISED
    /* --- CODE TO CREATE AND POPULATE TEST TABLES ---- */
    --CREATE MAIN "TIME_TEST" TABLE: THIS TABLE HOLDS CALLED NUMBERS IN A SPECIFIED/PRE-DEFINED FORMAT
    CREATE TABLE TIME_TEST ( CALLED_NUMBER VARCHAR2(50 BYTE),
                                            CALLED_DATE_TIME DATE, DURATION NUMBER );
    COMMIT;
    -- CREATE THE COMPARISON TABLE "TIME_TEST_COMPARE": THIS TABLE HOLDS WHAT SHOULD BE (BUT ISN'T) IDENTICAL CALL DATA.
    -- THE DATA CONTAINS DIFFERING NUMBER FORMATS, SLIGHTLY DIFFERENT CALL TIMES (ALLOW +/-60 SECONDS - THIS IS FOR A GOOD, ALBEIT UNHELPFUL, REASON)
    -- AND DURATIONS (ALLOW +/- 5 SECS)                                        
    CREATE TABLE TIME_TEST_COMPARE ( CALLED_NUMBER VARCHAR2(50 BYTE),
                                       CALLED_DATE_TIME DATE, DURATION NUMBER )                                        
    COMMIT;
    --CREATE INSERT DATA FOR THE MAIN TEST TIME TABLE
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 202);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 08:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 19);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 07:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 35);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 09:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 30);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:18:47 AM', 'MM/DD/YYYY HH:MI:SS AM'), 6);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:20:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 20);
    COMMIT;
    -- CREATE INSERT DATA FOR THE TABLE WHICH NEEDS TO BE COMPARED:
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:10:51 AM', 'MM/DD/YYYY HH:MI:SS AM'), 200);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '00447721345675', TO_DATE( '11/09/2011 08:10:59 AM', 'MM/DD/YYYY HH:MI:SS AM'), 21);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '07721345675', TO_DATE( '11/09/2011 07:11:20 AM', 'MM/DD/YYYY HH:MI:SS AM'), 33);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '+447721345675', TO_DATE( '11/09/2011 09:10:01 AM', 'MM/DD/YYYY HH:MI:SS AM'), 33);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '+447721345675#181345', TO_DATE( '11/09/2011 06:18:35 AM', 'MM/DD/YYYY HH:MI:SS AM')
    , 6);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '004477213456759777799', TO_DATE( '11/09/2011 06:19:58 AM', 'MM/DD/YYYY HH:MI:SS AM')
    , 17);
    COMMIT;
    /* --- QUERY TO UNDERTAKE MATCHING WHICH REQUIRES OPTIMISATION --------- */
    SELECT MAIN.CALLED_NUMBER AS MAIN_CALLED_NUMBER, MAIN.CALLED_DATE_TIME AS MAIN_CALL_DATE_TIME, MAIN.DURATION AS MAIN_DURATION,
         COMPARE.CALLED_NUMBER AS COMPARE_CALLED_NUMBER,COMPARE.CALLED_DATE_TIME AS COMPARE_CALLED_DATE_TIME,
         COMPARE.DURATION COMPARE_DURATION     
    FROM
    SELECT CALLED_NUMBER, CALLED_DATE_TIME, DURATION
    FROM TIME_TEST
    ) MAIN
    LEFT JOIN
    SELECT CALLED_NUMBER, CALLED_DATE_TIME, DURATION
    FROM TIME_TEST_COMPARE
    ) COMPARE
    ON INSTR(COMPARE.CALLED_NUMBER,MAIN.CALLED_NUMBER)<> 0
    AND MAIN.CALLED_DATE_TIME BETWEEN COMPARE.CALLED_DATE_TIME-(60/86400) AND COMPARE.CALLED_DATE_TIME+(60/86400)
    AND MAIN.DURATION BETWEEN MAIN.DURATION-(5/86400) AND MAIN.DURATION+(5/86400);

    What does your execution plan look like?

  • Performance tuning help

    hello friends,
    i am supposed to use ST05 and SE30 to do performance tuning,and also perform cost estimation,
    can some plz help me understand, i am not that good at reading large paragraphs, so plz donot give me links to help.sap
    thank you.

    Hi
    Se30  is the runtime analysis
    Here it will give you detailed graph about your program .
    abap time,database time application time ..
    st05 is sql trace where it will give you individual select stmnts in your program
    and also proper index is being used or not.
    Other performance tips
    check any select stmnts inside the loop and replace with read statement
    use binary search in read stmnts
    use proper index in where condition in select stmnt.
    if you want to execute st05..go st05..trace on-execute ur program--come to st05..trace off and --list trace...
    you get summary details of select queires and it will be pink or other color.
    Thanks

  • Performance Tuning for ECC 6.0

    Hi All,
      I have an ECC 6.0EP 7.0(ABAPJAVA). My system is very slow. I have Oracle 10.2.0.1.
      Can you please guide me how to do these steps in the sytem
    1) Reorganization should be done at least for the top 10 huge tables
    and their indexes
    2) Unaccessed data can be taken out by SAP Archiving
    3)Apply the relevant corrections for top sap standard objects
    4) CBO update statistics must be latest for all SAP and customer objects
    I have never done performance tuning and want to do it on this system.
    Regards,
    Jitender

    Hi,
    Below are the details of ST06. Please suggest me what should I do. the system performance is very bad.
    I require your inputs for performance tuning
    CPU
    Utilization  user    %                   3     Count                                    2
                  system  %                   3      Load average  1min                0.11
                  idle    %                       1                         5 min                0.21
                  io wait %                    93                       15 min                0.22
    System calls/s                        982  Context switches/s                    1752
    Interrupts/s                          4528
    Memory
    Physical mem avail  Kb             6291456 Physical mem free   Kb               93992
    Pages in/s                             473 Kb paged in/s                         3784
    Pages out/s                            211 Kb paged out/s                        1688
    Pool
    Configured swap     Kb            26869896 Maximum swap-space  Kb            26869896
    Free in swap-space  Kb            21631032 Actual swap-space   Kb            26869896
    Disk with highest response time
    Name                                   md3 Response time       ms                  51
    Utilization                              2     Queue                                    0
    Avg wait time       ms              0    Avg service time    ms                  51
    Kb transfered/s                       2   Operations/s                             0
    Current parameters in the system
    System:        sapretail_RET_01          Profile Parameters for SAP Buffers
    Date and Time: 08.01.2009       13:27:54
    Buffer Name                    Comment
    Profile Parameter             Value      Unit  Comment
    Program buffer                 PXA
    abap/buffersize               450000     kB    Size of program buffer
    abap/pxa                      shared           Program buffer mode
    |
    CUA buffer                     CUA
    rsdb/cua/buffersize           3000       kB    Size of CUA buffer
    The number of max. buffered CUA objects is always: size / (2 kB)
                                                                                    |
    Screen buffer                  PRES
    zcsa/presentation_buffer_area 4400000    Byte  Size of screen buffer
    sap/bufdir_entries            2000             Max. number of buffered screens
    |
    Generic key table buffer       TABL
    zcsa/table_buffer_area        30000000   Byte  Size of generic key table buffer
    zcsa/db_max_buftab            5000             Max. number of buffered objects
    |
    Single record table buffer     TABLP
    rtbb/buffer_length            10000      kB    Size of single record table buffer
    rtbb/max_tables               500              Max. number of buffered tables
    |
    Export/import buffer           EIBUF
    rsdb/obj/buffersize           4096       kB    Size of export/import buffer
    rsdb/obj/max_objects          2000             Max. number of objects in the buffer
    rsdb/obj/large_object_size    8192       Bytes Estimation for the size of the largest object
    rsdb/obj/mutex_n              0                Number of mutexes in Export/Import buffer
    |
    OTR buffer                     OTR
    rsdb/otr/buffersize_kb        4096       kB    Size of OTR buffer
    rsdb/otr/max_objects          2000             Max. number of objects in the buffer
    rsdb/otr/mutex_n              0                Number of mutexes in OTR buffer
    |
    Exp/Imp SHM buffer             ESM
    rsdb/esm/buffersize_kb        4096       kB    Size of exp/imp SHM buffer
    rsdb/esm/max_objects          2000             Max. number of objects in the buffer
    rsdb/esm/large_object_size    8192       Bytes Estimation for the size of the largest object
    rsdb/esm/mutex_n              0                Number of mutexes in Exp/Imp SHM buffer
    |
    Table definition buffer        TTAB
    rsdb/ntab/entrycount          20000            Max. number of table definitions buffered
    The size of the TTAB is nearly 100 bytes * rsdb/ntab/entrycount
                                                                                    |
    Field description buffer       FTAB
    rsdb/ntab/ftabsize            30000      kB    Size of field description buffer
    rsdb/ntab/entrycount          20000            Max. number / 2 of table descriptions buffered
    FTAB needs about 700 bytes per used entry
                                                                                    |
    Initial record buffer          IRBD
    rsdb/ntab/irbdsize            6000       kB    Size of initial record buffer
    rsdb/ntab/entrycount          20000            Max. number / 2 of initial records buffered
    IRBD needs about 300 bytes per used entry
                                                                                    |
    Short nametab (NTAB)           SNTAB
    rsdb/ntab/sntabsize           3000       kB    Size of short nametab
    rsdb/ntab/entrycount          20000            Max. number / 2 of entries buffered
    SNTAB needs about 150 bytes per used entry
                                                                                    |
    Calendar buffer                CALE
    zcsa/calendar_area            500000     Byte  Size of calendar buffer
    zcsa/calendar_ids             200              Max. number of directory entries
    |
    Roll, extended and heap memory EXTM
    ztta/roll_area                3000000    Byte  Roll area per workprocess (total)
    ztta/roll_first               1          Byte  First amount of roll area used in a dialog WP
    ztta/short_area               3200000    Byte  Short area per workprocess
    rdisp/ROLL_SHM                16384      8 kB  Part of roll file in shared memory
    rdisp/PG_SHM                  8192       8 kB  Part of paging file in shared memory
    rdisp/PG_LOCAL                150        8 kB  Paging buffer per workprocess
    em/initial_size_MB            4092       MB    Initial size of extended memory
    em/blocksize_KB               4096       kB    Size of one extended memory block
    em/address_space_MB           4092       MB    Address space reserved for ext. mem. (NT only)
    ztta/roll_extension           2000000000 Byte  Max. extended mem. per session (external mode)
    abap/heap_area_dia            2000000000 Byte  Max. heap memory for dialog workprocesses
    abap/heap_area_nondia         2000000000 Byte  Max. heap memory for non-dialog workprocesses
    abap/heap_area_total          2000000000 Byte  Max. usable heap memory
    abap/heaplimit                40000000   Byte  Workprocess restart limit of heap memory
    abap/use_paging               0                Paging for flat tables used (1) or not (0)
    |
    Statistic parameters
    rsdb/staton                   1                Statistic turned on (1) or off (0)
    rsdb/stattime                 0                Times for statistic turned on (1) or off (0)
    Regards,
    Jitender

  • Performance tuning for Sales Order and its configuration data extraction

    I write here the data fetching subroutine of an extract report.
    This report takes 2.5 hours to extract 36000 records in the quality server.
    Kindly provide me some suggestions for performance tuning it.
        SELECT auart vkorg vtweg spart vkbur augru
                  kunnr yxinsto bstdk vbeln kvgr1 kvgr2 vdatu
                  gwldt audat knumv
                  FROM vbak
                  INTO TABLE it_vbak
                  WHERE vbeln IN s_vbeln
                  AND erdat IN s_erdat
                  AND  auart IN s_auart
                  AND vkorg = p_vkorg
                  AND spart IN s_spart
                  AND vkbur IN s_vkbur
                  AND vtweg IN s_vtweg.
      IF NOT it_vbak[] IS INITIAL.
        SELECT mvgr1 mvgr2 mvgr3 mvgr4 mvgr5
               yyequnr vbeln cuobj
               FROM vbap
               INTO TABLE it_vbap
               FOR ALL ENTRIES IN it_vbak
               WHERE vbeln  =  it_vbak-vbeln
               AND   posnr = '000010'.
        SELECT bstkd inco1 zterm vbeln
               prsdt
               FROM vbkd
               INTO TABLE it_vbkd
               FOR ALL ENTRIES IN it_vbak
               WHERE vbeln  =  it_vbak-vbeln.
        SELECT kbetr kschl knumv
               FROM konv
               INTO TABLE it_konv
               FOR ALL ENTRIES IN it_vbak
               WHERE knumv  =  it_vbak-knumv
               AND   kschl  =  'PN00'.
        SELECT vbeln parvw kunnr
               FROM vbpa
               INTO TABLE it_vbpa
               FOR ALL ENTRIES IN it_vbak
               WHERE vbeln  =  it_vbak-vbeln
               AND parvw IN ('PE', 'YU', 'RE').
      ENDIF.
      LOOP AT it_vbap INTO wa_vbap.
        IF NOT wa_vbap-cuobj IS INITIAL.
          CALL FUNCTION 'VC_I_GET_CONFIGURATION'
               EXPORTING
                    instance            = wa_vbap-cuobj
                    language            = sy-langu
               TABLES
                    configuration       = it_config
               EXCEPTIONS
                    instance_not_found  = 1
                    internal_error      = 2
                    no_class_allocation = 3
                    instance_not_valid  = 4
                    OTHERS              = 5.
          IF sy-subrc = 0.
            READ TABLE it_config WITH KEY atnam  =  'IND_PRODUCT_LINES'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
            READ TABLE it_config WITH KEY atnam  =  'IND_GQ'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
            READ TABLE it_config WITH KEY atnam  =  'IND_VKN'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
            READ TABLE it_config WITH KEY atnam  =  'IND_ZE'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
            READ TABLE it_config WITH KEY atnam  =  'IND_HQ'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
        READ TABLE it_config WITH KEY atnam  =  'IND_CALCULATED_INST_HOURS'.
            IF sy-subrc  =  0.
              wa_char-obj  =  wa_vbap-cuobj.
              wa_char-atnam  =  it_config-atnam.
              wa_char-atwrt  =  it_config-atwrt.
              APPEND wa_char TO it_char.
              CLEAR wa_char.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP. " End of loop on it_vbap
    Edited by: jaya rangwani on May 11, 2010 12:50 PM
    Edited by: jaya rangwani on May 11, 2010 12:52 PM

    Hello Jaya,
    Will provide some point which will increase the performance of the program:
    1.     VBAK  & VBAP are header & item table. And so the relation will be 1 to many. In this case, you can use inner join instead multiple select statement.
    2.     If you are very much confident in handling the inner join, then you can do a single statement to get the data from VBAK, VBAP & VBKD using the inner join.
    3.     Before using for all entries, check whether the internal table is not initial.
    And sort the internal table and delete adjacent duplicates.
    4.     Sort all the resultant internal table based on the required key fields and read always using the binary search.
    You will get a number of documents where you can get a fair idea of what should be done and what should not be while doing a program related to performance issue.
    Also you can have number of function module and BAPI where you can get the sales order details. You can try with u2018BAPISDORDER_GETDETAILEDLISTu2019.
    Regards,
    Selva K.

  • Performance tuning measures in B2B 11g

    Hi Gurus,
    I am working on SOA Suite 11.1.1.3. I wanted to know performance tuning measures which could be configured in our B2B production instance.
    Need some information on how performance tuning could be done in both outbound and inbound flow. Please suggest few solutions which you might have implemented in your projects
    Thanks in advance

    Hi,
    Performance and throughput depends on hardware ,software and designed architecture. In a very basic system, we are able to achieve more then 20 msg/second.
    If you want more details, drop a mail to me or our PM ([email protected]) .
    Rgds,
    Nitesh Jain
    [email protected]

  • Performance Tuning Guidelines for Windows Server 2008 R2 mistake?

    Hi all,
    I'm reading the "Performance Tuning Guidelines for Windows Server 2008 R2" and I think there is same kind of error. At page 53 there is a sub chapter "I/O Priorities" that explain how to handle I/O priorities.
    In the guide it is said that in the registry I have to have a key:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses\{Device GUID}\DeviceParameters\Classpnp\
    Where {Device GUID} I think it is the value I get in device manager under one of my disks -> properties -> details -> "Device Class GUID"
    the trouble is that under the key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses\ I've no subkey matching my disk's device class guid! Maybe I'm drunk but I've checked every sub key under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses\
    but neither of them as a subkey named "DeviceParameter"!!
    So am I wrong? 

    Hi Andrea,
    To find the "DeviceParameter", please try to follow the steps below:
    1.Find this registry key and note the DeviceInstance value:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\
    2.Find the device instance registry key under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum" which contains information about the devices on the system and get the device interface GUID:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<hardware id>\<instance id>\Device Parameters
    I hope this helps.

  • In sap bi performance tuning option is considered in cube not in ods, why?

    details about
    indexes,partitions,aggregates,compression,roll up
    how these are helping to increase system performance
    why ods is not suitable?

    Hi,
    Generally we do performance tuning on the cubes as most of the reportings are done on the cubes hpowever in case of DSO also we can increase the performance by creating indexes of deactivating SID generation flag if there is no reporting on the DSO.
    Following 2 links will show you different aspects of performance tuning :-
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/404544e7-83c9-2e10-7b80-a24d5099ce3f
    For LID and High Cardinality
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/005f3197-d3da-2e10-1a94-a5c62342f2aa
    You may create aggregates on the cube if some of  IO are being used in the query very frequently to enhance the performce of query execution.
    Navesh

  • Performance Tuning on PL/sql

    Dear all,
    I am not sure whether I am right to post this enquiry here, please correct me if I am wrong.
    I have a sql stmt that run for a long time and caused a error of 'out of temp sapce' in oracle server. How can I tune my sql for better performance using command 'EXPLAIN PLAN'? How could I know the details information for those columns in the table 'PLAN_TABLE'?
    Best Regards,
    Marius

    Read the "Database Performance Tuning Guide and Reference" for your version of Oracle (available online, right here).
    Richard

  • CTS+ Performance Tuning Parameters

    Hi Experts,
    Same Transport is imported in 2 PI Systems lets say PI1 and PI2.
    In PI1 the import is very fast and in PI2 it is slow.I did a RFC Destination CTSDEPLOY Connection test and found that in PI1 system it is taking much less time than in PI2.In PI2 system time taken is almost 3 times of time taken in PI1.
    Can you please let me know what is the reason?Is there any performance tuning parameters that needs to be configured?If yes can please let me know how and where i.e; in details?
    Regards
    Anik

    Srinivas:
    Take look into this guide..it has all the parameters defined and explained
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
    more links in this thread
    Performance Tuning in XI

  • Beta Testing Ends For "Oracle Database 11g: Performance Tuning" Exam

    !http://blogs.oracle.com/certification/2009-0204-1122.gif!
    <p>The beta period ended on Aug 31, 2009 for the <strong>Oracle Database 11g: Performance Tuning</strong> certification exam (1Z1-054), which is a single exam requirement for Oracle 11g DBA OCPs to earn the Oracle Database 11g Performance Tuning Certified Expert (OCE) certification.</p>
    <p align="justify">Full details are posted on the Oracle Certification Blog.</p>

    Hello Hussein
    Yes true, I remember it for the OCE and Linux exams they rescheduled the end date several times. As far as I know it is related to the number of participants and the given feedback.
    I've also participated to several other exams, and I must admit that it is a long and hard process to get through. When I got the feedback 10 weeks after the beta period closure, I had to review nearly all the topics to get the exams passed the second time. But this it is a cheap and good exam preparation.
    What about you Hussein? Do you think that's trivial?
    Cheers,
    Hub

Maybe you are looking for