Link to home
Start Free TrialLog in
Avatar of brianvanschellebeck
brianvanschellebeck

asked on

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:
log_buffer
db_block_buffers (my db_block_size=8192)
sort_area_size
shared_pool_size
shared_pool_reserved_size
java_pool_size.
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.
Avatar of Akenathon
Akenathon
Flag of Uruguay image

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
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
log_buffer=52428800----------------------->50mb

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.
ASKER CERTIFIED SOLUTION
Avatar of Sean Stuber
Sean Stuber

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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 :-)
Avatar of Sean Stuber
Sean Stuber

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.