Database poor performace

my database server giving poor performace(speed)
How can i find out which processes are eating more resources??
is there any SQL or Unix command..
PLz help.

> my database server giving poor performace(speed)
How can i find out which processes are eating more resources??
Poor performance can be caused by a wide and diverse range of factors - and resource consumption is only of the many of these.
Case in point. Some years ago a very large (Ingres/Corba) system was giving very poor performance. The guys had this huge plasma display showing the resource utilisation. CPU utilisation was less 25%. Memory utilisation was less than 50%. I/O utilisation was low. Network utilisation was low.
It was quite clear that resource utilisation was not the problem - but that all processes were queueing for a serialised resource. After pointing them in that direction, they discovered the problem. A page lock on a very heavily utilised table used for handing out sequence numbers. All the rows (carrying the latest sequences to be used per table) was lock for every single insert due to the Ingres page locking. So despite having some of the best (and most expensive) hardware, with the latest CPUs and tons of memory - all under utilised - the problem was a poor design choice and implementation.
Moral of the story - at times resource utilisation has nothing to do with performance, but application design and implementation always have everything to do with performance.
As for running a quick Unix or SQL command to diagnose the performance problem? That does not work. There are no Silver Bullets when it comes to performance. And I do not care about the qualifications or so-called (mis)experience of others that say otherwise.
Your first step should be to determine the cause of the performance problem. The "thing" that causes the "slow speed" of a process needs to be identified. Is the process waiting for I/O? Is it waiting for CPU time? Is it waiting for an exclusive table lock to be committed/rolled back? Etc. Etc.
Once you have identified the WHAT, then you can start at looking WHY it is happening and HOW to resolve it.
On the Oracle side, you would want to look at the various V$ views showing wait states, events, session statistics ito I/O, CPU, rows processed, etc. Run stats pack. Attempt to identify and isolate the WHAT in order to analyse it.

