Databases
cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle DB and Kernel Parameters

SOLVED
Go to solution
Ketill S. Fenne
Occasional Visitor

Oracle DB and Kernel Parameters

Hi!

We are running Oracle 8.1.7.3 on a dual processor HP server with 1GB RAM running HP-UX 11.00. I need some help from you experts to tune my kernel parameters.

The server is set to run a single database instance. The database will be used to migrate a lot of data between a set of source and target tables. There will only be one database user logged in, and the database will do mostly large inserts / updates with some simple processing.

I am fairly new to HP-UX kernel tuning, and have attached my kernel parameters file.

I believe my database is fairly well-tuned, and we are running a similar windows server with the same database setup which is running the migration around 40% faster...

Best regards
Ketill
13 REPLIES
monasingh_1
Trusted Contributor
Solution

Re: Oracle DB and Kernel Parameters

well, kernel parameters do help but I think not in the tune of 40% or so. There is definitely something else mismatched as well.
I would look at followings:

01. Disk setup, lv setup, stripping, mirroring
If you have two channels try to balance load among them, use half the disks on one and rest on other, and then use alternate link. So that you utilize both or more channels.

If you have EMC, ask them to see how is their cache utilization. EMC is not very fast on sequential writting with low cache memory.

Disk subsystem may play a significant role in slowing down things.

02. For local disks, mirroring will help read faster but then may impede you with writting if you do a lot of write. Set the mirro_write_consistence to no.

03. Use 64k size stripping and stripe across many number of disks. BUT, if you use EMC then you may be adding hyndreds of seeks unnecesarily by doing stripping, in that case do not use stripping. Very important factor but purely depends what kind of disk subsystem you use.

04. Filesystem block and fragment size and oracle block size.

05. Are you using raw on one of the server while other one has filesystem?

06. Filesystem setup, you can use various VXFS f/s settings, man newfs_vxfs

07. See the swap utilization, If it is heavy then you will need more memory.

08. See the SGA size. Check the various buffers utilization and re-tune them on HP if needed, if I am not comfortable with that I take help of DBA. You may need to tune the oracle little differently on HP than WINNT.

09. Check the SQL statement of their selection patern to update tables. You may need to tune them.

10. Any trigger or something like that is enabled on tables on HP as opposed to WINNT.

11. Check the indexes for all tables. I am just giving this point just in case over a period of time you have better indexing on WINNT and not on HP.

12. do the statistics update on a regular basis.

13. use glance and see how the system is behaving..

I hope this gives some idea. If you give your database size, volume of updates, may be some one close to that config can provide you with his/her kernel config for more help...
Ravi_8
Honored Contributor

Re: Oracle DB and Kernel Parameters

Hi,

I follow the kernel values given in this URL for 9i, it works fine for all oracle versions till now.

http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/A96167_01/html/pre.htm#CHDCJDHI
never give up
monasingh_1
Trusted Contributor

Re: Oracle DB and Kernel Parameters

Forgot to mention about latest patch bundles, very important..
Steve Steel
Honored Contributor

Re: Oracle DB and Kernel Parameters

Hi


A performance tuning analysis depends on

1)Kernel parameters

2)Patch level

3)Hardware and swap setup

4)Comparison with a windows setup is not really valid .

5)See for help
http://www.ixora.com.au/tips/
http://www.hp.com/solutions1/oracle/
http://docs.cup.hp.com/hpux/onlinedocs/os/11.0/tuningwp.html

Steve Steel
If you want truly to understand something, try to change it. (Kurt Lewin)
Ketill S. Fenne
Occasional Visitor

Re: Oracle DB and Kernel Parameters

Hi, and thanks for the answers.

My HP - system uses one physical disk, and my Windows system has a c:\ - volume of three mirrored disks, I have tested the disk-speed by copying a 1GB file from one folder to another on the two systems, and they both use about 1 min 30 secs.

"Show sga" returns almost identical figures, total sga is around 20 MB larger on the windows system. (this is because i have a db_block_size=8192 on HP and 4096 on windows)

The windows system has two Intel Pentium 1.3 GHz processor and 1.3 GB RAM, and the HP system (9000/800) has two 650 MHz and 1 GB RAM.

We are doing a lot of Direct Load inserts, and even they are around 40% slower on HP-UX, although the speed of them is almoust directly dependent on disk speed.

Is the difference due to CPU, or does this have to be disk limited

Ketill
Ravi_8
Honored Contributor

Re: Oracle DB and Kernel Parameters

Hi ketill

could you check with Network card, whether it is half or full duplex. we all use Full duplex with Autonegotiatio set to off
never give up
Ketill S. Fenne
Occasional Visitor

Re: Oracle DB and Kernel Parameters

Hi!

The network card is half duplex with autoneg ON (from SAM).

Will running half duplex impact database performance when all my data and files are on one server?

