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.

Similar Messages

  • Performance Tuning Certification for Application Developer

    Hi,
    Can you please advise if there is any Oracle Performance Tuning certification for an Application Developer and Oracle 9i to 10G migration certification? If yes, can you please let me know its Oracle examination number?
    I have already passed 1Z0-007 and 1Z0-147 in Oct 2008.
    Thanks in advance,
    Sandeep Kumar

    ... if there is any Oracle Performance Tuning certification for an Application Developer ...There is no performance tuning related certification for application developers. There is one for the DBA track.
    Also -- to answer your question in the other thread:
    So to clear this certification do I need to re-appear all the 3 exams as they were given in 2008 or just 1Z0-146 is enough.Having passed 1Z0-007 and 1Z0-147, if you pass 1Z0-046, you will gain the certification: Oracle Advanced PL/SQL Developer Certified Professional

  • 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.

  • Step for performance tuning in oracle 10g

    hi,
    i want to know the step of persformance tuning and sql tuning.

    I'd suggest you to refer to documentation: [Oracle Database 2 Day + Performance Tuning Guide 10g Release 2 (10.2)|http://download.oracle.com/docs/cd/B19306_01/server.102/b28051/toc.htm]
    Kamran Agayev A. (10g OCP)
    http://kamranagayev.wordpress.com
    [Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • Reg: Process Chain, query performance tuning steps

    Hi All,
    I come across a question like,  There is a process chain of 20 processes.out of which 5 processes are completed at the 6th step error occured and it cannot be rectified. I should start the chain again from the 7th step.If i go to a prticular step i can do that particular step, How can i start the entair chain again from step 7.i know that i need to use a function module but i dont know the name of FM. Please somebody help me out.
    Please let me know the steps involved in query performance tuning and aggregate tuning.
    Thanks & Regards
    Omkar.K

    Hi,
    Process Chain
    Method 1 (when it fails in a step/request)
    /people/siegfried.szameitat/blog/2006/02/26/restarting-processchains
    How is it possible to restart a process chain at a failed step/request?
    Sometimes, it doesn't help to just set a request to green status in order to run the process chain from that step on to the end.
    You need to set the failed request/step to green in the database as well as you need to raise the event that will force the process chain to run to the end from the next request/step on.
    Therefore you need to open the messages of a failed step by right clicking on it and selecting 'display messages'.
    In the opened popup click on the tab 'Chain'.
    In a parallel session goto transaction se16 for table rspcprocesslog and display the entries with the following selections:
    1. copy the variant from the popup to the variante of table rspcprocesslog
    2. copy the instance from the popup to the instance of table rspcprocesslog
    3. copy the start date from the popup to the batchdate of table rspcprocesslog
    Press F8 to display the entries of table rspcprocesslog.
    Now open another session and goto transaction se37. Enter RSPC_PROCESS_FINISH as the name of the function module and run the fm in test mode.
    Now copy the entries of table rspcprocesslog to the input parameters of the function module like described as follows:
    1. rspcprocesslog-log_id -> i_logid
    2. rspcprocesslog-type -> i_type
    3. rspcprocesslog-variante -> i_variant
    4. rspcprocesslog-instance -> i_instance
    5. enter 'G' for parameter i_state (sets the status to green).
    Now press F8 to run the fm.
    Now the actual process will be set to green and the following process in the chain will be started and the chain can run to the end.
    Of course you can also set the state of a specific step in the chain to any other possible value like 'R' = ended with errors, 'F' = finished, 'X' = cancelled ....
    Check out the value help on field rspcprocesslog-state in transaction se16 for the possible values.
    Query performance tuning
    General tips
    Using aggregates and compression.
    Using  less and complex cell definitions if possible.
    1. Avoid using too many nav. attr
    2. Avoid RKF and CKF
    3. Many chars in row.
    By using T-codes ST03 or ST03N
    Go to transaction ST03 > switch to expert mode > from left side menu > and there in system load history and distribution for a particual day > check query execution time.
    /people/andreas.vogel/blog/2007/04/08/statistical-records-part-4-how-to-read-st03n-datasets-from-db-in-nw2004
    /people/andreas.vogel/blog/2007/03/16/how-to-read-st03n-datasets-from-db
    Try table rsddstats to get the statistics
    Using cache memoery will decrease the loading time of the report.
    Run reporting agent at night and sending results to email.This will ensure use of OLAP cache. So later report execution will retrieve the result faster from the OLAP cache.
    Also try
    1.  Use different parameters in ST03 to see the two important parameters aggregation ratio and records transferred to F/E to DB selected.
    2. Use the program SAP_INFOCUBE_DESIGNS (Performance of BW infocubes) to see the aggregation ratio for the cube. If the cube does not appear in the list of this report, try to run RSRV checks on the cube and aggregates.
    Go to SE38 > Run the program SAP_INFOCUBE_DESIGNS
    It will shown dimension Vs Fact tables Size in percent.If you mean speed of queries on a cube as performance metric of cube,measure query runtime.
    3. --- sign is the valuation of the aggregate. You can say -3 is the valuation of the aggregate design and usage. ++ means that its compression is good and access is also more (in effect, performance is good). If you check its compression ratio, it must be good. -- means the compression ratio is not so good and access is also not so good (performance is not so good).The more is the positives...more is useful the aggregate and more it satisfies the number of queries. The greater the number of minus signs, the worse the evaluation of the aggregate. The larger the number of plus signs, the better the evaluation of the aggregate.
    if "-----" then it means it just an overhead. Aggregate can potentially be deleted and "+++++" means Aggregate is potentially very useful.
    Refer.
    http://help.sap.com/saphelp_nw70/helpdata/en/b8/23813b310c4a0ee10000000a114084/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/60/f0fb411e255f24e10000000a1550b0/frameset.htm
    4. Run your query in RSRT and run the query in the debug mode. Select "Display Aggregates Found" and "Do not use cache" in the debug mode. This will tell you if it hit any aggregates while running. If it does not show any aggregates, you might want to redesign your aggregates for the query.
    Also your query performance can depend upon criteria and since you have given selection only on one infoprovider...just check if you are selecting huge amount of data in the report
    Check for the query read mode in RSRT.(whether its A,X or H)..advisable read mode is X.
    5. In BI 7 statistics need to be activated for ST03 and BI admin cockpit to work.
    By implementing BW Statistics Business Content - you need to install, feed data and through ready made reports which for analysis.
    http://help.sap.com/saphelp_nw70/helpdata/en/26/4bc0417951d117e10000000a155106/frameset.htm
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/0dbf65e04311d286d6006008b32e84/frameset.htm
    You can go to T-Code DB20 which gives you all the performance related information like
    Partitions
    Databases
    Schemas
    Buffer Pools
    Tablespaces etc
    use tool RSDDK_CHECK_AGGREGATE in se38 to check for the corrupt aggregates
    If aggregates contain incorrect data, you must regenerate them.
    Note 646402 - Programs for checking aggregates (as of BW 3.0B SP15)
    Thanks,
    JituK

  • Performance tuning in oracle 10g

    Hi Guys
    i hope all are well,Have a nice day Today
    i have discuss with some performance tuning issue
    recently , i joined the new project that project improve the efficiency of the applicaton. in this environment oracle plsql langauage are used , so if i need to improve effiency of application what are the step are taken
    and what are the way to go through the process improvement
    kindly help me

    generate statspack/AWR reports
    HOW To Make TUNING request
    https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360003

  • Need Message Type Creation Steps for Different Scenarios

    Hi Friends,
    I have done following steps for Outbound IDoc [Extended IDoc]
    1. Create custom Message Type                           WE81
    2. Create custom Segments               WE31
    3. Create IDoc Extension               WE30
    4. Create IDoc Type [Basic+Extu2019n]          WE30
    5. Link Custom IDoc with Message Type          WE82
    6. Activate CP for Custom Message Type                     BD50
    7. Activate Change Pointers globally Flag on     BD61
    8. Maintain custom message type in CDM                     BD64
    9. Define partner profile for custom msgtype                    WE20
    After completion of the above steps.
    I am unable to do the following steps.
    10. Checking the IDoc Creation                          BD10
              or
    11. Execute CP IDoc generation Program     RBDMIDOC
    Here  these steps I am unable to find Message Type.
    If we create message type thru BD53 [std idoc] it will come.
    but my situation is for extended IDoc I need to create message type.
    If any one worked on this situation Help me out.
    Regards,
    Mutyapu4u.
    Edited by: naveen mutyapu on Jun 24, 2008 2:51 PM

    Hi,
    Check the link below:
    http://www.****************/Tutorials/ALE/ALEMainPage.htm
    Hope this helps..
    Regards,
    Sharath

  • Need Applying Note 1422843 steps for my SAP system

    Hello,
    My company have an SAP netweaver 7.0 and when i check in system status sub-window and disp+work i got 221 level patch  of the kernel and non unicode system, i read the note 1422843  and i want to apply it but i need a confirmation of steps i have to run following the note :<br>
    1-i use SE38 to create a report in the package SPOO with the name RSPO2010, in the header of that report i past the text from
       the note in the  <b>"Seletion texts"</b>.<br>
    2-I apply the note via transaction snote then i run that report<br>
    3- I update the  kernel with the suitable (bellow) patch attached obtained from the part <b>SP Patch Level</b> of the same note :<br>
    <b>SAP KERNEL 7.00 64-BIT    SP238    000238</b>
    4- i restart the SAP system.
    The note link : https://websmp230.sap-ag.de/sap(bD1mciZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1422843#PL
    thank you for your help.

    Hello,
    About The point 4 (
    Apply the latest kernel patch level 236, and then apply disp+work patch level 244 (the latest).
    ), when i follow the download link of kernel patch suitable to my release (SAP KERNEL 7.00 64-BIT) in the note 1425811 (related to the note 1422843) i have two choices with different packages  :
    1) SAP KERNEL 7.00 64-BIT -> AIX 64bit -> #Database independent, this list offers this packages :
              A)       SAPEXE_236-20001020.SAR   Kernel Part I (for Basis 7.00)
              B)  dw_239-20001020.sar   disp+work package
              C)       dw_245-20001020.sar   disp+work package
    2) SAP KERNEL 7.00 64-BIT -> AIX 64bit -> ORACLE, this list offers this packages :
              A)        SAPEXEDB_236-20001021.SAR   Kernel Part II (for Basis 7.00)
    Please i need to know What packages to apply? and i need to understand while the note refers only to the kernel patch how did you know that the disp+work package also must be applied?
    Edited by: NetMed on Mar 6, 2010 9:49 PM

  • 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

  • High-level view of steps for 10g OWB-OLAP to Discoverer

    I would greatly appreciate ANY feedback to the following steps. These are not necessarily correct or the best way to do this. I am attempting to take source data, use OWB, create the analytical workspace, and from there have the metadata available and used by Discoverer.
    This is rather high-level, feel free to jump in anywhere.
    We are trying to see if we can get away with NOT using the Analytical workspace manager (AWM) if possible. With that in mind, we are trying to make the most of the process with OWB & OLAP.
    Is this possible to do without ever using the AWM? Can we go end to end (source data--->discoverer final reporting) primarily using OWB to get to the point where we can use the metadata for Discoverer?
    Can anyone relate experiences perhaps that would make me want to consider using the AWM at certain points instead?
    Most importantly, if I do use this methodology, would I be safe after everything has been setup? WOuld I want to consider using AWM at a later point for performance reasons while I am using Discoverer? Or would OWB be helpful as well in some aspects in maintenance of data? Any clue on how often I might need to rebuild, and if so, what to use in that case to minimize time?
    Thanks so much for any insight or opinion on anything I have mentioned!

    Hi Gregory,
    I guess the answer is that this depends. My first question is whether you are looking at a Relational OLAP or Multi Dimensional OLAP solution? This may change the discussion slightly, but just lets look at some thoughts:
    In essence you can use the OWB bridge to generate the AW objects (cubes etc). If you do that (for either ROLAP or MOLAP) you will get the AW objects enabled for querying, using any OLAPI query tool, like BI Beans or the new Discoverer for OLAP. The current OWB release does not run the discoverer enabler (creating views specifically written for EUL support in Disco classic).
    So if you are looking at Disco classic you must use the AWM route...
    The other things that you must be aware off is that the OWB technology is limited to cloning the relational objects for now. This means that you will create a new model based on your existing data. If you want to tweak the objects generated you will probably need to go to the underlying code in either scenario.
    So if you want to create calculated measures for example you could generate a cube with OWB, create a "dummy measure" and add the formula in OLAP DML. The same will go for some other objects you may want to create such as text measures...
    The benefit of creating place holder or dummy measures is that the metadata is completely in order, you simply change the measure's behavior...
    For the future (the beta starts relatively soon) OWB will support much more modeling, like logical cubes and you can then directly deploy to OLAP. Also the mappings are transparent to the storage. So you map to a logical cube and OWB will implement the correct to load either OLAP or relational targets.
    We will also start supporting calculated measures, sparsity definitions, partioning and compression on cubes, as we will support parallel building of cubes.
    Hope this gives you some insight!
    Jean-Pierre

  • SQL Tuning Pack for 10G R2 database

    Hi,
    I am looking for a SQL tuning pack plug in with SQL Developer 2.1 release for Oracle 10g R2 database.
    Any information this would be appreciated.
    Thanks,
    Patchava

    There is no 'tuning pack' plugin for SQL Developer, We can process trace files, monitor sessions etc.
    If you are looking for specifics on things like SQL Advisor, SQL Profiles and things, we do not have specific features for them yet, but we have planned them in the future.
    Barry

  • Need an IDOC EDI STEPS for material document(MB03)

    HI ALL,
    i need an IDOC for material document. For example, user in SAP make material document (t-code MIGO or MB11), then automatical is downloading outbound IDOC, which contain information about material document.HOW TO PROCESS IT THROUGH EDI .GIVE THE STEPS.

    like below you can do your settings
    The EDI Configuration required to be done for Transfering IDoc to non SAP System is.
    1. First of all, we need to identify the Transaction Data which is required to be Transfered to external System.(Ex: Sales Order Data or Shipment Data or Delivery Related Data).
    2. Secondly, Identify the IDoc Type & Message Type. IDoc Type can be found in Transaction WE30 & Message Type Can be explored in Transaction WE81.
    3. After that, assign the IDoc Type to Message Type in WE82.
    4. Identify the Selection Program (Outbound) which is generally a Function Module in the Form of IDOC_OUTPUT_<Message Type>. Example, if the Message Type is ORDERS, the FM will be IDOC_OUTPUT_ORDERS.
    5. Assign the Function Module to a Process Code in WE41 (Process Code for Outbound).
    6. Configure Port Definitions in WE21 for which the RFC destinations are to be maintained in Transaction SM59.
    7. Maintain Partner Profiles for the Outbound Message Processing in WE20.
    8. Last, but not the Least, we need to Focus Mainly on Message Control Configuration which is nothing but maintaining the Output Type for the Outbound IDoc to be Triggered for the Sales Order Application or Delivery Application.
    i. In Message Control Configuration, we'll maintain
    a. Condition Tables
    b. Access Sequences
    c. Output Types
    ii. To Create the above elements, we can go to SPRO Transaction and do the same depending on the Application Area such as Sales / Shipping / Logistics Execution etc.
    iii. For Output Types & Access Sequences, we can go to the Transaction NACE or VK01 in which we'll maintain the Output Types / Access Sequences & Condition Records.
    Please note that all the above steps may not be needed if we are using some of the Standard Elements provided by SAP such as Message Type, Process Code, IDoc Type & Selection Program as many of the Standard SAP Applications have their own Elements for different Application Areas.
    For example, if you want to send an Order Confirmation IDoc when the Sales Order is saved, you can use the Message Type ORDRSP, IDoc Type ORDERS05 & Selection Program as IDOC_OUTPUT_ORDRSP.
    However, Message Control Configuration is the Key Factor and is required for all the Applications as per the Customer's / Client's Requirements.

  • Performance Tuning in Oracle 10g during Migration - Insert Statements

    Some of the tables contain a huge data e.g. 7 million records to be migrated.
    The table structure of Source Database is different from the Target Database (Where we are doing the migration).
    So we have made a use of temporary tables to collect the data from different tables using joins and populate the main table using INSERT INTO tableA SELECT * FROM tableZ
    Now the problem statement.
    Some of the queries take infinite time and data doesnt get inserted into the main tables. I have seen the explain plan and didnt find anything unusual. The same query works fine when we use date time stamp and restrict the data.
    What parameters do we have to take care ? Is there any configuration needed on Oracle Server side ? If yes which parameters?

    Lets start with the basics. First what is 10g? Is that 10.1.0.3 or 10.2.0.4 or something else?
    Second 7 million records is a relatively small dataset.
    No one can possibly help you with no DDL, no DML, no Explain Plan output generated with DBMS_XPLAN.
    We can make wild guesses but that is like closing your eyes in a dark room and trying to find the light switch.
    Please repost all relevant information so someone can help you.

  • Disk IO performance tuning of oracle 10g 64bit  on rhel5 64bit

    Hi Friends,
    I am very new on oracle database tuning part.
    I am facing some issues on the oracle disk io data transfer rate on rhel5.
    Please help me. Details of issue is below.
    I am using the iscsi san storage to install the database. My san storage is having more than 100Mbps transfer speed.
    When oracle backup is running the data transfer rate is spikes upto 100Mbps, but when oracle normal transaction is happening it is not going more than 30Mbps.
    My data base is an hybrid one and more read transaction is happening. Server is running with 4 cpus and 16GB of ram.
    Here i am providing the iostat command output. Please have a look into this and help me to resolve.
    [root@hostname ~]# iostat -x 1 5
    Linux 2.6.18-128.el5 (hostname)    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              24.94    0.00    4.15   31.94    0.00   38.96
    Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               7.61    10.42  4.28  5.28   345.38   125.59    49.26     0.12   12.91   3.18   3.04
    sda1              0.30     0.00  0.03  0.00     0.65     0.00    22.59     0.00    3.76   2.66   0.01
    sda2              0.22     0.00  0.01  0.00     0.23     0.00    18.78     0.00    4.05   3.54   0.00
    sda3              5.25     8.26  3.58  2.47   310.67    85.87    65.54     0.09   15.09   3.37   2.04
    sda4              0.00     0.00  0.00  0.00     0.00     0.00     1.83     0.00    0.33   0.33   0.00
    sda5              0.83     1.95  0.55  2.70    31.62    37.24    21.17     0.03    8.88   3.49   1.13
    sda6              0.68     0.07  0.06  0.04     1.11     0.85    19.74     0.00   13.91   9.05   0.09
    sda7              0.33     0.14  0.04  0.07     0.90     1.63    24.17     0.00   15.73  11.13   0.12
    sdb               0.06     0.00  0.03  0.00     0.75     0.00    25.57     0.00    1.64   1.48   0.00
    sdb1              0.04     0.00  0.01  0.00     0.45     0.00    34.90     0.00    3.13   2.85   0.00
    sdc               5.86     0.16 45.05  2.74  7805.28   129.85   166.04     2.57   53.82   9.12  43.58
    sdc1              5.79     0.16 45.02  2.74  7804.99   129.85   166.12     2.57   53.85   9.12  43.57
    sdd               5.85     0.17 44.45  2.68  7767.34   133.80   167.65     2.68   56.95   9.43  44.43
    sdd1              5.78     0.17 44.42  2.68  7767.06   133.80   167.74     2.68   56.98   9.43  44.43
    sde               5.89     0.16 44.86  2.37  7774.84   122.75   167.23     2.24   47.51   8.96  42.30
    sde1              5.82     0.16 44.83  2.37  7774.55   122.75   167.31     2.24   47.54   8.96  42.29
    sdf               5.91     0.16 63.70  2.69  8053.71   133.15   123.32     2.98   44.89   7.59  50.40
    sdf1              5.84     0.16 63.67  2.69  8053.43   133.15   123.36     2.98   44.91   7.59  50.39
    sdg               0.19     0.11  0.07  0.61     2.54   131.30   199.27     0.04   65.76  28.52   1.92
    sdg1              0.12     0.11  0.04  0.61     2.25   131.30   206.81     0.04   68.26  29.56   1.91
    sdh               4.43     2.29  0.99  1.36   199.10    29.19    97.03     0.05   20.92   5.13   1.21
    sdh1              4.43     2.29  0.98  1.36   198.95    29.19    97.49     0.05   21.01   5.14   1.20
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              13.72    0.00    2.49   75.31    0.00    8.48
    Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda5              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda6              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda7              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdc              18.00     0.00 54.00  2.00 25984.00   160.00   466.86     8.96   94.18  17.89 100.20
    sdc1             18.00     0.00 54.00  2.00 25984.00   160.00   466.86     8.96   94.18  17.89 100.20
    sdd              18.00     0.00 79.00  2.00 40240.00    32.00   497.19     8.61  118.93  12.04  *97.50*
    sdd1             18.00     0.00 79.00  2.00 40240.00    32.00   497.19     8.61  118.93  12.04  *97.50*
    sde              19.00     0.00 44.00  8.00 26656.00   187.00   516.21     9.34  119.81  19.27 *100.20*
    sde1             19.00     0.00 44.00  8.00 26656.00   187.00   516.21     9.34  119.81  19.27 *100.20*
    sdf              26.00     0.00 76.00  6.00 35600.00    59.00   434.87     3.23   40.76  10.52  86.30
    sdf1             26.00     0.00 76.00  6.00 35600.00    59.00   434.87     3.23   40.76  10.52  86.30
    sdg               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdg1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              18.64    0.00    5.29   49.87    0.00   26.20
    Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00    14.00  0.00  3.00     0.00   136.00    45.33     0.01    1.67   1.67   0.50
    sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda3              0.00    14.00  0.00  3.00     0.00   136.00    45.33     0.01    1.67   1.67   0.50
    sda4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda5              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda6              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda7              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdc              44.00     0.00 99.00  1.00 58368.00     8.00   583.76    12.03  154.83   9.66  96.60
    sdc1             44.00     0.00 99.00  1.00 58368.00     8.00   583.76    12.03  154.83   9.66  96.60
    sdd              44.00     0.00 103.00  0.00 50672.00     0.00   491.96    10.07   82.47   8.37  86.20
    sdd1             44.00     0.00 103.00  0.00 50672.00     0.00   491.96    10.07   82.47   8.37  86.20
    sde              45.00     0.00 110.00  5.00 58176.00   126.00   506.97    13.01  113.47   8.02  92.20
    sde1             45.00     0.00 110.00  5.00 58176.00   126.00   506.97    13.01  113.47   8.02  92.20
    sdf              40.00     0.00 122.00  5.00 52944.00   126.00   417.87     9.74   63.94   6.52  82.80
    sdf1             40.00     0.00 122.00  5.00 52944.00   126.00   417.87     9.74   63.94   6.52  82.80
    sdg               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.01    0.00   0.00   0.90
    sdg1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.01    0.00   0.00   0.90
    sdh               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               7.48    0.00    2.49   *61.60*    0.00   28.43
    Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda5              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda6              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda7              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdc              13.86     0.00 38.61  0.99 19611.88    11.88   495.50     3.35   79.53  25.03  99.11
    sdc1             13.86     0.00 38.61  0.99 19611.88    11.88   495.50     3.35   79.53  25.03  99.11
    sdd              15.84     0.00 40.59  0.99 17758.42    31.68   427.81    10.93  122.36  23.26  96.73
    sdd1             15.84     0.00 40.59  0.99 17758.42    31.68   427.81    10.93  122.36  23.26  96.73
    sde              12.87     0.00 46.53  1.98 22035.64    70.30   455.65    13.19  275.96  20.43  99.11
    sde1             12.87     0.00 46.53  1.98 22035.64    70.30   455.65    13.19  275.96  20.43  99.11
    sdf              13.86     0.00 39.60  2.97 17584.16   101.98   415.42     6.83   81.19  22.21  94.55
    sdf1             13.86     0.00 39.60  2.97 17584.16   101.98   415.42     6.83   81.19  22.21  94.55
    sdg               0.00     0.00  0.00  0.99     0.00     7.92     8.00     0.21  226.00 217.00  21.49
    sdg1              0.00     0.00  0.00  0.99     0.00     7.92     8.00     0.21  226.00 217.00  21.49
    sdh               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              24.69    0.00    8.98   48.38    0.00   17.96
    Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda3              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda5              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda6              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sda7              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdb1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdc              25.00     0.00 61.00  4.00 36304.00   120.00   560.37     9.58  156.23  14.78  96.10
    sdc1             25.00     0.00 61.00  4.00 36304.00   120.00   560.37     9.58  156.23  14.78  96.10
    sdd              23.00     0.00 82.00  1.00 34832.00    32.00   420.05     7.61  163.49  11.27  93.50
    sdd1             23.00     0.00 82.00  1.00 34832.00    32.00   420.05     7.61  163.49  11.27  93.50
    sde              27.00     0.00 62.00  0.00 32864.00     0.00   530.06     9.41  149.56  16.15 100.10
    sde1             27.00     0.00 62.00  0.00 32864.00     0.00   530.06     9.41  149.56  16.15 100.10
    sdf              17.00     0.00 101.00  4.00 42656.00   132.00   407.50     4.18   88.24   6.72  70.60
    sdf1             17.00     0.00 101.00  4.00 42656.00   132.00   407.50     4.18   88.24   6.72  70.60
    sdg               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdg1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    sdh1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00Regards,
    Nayagan
    Edited by: nayagan on Jan 27, 2010 12:23 PM
    Edited by: nayagan on Jan 27, 2010 2:04 PM

    Two points:
    1. I can not read what you posted because you did not read the FAQ (upper right) and put tags around the listing so it would retain its formatting.
    2. Even if I could read them I wouldn't as they are not necessarily relevant. What I would want to see is what query you are issuing that you think should be maxing out your disk subsystem and giving you the performance you expect. Single block reads read single blocks. Post the DML and the corresponding explain plan report generated using DBMS_XPLAN.DISPLAY or AUTOTRACE. Also the result of this statement in SQL*Plus.show arraysize
    Because this is precisely what is going to be brought back with each round trip between the client (SQL*Plus) and the server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Help needed in Performance Tuning

    Version : 2008 R2
    Hi,
    I am trying to build a salable proc which does the computation logic and currently i have 50k user. I am thinking in future perspective and targeting this logic for 500k users.
    Sample table schema and test data
    create table Comp_Detail(IDcompDetail int identity(1,1) primary key,IDcompAFR int,CompID int default 1050,UserId bigint,
    TransferAmount money, processStatus bit default 0,AmtTransferDate datetime);
    --===== Create and populate the balance table on-the-fly
    ;WITH
    cteRowSource1 AS
    SELECT TOP 500000
    N = ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
    FROM master.sys.all_columns ac1
    CROSS JOIN master.sys.all_columns ac2
    INSERT into Comp_Detail(IDcompAFR,CompID,UserId,TransferAmount)
    SELECT 1000, 1050,
    UserId = ISNULL(N,0)
    ,TransferAmount = N*10
    FROM cteRowSource1
    -- select * from Comp_Detail
    --===== Create and populate the balance table on-the-fly
    Create table User_bank(IDUserBank int identity(1,1) primary key, UserId bigint,Amount_Pend money,Amount_Available money,
    LastModDt datetime);
    ;WITH
    cteRowSource AS
    SELECT TOP 500000
    N = ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
    FROM master.sys.all_columns ac1
    CROSS JOIN master.sys.all_columns ac2
    Insert into User_bank(UserId,Amount_Pend,Amount_Available)
    SELECT UserId = ISNULL(N,0)
    ,PendingAmount = N*10
    ,AvailableAmount = N*2
    FROM cteRowSource
    ;-- select * from member_balance;
    update Comp_Detail set IDcompAFR = 1001 where IDcompDetail > 10000 and IDcompDetail < 20000 ;
    update Comp_Detail set IDcompAFR = 1002 where IDcompDetail > 20000 and IDcompDetail < 30000;
    update Comp_Detail set IDcompAFR = 1003 where IDcompDetail > 30000 and IDcompDetail < 40000;
    update Comp_Detail set IDcompAFR = 1004 where IDcompDetail > 40000 and IDcompDetail <50000;
    update Comp_Detail set IDcompAFR = 1005 where IDcompDetail > 50000 and IDcompDetail < 60000;
    My logic below,
    Declare @CompID int = 1050;
    BEGIN
    -- Check if any data available to be processed
    IF EXISTS (
    SELECT TOP 1 IDcompAFR
    FROM Comp_Detail
    WHERE CompID = @CompID
    AND coalesce(processStatus, 0) = 0
    BEGIN
    BEGIN TRY
    -- Set it so if the first UPDATE fails, we won't even start the second update.This really says "If we're in a transaction
    -- and something fails, stop processing the transaction and do a rollback if we can".
    SET XACT_ABORT ON;
    -- temp variable to hold the actual data. this will be used to get IDcompAFR once the balance updated
    DECLARE @ActualData TABLE (
    UserId BIGINT
    ,IDcompAFR BIGINT
    ,ProcessingAmount MONEY
    -- table variable to capture the Affected UserId's
    DECLARE @AffecedRecords TABLE (UserId BIGINT);
    BEGIN TRANSACTION;
    -- Get the whole data to be processed.
    INSERT INTO @ActualData (
    UserId
    ,IDcompAFR
    ,ProcessingAmount
    SELECT UserId
    ,IDcompAFR
    ,ProcessingAmount = COALESCE(TransferAmount, 0)
    FROM Comp_Detail
    WHERE CompID = @CompID
    AND coalesce(processStatus, 0) = 0
    -- Aggregare the ProcessingAmount based on UserId
    WITH AggregateData
    AS (
    SELECT UserId
    ,ProcessingAmount = SUM(COALESCE(ProcessingAmount, 0))
    FROM @ActualData
    GROUP BY UserId
    --Do the Amount update and capture the UserId that are affected.
    UPDATE UB
    SET UB.Amount_Available = COALESCE(UB.Amount_Available, 0) + AD.ProcessingAmount
    ,UB.Amount_Pend = COALESCE(UB.Amount_Pend, 0) - AD.ProcessingAmount
    ,LastModDt = getdate()
    OUTPUT deleted.UserId
    INTO @AffecedRecords(UserId)
    FROM User_bank UB
    INNER JOIN AggregateData AD ON UB.UserId = AD.UserId;
    --===== Using the captured UserId get the IDcompAFR from @ActualData temp variable
    -- and then update the processStatus = 1
    --- means OFR processed for the trip .
    UPDATE Comp_Detail
    SET processStatus = 1
    ,AmtTransferDate = getdate()
    WHERE IDcompAFR IN (
    SELECT DISTINCT AD.IDcompAFR
    FROM @ActualData AD
    INNER JOIN @AffecedRecords AR ON (AD.UserId = AR.UserId)
    AND processStatus = 0;
    COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
    DECLARE @ErrorMessage NVARCHAR(4000);
    DECLARE @ErrorSeverity INT;
    DECLARE @ErrorState INT;
    SELECT @ErrorMessage = ERROR_MESSAGE()
    ,@ErrorSeverity = ERROR_SEVERITY()
    ,@ErrorState = ERROR_STATE();
    ROLLBACK TRANSACTION;
    RAISERROR (
    @ErrorMessage
    ,@ErrorSeverity
    ,@ErrorState
    END CATCH;
    END
    END
    GO
    the query logic takes 20 + minutes and it keeps on running. not sure what mistake i did. any suggestion to improve the speed please
    loving dotnet

    Hi Erland,
    I understand your concern. Isprocessed is a not null column. I tried to replace the temp variable with temp table and for 500k records it tool 31 seconds. Here is my latest try,
    Declare @CompID int = 1050;
    BEGIN
    -- Check if any data available to be processed
    IF EXISTS (
    SELECT TOP 1 IDcompAFR
    FROM Comp_Detail
    WHERE CompID = @CompID
    AND coalesce(processStatus, 0) = 0
    BEGIN
    BEGIN TRY
    -- Set it so if the first UPDATE fails, we won't even start the second update.This really says "If we're in a transaction
    -- and something fails, stop processing the transaction and do a rollback if we can".
    SET XACT_ABORT ON;
    --Create a table to remember the rows we updated.
    IF OBJECT_ID('tempdb..#ActualData') IS NOT NULL
    BEGIN
    DROP TABLE #ActualData;
    END
    IF OBJECT_ID('tempdb..#AffecedRecords') IS NOT NULL
    BEGIN
    DROP TABLE #AffecedRecords;
    END
    CREATE TABLE #ActualData(UserId BIGINT
    ,IDcompAFR BIGINT
    ,ProcessingAmount MONEY);
    Create table #AffecedRecords (UserId BIGINT);
    -- temp variable to hold the actual data. this will be used to get IdcompanyOFR once the balance updated
    --DECLARE @ActualData TABLE (
    -- UserId BIGINT
    -- ,IDcompAFR BIGINT
    -- ,ProcessingAmount MONEY
    -- table variable to capture the Affected UserId's
    --DECLARE @AffecedRecords TABLE (UserId BIGINT);
    BEGIN TRANSACTION;
    -- Get the whole data to be processed.
    INSERT INTO #ActualData (
    UserId
    ,IDcompAFR
    ,ProcessingAmount
    SELECT UserId
    ,IDcompAFR
    ,ProcessingAmount = COALESCE(TransferAmount, 0)
    FROM Comp_Detail
    WHERE CompID = @CompID
    AND coalesce(processStatus, 0) = 0
    -- Aggregare the ProcessingAmount based on UserId
    WITH AggregateData
    AS (
    SELECT UserId
    ,ProcessingAmount = SUM(COALESCE(ProcessingAmount, 0))
    FROM #ActualData
    GROUP BY UserId
    --Do the balance update and capture the UserId that are affected.
    UPDATE UB
    SET UB.Amount_Available = COALESCE(UB.Amount_Available, 0) + AD.ProcessingAmount
    ,UB.Amount_Pend = COALESCE(UB.Amount_Pend, 0) - AD.ProcessingAmount
    ,LastModDt = getdate()
    OUTPUT deleted.UserId
    INTO #AffecedRecords(UserId)
    FROM User_bank UB
    INNER JOIN AggregateData AD ON UB.UserId = AD.UserId;
    --===== Using the captured UserId get the IDcompAFR from @ActualData temp variable
    -- and then update the processStatus = 1
    --- means OFR processed for the trip .
    UPDATE Comp_Detail
    SET processStatus = 1
    ,AmtTransferDate = getdate()
    WHERE IDcompAFR IN (
    SELECT DISTINCT AD.IDcompAFR
    FROM #ActualData AD
    INNER JOIN #AffecedRecords AR ON (AD.UserId = AR.UserId)
    AND processStatus = 0;
    COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
    DECLARE @ErrorMessage NVARCHAR(4000);
    DECLARE @ErrorSeverity INT;
    DECLARE @ErrorState INT;
    DROP TABLE #ActualData;
    DROP TABLE #AffecedRecords;
    SELECT @ErrorMessage = ERROR_MESSAGE()
    ,@ErrorSeverity = ERROR_SEVERITY()
    ,@ErrorState = ERROR_STATE();
    ROLLBACK TRANSACTION;
    RAISERROR (
    @ErrorMessage
    ,@ErrorSeverity
    ,@ErrorState
    END CATCH;
    END
    END
    GO
    --select * from Comp_Detail
    --select * from User_bank
    Can you please help me if we could still speed up the query? I would still request to post the modified code if you have any other way to tune this logic.
    thanks
    loving dotnet

Maybe you are looking for

  • I need to reinstall Media Encoder CC (previous version than the current) because i need flv export...Any advice ?

    Hi, Some client of mine still needs to get flv videos for his website, and i've seen that Media Encoder CC 2014 doesn't have this option anymore. Unfortunately i already uninstalled the previous version, any way to get it back ? Or is there any plugi

  • No signal on a monitor (iMac Alu 24"/early 2008)

    Hello all, I have an iMac 24"/early 2008. See picture for summary. The only difference is that the one I have now is OS X 10.5 back to basics at the time I bought it. Probably due to unstable electrical network and lack of earthing, the monitor is no

  • Connecting External hardrive

    i connected my external hardrive to the airport but it will not pull it up on the computer how come?

  • Using Toad for Oracle

    Hi All, I am using Oracle 10g ver. I am able to connect to this database server using SQLDeveloper. I have recently installed Toad. I have installed Oracle Client 10.2.0 to run Toad. And as I have read tnsnames.ora needs to be created in $ORACLE_HOME

  • Wls accepts no localhost connections in strange way

    hi *, i have a strange behaviour with one of my wls servers: its a cluster of 6 machines 1 machine admin + worker 5 worker the strange behaviour is that i cannot access the application via localhost on the server where the admin is located. on the ot