looking for advise on init.ora parameters

I have an 11i Oracle applications instance running on a single node server configuration.
The server has 4 CPU and 16 GB of RAM.
I observe that, when all users are working, my database access tends to slows down considerably (which seems quite normal), however the CPU level never goes more than 40%.
I understand that this is partly because of disk access and contention, but I also ask myself whether my SGA is not large enough.
I would like to have recommendations about the following 8i database parameters:
db_block_buffers (my db_block_size=8192)
Please note that:
1. I have 16GB RAM
2. About 30 users accessing Oracle Applications forms concurrently
3. 6 concurrent requests allowed to run concurrently
Thanks in advance for your advice.
Who is Participating?
sdstuberConnect With a Mentor Commented:
Do you use java?  If not, then set java_pool_size to 0

Are you patched to
What optimizer are you using?  

As for the other parameters, I would wait before adjusting those.
Don't tune a "system" tune a "problem".

What exactly is it that is slow? Some process somewhere.
Is it a select/update/insert/delete?  If so, look at indexes as suggested above.

dbms_support DOES exist for 8i,  $ORACLE_HOME/rdbms/admin/dbmssupp.sql

Is it pl/sql?  Use the dbms_profiler package to see where your bottle necks are.

If it's multiple processes, that's fine too.  Pick one.  Whichever one is slowing your business down the most.  Not necessarily the biggest system drag, but the one that actually affects people the most.   Find that process and tune it.

Once you know what your system is trying to do,  then (and only then) does it make sense to adjust the system wide parameters.  Without knowing how much sorting you're doing,  how can you say what your sort_area_size should be.  Without knowing how much of the pool you're using,  how can that be adjusted.

If you're seeing a lot of contention, look for bind variable useage, or rather, the lack thereof.  Not using binds is a GREAT way to make your application UNscalable.

You don't tune an instance for using up a server, but for supporting an application system. Data you provide should be about your application, e.g. OLTP vs DSS, number of concurrent connections, how many of them are active at a time, number of tables and rows, and the MOST important thing: what is it that users do?

You HAVE to start from the SQL: look into the package DBMS_SUPPORT, get a tracefile with waits, run it through tkprof and look at the waits: you will realise if e.g. there's an index missing, or a table without fresh statistics... or even if you did need to tweak some parameters too! Everything I've said is in the freely available docs, but quite lengthy to explain here, please refer to http://www.oracle.com/technology/documentation/oracle8i.html
Sorry, I forgot DBMS_SUPPORT is unavailable on 8i. You need to use alter session set sql_trace=true, or set event 10046 at level 8 if you want the waits -look at DBMS_SYSTEM for that one
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

Also try this:

shared_pool =524288000 ----->500 mb
db_block_buffers=314572800------------->300 MB
sort_area_size = 52428800 ---------------->50 mb
shared_pool_reserved_size= 104857600---------------->100mb
java_pool_size=157286400------->150 mb

Really, you don't want a shared_pool_size of 1gb, in our big company, there is no database with shared_pool _size =1gb and we have several terabytes database, batch processing, cognos report going on too, a lot.
As Akenathon suggested also the creation of the indexes.  Create the indexes based on the "where clause' of your queries.
 In 9i we do set pga_aggregate_target =2g which helps with queries.

Good luck.
sdstuber: Thanks for pointing out that 8i already had dbmssupp.sql, I always set the event so I don't even create the package, but it's definitely a less cryptic way of doing it :-)
yeah, not everybody has dbms_support installed.   According to Oracle you're really not supposed to install it unless directed.  I never understood why that recommendation existed.

So I got in the habit of using the events too.

I really like it that 10g has dbms_monitor as a standard install.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.