Similar Messages

  • Warehouse Builder Causing Database Poor Performance

    Since we have upgraded to 10g, OWB's Runtime process does so much I/Os on the Database that it causes it, which is also 10g, to be extremely slow. So much so, that after 2 minutes, it is pratically impossible to login. We only have one OWB developper running this at the time, does anybody know what can cause this?
    Thank you
    Stephanie Comeau

    You are measuring time response from totally 2 different applications.
    It does not mean that C++ has good performance then all application is C++
    should have the same performance rating. It now all depends on the mechanism of
    logic ( program structure ). If yo want to check and investigate what is really going around,
    I suggest using a packect-snooping device. There is a program called 'ethreal' you
    cpoild download from SunFreeware. Hope you catch the fish.

  • Bea weblogic 6.1 does not oracle Database fail over

    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??

    mt wrote:
    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??Are your pools set to test connections at reserve time?
    Joe

  • Poor performance of WD Abap/ Adobe

    Dear sirs,
    I would like to know if anybody of you have experienced very poor performance of WD ABAP with Adobe interactive form. Our client has paid for a 2-3 pages interactive form in WDA and is complaining about very poor performace. As a result no users are using this application because of this poor performance.
    Can anybody point out what can be a problem? Some developement problem? Basis issue? Any experience related to WDA Adobe performance? Thank you all, Otto

    Update: SAP OSS message was opened regarding this problem.
    We got a list of patches to update, notes to apply etc. All was done, applied, patched. The performance didn´t get better, it anything it was like extra percent or two, but nothing what would make the customer less angry.
    The result: this technology is promising but a) needs strong client PC b) will get better (i hope gets better soon)
    Our basis team checked all the times (of actions that has to be done to load/use the app) and the memory need both on server and client. On some client PCs only the Adobe Rader was starting like a half a minute (and more, not less). If you add time for WD, for WD/ Adobe communication and the data transfer, the time to start working with WD ABAP Adobe app can be more than a minute. That is not very usable.
    Otto

  • How do I write a select statement to see if table field is in variable list

    I was wondering if someone knew the best way to write a query to pull back rows where a table field is found in a a variable string.  I'm using Cold Fusion 10 on Microsoft SQL Server.
    The table has a series of fields such as
    carcode          carname
    G                Garage
    C                Carport
    A               Attached
    D               Detached
    And another query pulls back a field that stores as text all the abbreviations that apply
    I want to pull back all the carnames that would match the abbreviations stored in that field.  I thought I could use a contains line but that does not work.  How do I pull back matches against a variable string... I tried an IN statment but that didn't work.
    CFQUERY...
    Select carname from CarTable WHERE CONTAINS (carcode, '#query.carlist#') does not work. 
       select carname from CarTable WHERE CONTAINS(carcode, 'G,A')
    I'm stumped.  The list of abbreviations could be very LOOOONG or short and I just need to translate those abbreviations into the full names by grabbing it from another table.  It isn't just one abbreviation so I can't use LIKE in the one to one sense.
    Thank you so much.

    If you have records with these values,
    G,A
    0
    then your first mistake is that you designed your database poorly.  Storing lists in a single field is essentially stroring unuseable data.  A one to many relationship is better.  If you don't know what that is, I've heard good things about the book, Database Design for Mere Mortals.
    Next, this syntax, #queryname.car_storage#, only returns the first record.  To get all the records, use the valuelist function.
    Next, in sql, if you have a list of strings, each one has to be quoted.  Something like this.
    where myfield in ('a', 'b', 'c')
    The best way to achieve this in ColdFusion is to use the cfqueryparam tag with the list attribute set to yes.

  • Issue in downloading the file to application server (background)

    i am downloading the PIR records to the application server.
    the program is running fine .
    i m using background coz i m downloading large no of records (>5000)
    my actually target is 28000 records.  we are spliting it up into atleast 7000 records at a time.
    for 1000 records  , it is taking     217 secs        (this is fine)
    for 2000 records  , it is taking    1647 secs        (not satisfactory)
    for 5130 records  , it is crossed more than 10647 secs   still running  (not acceptabe)
    why is it increasing in expotenial of time for increase in the records
    why not ~1000 sec for 5130 records...??
    somebody help me , the hav check the extended check and fine tuned the code.
    it is a modification of standard program RM06IBIE for download of PIR records.
    regards
    venkat.

    Hi,
    It is definitely because of the poor performace in the code only.
    Try using, FOR ALL ENTRIES, SORT BY key fields, DELETE ADJACENT DUPLICATES from the internal table COMPARING key fields, etc.
    If you have already used all the possible ones, then check the table from which it is picking the data.
    Whether they are using the primary key fields in the where condition, if they are using some other fields, then go for an option of secondary index if required.
    Regards,
    Santhosh.

  • Obtaining principal in EJB helper classes

    I have a pretty typical EJB setup where the actual EJBs delegate a lot of work
    off to helper classes which are simple java classes. Some of these helpers need
    access to the principal currently executing on this container thread. Currently,
    I am passing the principal as a parameter in every method signature on the helpers
    which need it. But as you can probably guess that approach is quickly becoming
    unweildy.
    Ideally, what I would like to do is to have access to the principal associated
    with the currently executing thread. I can mimic this by setting thread-local
    variables in the EJB prior to calling helpers. But I was wondering (ok, hoping)
    that there was already a way to access this information (either through weblogic
    classes or MBeans). At this point, I dont even care if it is not portable.
    P.S., I use WL6.1
    Thank you in advance,
    Steve

    >
    The helper methods do database querries etc and return results that the EJB sends onwards to clients. If these methods
    are NOT synchronized (and the ejbs share the static class) won't it cause concurrency errors? I think most of our methods are not
    synchronized (and it doesn't seem to cause any concurrency errors so far... though the system have not beeen stressed test that much,
    and concurrency bugs tends to pop up later and randomly :P).
    >
    No, if you dont have any static data variables in the Java classes, static method as such will not cause concurrency errors, and the methods should not be synchronized.
    If you have any synchronized methods and they take a while to execute, that could become a bottleneck in itself, because different threads waiting for each other,
    so make sure you dont have any synchronized methods where it is not explicitly needed.
    Think of a static method (without static data in the class being manipulated) as a plain function in another programming-language.
    >
    We have some scaleability problems with the EJBs... It seems as if they do not run concurrently. If we do a stress test with several threads calling the EJBs their response time increases by a too large factor to feel comfortable...
    >
    Apparently, you do have a some scaling/concurrency problem, which could have many causes -- transaction locking and clashes in the database, poorly configured database, network congestion, problems in the EJB architecture, etc -- can be many reasons...
    The general idea to debug, is first to find out exactly what calls in your code that take longest time to execute (profiling, logging, System.out.println's are useful) when you put parallel load on your system -- rather than just seeing "the whole application seems slow" -- from there you can move on, "divide&conquer" the problem, etc...

  • Mac Mini almost impossible to use

    Got my mac mini 1 month ago, brand new out of the box.
    It runs slower than any other computer I have ever owned. We are talking many years of experience. I really want to love this computer as I do my Iphone. Went to the Apple store today and spoke with a rep. Explained some problems and the fact that it took 1 hour to download 160 photos from my camera. Asked if adding more RAM would enhance the performance. The rep explained that the mac mini was "basically the lowest end of all their products and was not user upgradable". Asked if I could return it since I needed something that functioned in a reasonable amount of time. After a few more questions, was told it "technically was user upgradable but there was a possibility that I would void my warranty." The rep then went on to explain that regardless, the mac mini should not be operating so poorly and slowly. My questions are 1. has any other persons experience similar types of issues with regards to the poor performace of their mac mini. The reason for this question is that the rep stated that he thought this was a system defect ie. I have a faulty mac.
    2. What is the honest story with regards to upgrading my "not user Upgradable" mac mini.
    Why should I invest any more money if the computer is going to continue to function as poorly as it has the past month.
    The rep did offer to give me a discount on "classes" to learn how to use the mac, but until it can perform more appropriately, I don't want to waste another penny.
    Thanks for any advice you can offer.

    +What is the honest story with regards to upgrading my "not user Upgradable" mac mini.+
    Apple states that there are no user serviceable parts inside the Mini. I'm afraid there is no clear-cut answer as to what that means.
    At one end, it clearly means that if you open the Mini and you break something, Apple will not honor the warranty.
    On the other hand, if Apple or an authorized service provider installs new memory, the warranty will hold.
    The gray area in the middle is when a competent user upgrades the memory and does a "professional" job.
    Having said all that, a 1-Gig Core2Duo's speed at downloading photos should not be noticeably impacted by having only 1-Gig of RAM -- depending of course on what other activities (programs) are running during the download. More RAM is always good, but I don't think it is the direct explanation for that 1-hour download time.
    I should add that this is a user-to-user support forum that is most helpful dealing with technical issues. While many of us have enough experience with Apple to provide some guidance from personal experience on Apple's policies -- the real purpose of this forum is to help with technical problems. So the more you talk about the nuts and bolts of the problems you are having in using your Mini, the more helpful we can be.

  • EJB environment question (static helper classes)

    We're using JBoss as AS containing several stateless session beans.
    Now, we have certain helper classes that are abstract and contain static methods. Is this a problem for the EJBs? All of them use these helper classes all over their methods. Are they sharing the static class and will slow down somehow? Or is each EJB using its version of the class and can run concurrently?
    Should we rethink this and put an INSTANCE of each helper class in each ejb instead of using static methods in the helper class?
    Now in EJB method:
    Helper.calculateStuff();
    Should it be?
    Helper h = new Helper(); // defined when ejb is created
    helper.calculateStuff();
    Edited by: JAeon on Sep 8, 2008 12:21 AM
    Edited by: JAeon on Sep 8, 2008 12:22 AM

    >
    The helper methods do database querries etc and return results that the EJB sends onwards to clients. If these methods
    are NOT synchronized (and the ejbs share the static class) won't it cause concurrency errors? I think most of our methods are not
    synchronized (and it doesn't seem to cause any concurrency errors so far... though the system have not beeen stressed test that much,
    and concurrency bugs tends to pop up later and randomly :P).
    >
    No, if you dont have any static data variables in the Java classes, static method as such will not cause concurrency errors, and the methods should not be synchronized.
    If you have any synchronized methods and they take a while to execute, that could become a bottleneck in itself, because different threads waiting for each other,
    so make sure you dont have any synchronized methods where it is not explicitly needed.
    Think of a static method (without static data in the class being manipulated) as a plain function in another programming-language.
    >
    We have some scaleability problems with the EJBs... It seems as if they do not run concurrently. If we do a stress test with several threads calling the EJBs their response time increases by a too large factor to feel comfortable...
    >
    Apparently, you do have a some scaling/concurrency problem, which could have many causes -- transaction locking and clashes in the database, poorly configured database, network congestion, problems in the EJB architecture, etc -- can be many reasons...
    The general idea to debug, is first to find out exactly what calls in your code that take longest time to execute (profiling, logging, System.out.println's are useful) when you put parallel load on your system -- rather than just seeing "the whole application seems slow" -- from there you can move on, "divide&conquer" the problem, etc...

  • AIR for iOS: Severe performance drop using "high resolution" published app on retina iPhone

    I have created a very simple test app the simply draws a line from the previous to the current mouse/touch position after MOUSE_MOVE is detected. I published the app, stage size 320x480, in both "standard" and "high" resolution using AIR for iOS and added each to two different iPhones, iPhone 3GS and iPhone 4S. I published again, stage size 640x960 in standard and high resolution and placed on both phones.
    320x640 Flash stage size
    - standard resolution on iPhone 3GS: works as expected, no hitches.
    - high resolution on iPhone 3GS: works as expected
    - standard resolution on iPhone 4S: works as expected
    - high resolution on iPhone 4S: hangs occasionally and predictably for a half second or so once 20-30 points have been added to the drawing. Of the 4 tests at 320x640 this is the only one that displays at high res.
    640x960 Flash stage size
    Everything was the same as above. The only test here that diplayed at high res was the high res publish on the iphone 4s as expected. Which showed the same poor performace as above.
    Perhaps this has something to do with the upscaled application trying to keep track of mouse position but I'm stumped. Any ideas?

    I create an app for kids that draws using MOUSE_MOVE, KidFunKit. It's a retina display high-res app, using AIR 2.6 I got performing issues, after I couple of lines were drawn. Using AIR 3.0, it works nice. Obviously if your frame rate is 60 ... you'll expect lack of performance. You may try Starling Framework based on STAGE3D if you want the most of AS3.

  • Which SQL statement is he running?

    I have some oracle processes which are consuming a big fraction of the CPU resources and the load is so big that no users can connect (except with connect / as sysdba). Knowing their PID (from the UNIX top command), and connecting internally on Oracle, is there a way to know which statements are currently being performed by these users?
    NB: Database in question is Oracle 10g.

    Just because users cannot connect does not mean the problem is a "load" problem.
    What does v$session_wait show that connected sessions are waiting on? Are any sessions lock waited?
    If there are lockwaited sessions are any of the Oracle rdbms background sessions involved in the lock problem?
    In situations where people cannot connect or take five minutes to do so the problem usually comes down to improper configuration of the database, poor design of the most heavily hit section of an application, or your are especially lucky and have managed to hit a bug.
    In the absence of a locking problem or every session waiting on the same resouce then a statspack for a short duration is worth a shot (providing it will run).
    HTH -- Mark D Powell --

  • Good documentation to improve queries

    Hi,
    Could anyone please provide a good documentation to improve performance for queries?
    Thanks,
    Takeda

    To improve SQL query performance use Google for references:
    http://www.google.com/search?&q=oracle+sql+tuning
    Interesting information in that link:
    http://www.oracle.com/technology/deploy/performance/pdf/perf_method1.pdf
    The “Top Ten” List of Oracle Performance Mistakes
    1. Bad Connection Management: The application connects and disconnects for each database
    interaction. This a common problem with stateless middleware in application servers. This mistake
    has over two orders of magnitude impact on performance, and it is totally unscalable.
    2. Bad Use of Cursors and the Shared Pool: Not using cursors results in repeated parses. If bind
    variables are not used, then hard parsing occurs of all SQL statements. This has an order of
    magnitude impact in performance, and it is totally unscalable. Use cursors with bind variables that
    open the cursor and re-execute it many times. Be suspicious of applications generating dynamic
    SQL.
    3. Getting Database I/O Wrong: Many sites lay out their databases poorly over the available disks.
    Other sites specify the number of disks incorrectly, because they configure disks by disk space and
    not I/O bandwidth.
    4. Redo Log Setup Problems: Many sites run with too few redo logs which are too small. Small
    redo logs cause system checkpoints to continuously put a high load on the buffer cache and I/O
    system. If there are too few redo logs, then the archive cannot keep up, and the database stalls.
    5. Serialization of data blocks in the buffer cache due to lack of free lists, free list groups,
    transaction slots(INITRANS), or shortage of rollback segments: This is particularly common
    on INSERT-heavy applications, in applications that have raised the block size to 8K or 16K, or in
    applications with large numbers of active users and few rollback segments.
    6. Long Full Table Scans: Long full table scans for high volume or interactive online operations
    could indicate poor transaction design, missing indexes, or poor SQL optimization. Long table
    scans, by nature, are I/O intensive and unscalable.
    7. In Disk Sorting: In disk sorts for online operations could indicate poor transaction design, missing
    indexes, or poor SQL optimization. In disk sorts, by nature, are I/O intensive and unscalable.
    8. High Amounts of Recursive(SYS) SQL: Large amounts of recursive SQL executed by SYS
    could indicate space management activities, such as extent allocations, taking place. This is
    unscalable and impacts user response time. Recursive SQL executed under another user ID is
    probably SQL and PL/SQL, and this is not a problem.
    9. Schema Errors and Optimizer Problems: In many cases, an application uses too many
    resources because the schema owning the tables has not been successfully migrated from the
    development environment or from an older implementation. Examples of this are missing indexes
    or incorrect statistics. These errors can lead to sub-optimal execution plans and poor interactive
    user performance. When migrating applications of known performance, export the schema statistics
    to maintain plan stability using the DBMS_STATS package. Likewise, optimizer parameters set in
    the initialization parameter file can override proven optimal execution plans. For these reasons,
    schema’s, schema statistics, and optimizer settings should be managed together as a group to ensure
    consistency of performance.
    10. Use of Nonstandard Initialization Parameters: These might have been implemented based on
    poor advice or incorrect assumptions. In particular, parameters associated with spin_count on
    latches and undocumented optimizer

  • Autoextend without next

    Hello
    Regarding the autoextend issue, If I specify autoextend on,and omit next clause,by default the datafile
    will extend 1 block.(not OMF)
    Consider the datafile is full and segments are extended uniformly or autoallocate.
    When oracle attempts to extend the segment, it has to extend datafile 1 block.and then 1 block
    until autoallocate or uniform size.
    and Finally new extent will be allocated to segment.
    Is that right?
    or
    Does oracle have internal algorithm to prevent this poor performace issue?

    Hello,
    With Locally Managed Tablespace you have 2 options:
    - Uniform size
    - Autoallocate
    With Uniform size you set the size of the Extend (for instance 1 Mo). So it's useful if you have an idea of the Size of your Tables/Indexes
    With Autoallocate the size of the Extend depends on the size of the Tables/Indexes.
    I mean, the first extend are about 64K then (after the 16th Extend) 1 Mo, then after the N1th extends 8Mo and after the N2th extends 64 Mo.
    So by that way the small Tables have only small Extends and large Tables can have larger extends.
    This is for the Segment.
    For the datafile if you didn't set NEXT option on the Autoextend clause on the Datafile then, the datafile will normally extend by a default value.
    Hope it can help,
    Best Regards,
    Jean-Valentin Lubiez
    Edited by: Lubiez Jean-Valentin on Nov 7, 2009 7:49 AM

  • About system design for RAC

    Oracle Real Application Clusters, Concepts manual, Release 9.2.
    About scalability, it says that "poorly designed systems do not scale well on either single-instance Oracle databases or Real Application Clusters databases-poorly designed applications will likely experience performance degradation as demand increases."
    What does it mean when it says "poorly designed systems". What features should my sistem have to scale well in RAC databases?

    krishh wrote:
    Hi all,
    I am very new to Labview, but I have to deal with somewhat difficult problem of remotely controlling the Laser in next room. The PC I will be using has already built labview software to control the laser if laser is closeby. But the laser is next door (~200-300 feet), and the PC which controls the laser also have the labview software to control the laser. Please suggest me how should I start communicating from my first PC to the laser (may be using the laser labview software or not). To start with I would be glad to find some reads or demonstrative examples or any suggestion which will head me to right direction.
    I hope for great help.
    Regards
    Krish
    It would probably be a good idea to start a new message on this rather than continue in this message thread.  It seems to be a different situation you are asking about then what the original poster was doing.
    How does the PC communicate with the laser if it is close by?  Is it a serial connection? ethernet connection?  GPIB?  something else.  If it is serial, is it RS-232, RS-485, USB?   200-300 feet is too far for an RS-232 or USB connection.  But there are numerous products on the market that will adapt those serial protocols to either an RS-485 wiring setup, or put it out over an ethernet connection.  So you can go RS-232 to RS-485 on one end.  RS-485 goes to 4000 feet (depending on baud rate).  Then on the other end another adapter converts it back to RS-232.  I have also used a remote USB hub that connects to a LAN connection, and with driver software installed on the PC, it turns that remote connection into virtual serial port connections.
    These are good devices that have worked for me.  But if they would work for you all depends on how the PC connects to the laser now.

  • Designer 6i Installiation

    i've installed Designer 6i on Oracle 9i. but can't Log in to it.
    it asks a Username, Password & ConnectionString
    i want to know the default values plz to log in ... :(

    I would bet you are on a 10.2 DB and the DB is on a multi processor machine Probley Solaris....Right??
    If so then you need to set the
    Note 376667.1
    Poor Performace opening SMD Diagrams, Solaris 64 bit, 10.2 DB
    Solution
    To resolve the issue:
    1. As SYS:
    alter system set OPTIMIZER_SECURE_VIEW_MERGING = false;
    2. From the Repository Admin Utility, Compute Statistics at 20%

Maybe you are looking for

  • Copy Multi-Layered Drawing-Object and keep the same Layers

    Good evening We often have to clone a Drawing-Object and the clone should use the same Layers. We expected that we can just select the Objects on the related Layers, Drag and keep a key (e.g. Ctrl) and Drop the copy An example: The original Object ha

  • SAP Solution Manager and SAP Production Server on Single Host

    We are rolling out our new infrastructure using high end Solaris Servers that have plenty of grunt. I am looking at running SAP Solution Manager 7 and SAP Netweaver 6 on the same HOST using two Oracle databases. We will use 10g and have 2 separate  t

  • TC not showing up in airport/defective?

    i got a tc today. im trying to use it with a macbook running 10.5.3. if it wireless or ethernet i cant see it in finder. tried resetting TC. just got this today and havent been able to get it to work. is it possible that its defective?

  • Publication Subscriptions through KM

    Has anyone had any experience leveraging the subscription functionality on a publication that is available in BOE Infoview through KM?  We would like to utilize this but it does not appear to be possible to us?  When in KM and opening the context men

  • OIM Account Profile Page Modification for UDF field

    Hello - I have two custom fields (USR_UDF) added to the OIM User profile page. The fields are available during the user create as well as when the end user try to modify his account. The problem is when a user click on My Account --> Account Profile