This question is too broad to answer completly. There are lengthy books written about Oracle performance tuning, so we can hardly hope to touch on more than one or two high points here.
1. For rollback segments it's important to make sure that you have created enough to adequately support the load on your system. A common rule of thumb is one rollback segment for every four transactions. Obviously you should measure transaction activity during a period of peak usage.
You should also check to see if your rollback segments are sized properly. OPTIMAL shouldn't be set so low that Oracle is doing a lot of shrinks. That could adversely affect performance. On the other hand OPTIMAL should be small enough that the rollback segment tablespace has enough free space to handle any large transaction that might be executed.
2. Just observing high CPU usage on your Oracle server doesn't narrow down where the CPU is being used. You will need to investigate further. Take a look at how much of the CPU time is spent parsing. A high parse rate may reflect a need to modify the application code to use bind variables (or the new CURSOR_SHARING = FORCE initialization parameter). Another candidate for high CPU usage is sql that does a lot gets from the db buffer cache.
3. If you see high i/o rates you should identify the sql that is the cause. These high cost sql statements can frequently be improved by creating indexes that improve the access path, or by rewriting the sql to retrieve data more efficiently.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.