Ketill
Ravi_8
Honored Contributor

Re: Oracle DB and Kernel Parameters

Hi

Usually it wouldn't. make the network card Full duplex with Autonegotiation OFF, If any serious problem, you can revert back
never give up
Indira Aramandla
Honored Contributor

Re: Oracle DB and Kernel Parameters

Hi,

When you have one instance on the server and only one user will be logged on, and the major processing will be large inserts and updates.

As you databaseis well tuned, please also check the rollback segments and the PCT USED and PCT FREE parameters of the tables into which you would be doing inserts and updates. For frequent inserts the PCT USED parameter whould be 80 to 95. And the proper siging of the rollback segments will not cause "SNAPSHOT TOO OLD" errors.

And if you are using SQL LOADER to load some of the data, use the DIRECT mode for faster load. And if your database is in archivelog mode trun the archive off while loading and then turn it on when completed.

Now comming to the UNIX KERNEL parameter setting for Oracle 8.1.7.3, please refer to the attachment. This describes the parameters for 9i.



Never give up, Keep Trying
Michael Hoppe
Occasional Contributor

Re: Oracle DB and Kernel Parameters

Hi Ketil,

I think the proble you have results from having only one disk in your HP box.
Making a copy of a large file does not realy show how fast your disk is because you 'll see only the speed for a sequential read/write operation. But in fact, as Oracle does a lot of seeks before read/write a striped diskset will be much faster than a single disk ! I had the same problems here having a warehouse system running on several different systems (at different locations). And even 2 HP boxes which differes only in the harddisk configuration ran at different performance. Same issue. You can do now:

1. Add more disks (only for the oracle db, leave the Unix system on the first one) and stripe them if money doesn't matter
2. Have a look on the memory statistics. If there's a plenty of memory free when running the system on full load you might increase the kernels i/o buffer size (normally set to min 5% and max 50% (dynamical) with dbc_min_pct/dbc_mac_ptc) to minimize direct reads/writes.
3. Also have a look on the Oracle DB_cache (db_block_buffers). If theres free memory in your Shared memory area free, try if increasing that might help.
4. Are you using asyncron i/o ?
5. Check the log-buffer statistics. Sometimes increasing the log-buffer helps a little bit. Also check how often logfiles are writen.
6. Does your application make a lot of sorts? If then check if there are any disks sorts. Try to get rid of them by increasing the sort_area_size.

Maybe that might help you.


Regards,

Michael
PAVIC Thierry
Frequent Advisor

Re: Oracle DB and Kernel Parameters

Hi
Do you have access to metalink
Check the patches list
and the following note :

Doc ID: Note:200075.1
Subject: Oracle 9iAS Release 2 (9.0.2.0.1) Installation Cookbook
Type: BULLETIN
Status: PUBLISHED
Content Type: TEXT/PLAIN
Creation Date: 18-JUN-2002
Last Revision Date: 20-FEB-2003

Do you use the same parameter in the two database :
yau can check the parameter in the base with the following order :
select * from v$paramter;

Do you use the same repartition on physical disk ? (data, system, index)

Do you have made a compute statistic ?

Ketill S. Fenne
Occasional Visitor

Re: Oracle DB and Kernel Parameters

Thanks for all advices.

We are currently installing more disks into your server, so we are hoping for a good increase in performance.

Compared to our Windows system, especially large inserts / updates are relatively slower. From "sar -d" I see that %busy is continously at 100%, so it seems that disk-speed is a limiting factor compared to the windows system, since init.ora is approx. the same in the two systems.

Ketill
Yogeeraj_1
Honored Contributor

Re: Oracle DB and Kernel Parameters

hello,

At the same it would recommended that you move to locally managed tablespaces.

Amongst advantages:
o no fragmentation
o faster (no recursive sql to UET$ and FET$ to update the data dictionary)
o faster (try creating a dictionary managed table with 1000 extents, then do it with a LMT)
o faster (try dropping that table with 1000 extents now)
o faster (try a temporary tablespace in a DMT vs LMT -- benchmark it, its amazing)

About Rollback segments:

Place individual rollback segments into their own tablespaces.

You like to start with 15 or so rollback segments -- each with minextents=25 and maxextents=100. That would create 15 25meg rollback segments that can grow to 100meg each.

create tablespace RBS_01
datafile '/xxx/xxx/xxx/rbs_01.dbf'
size 25m reuse
autoextend on
maxsize 100m
extent management local uniform size 1m;

Then:

Create rollback segment rbs_01 tablespace rbs_01;
alter rollback segment rbs_01 online;

where:
o rollback segments are equi-sized extents.
o rollback segments are allocated large to avoid 1555's.
o rollback segments should be plentiful for the amount of transactions you do.

Hope this helps!

Best Regards
Yogeeraj

No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)