Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 8 on NT slower than 7.3 on Netware?

Re: Oracle 8 on NT slower than 7.3 on Netware?

From: Billy Verreynne <vslabs_at_onwe.co.za>
Date: Fri, 10 Dec 1999 09:07:59 +0200
Message-ID: <82q8u8$k8l$1@ctb-nnrp1.saix.net>


Marc van den Hoogen wrote in message
<3850012A.D0DEB9C_at_maartenskliniek.nl>...

>We recently switched from Oracle 7.3.4 on Netware to Oracle 8.0.5 on NT.

Database change/upgrade. Change number 1.

>The hardware of the server has remained the same.

But the operating system changed. Change number 2.

>Ever since, accessing the
>database by ODBC-clients seems considerably slower than before. Does
>anybody have an idea why Oracle 8 on NT could be much slower than
>version 7.3 on Netware?

The fact that the hardware has remained the same, is not really relevant. You are basically running a new database product on a new operating system. Any comparisons with an old database product running on a different operating system... well, that's not comparing leadpipes with cracked skulls. ;-)

>Could this be caused by running SQL*NET on top of TCP/IP (NT networking
>protocol) in stead of IPX/SPX (Novell Netware protocol)? If so, are
>there any known methods to optimize TCP/IP settings?

Protocol has been changed. Change number 3.

Hold on. Neither can you now blame the network protocol. Simply too many things have been changed in order to make any kind of comparison.

Can TCP be optimised? TCP is a tool. Performance depends on how that tool is implemented (network hardware and network configuration) and used (software).

Let's look at the software side. If my application want to send you 1MB of data, what will be the best? 256 bytes size TCP packets or 1.4KB size TCP packets? So TCP can not be blamed if I decide to whack down 1MB of data over the network in 256 bytes packets.

>Any suggestions would be greatly appreciated.

You have made 3 critical changes to your configuration - as I said before, you simply can not compare performance before the change to performance after the change.

You need to look at performance issues on NT. What services are running besides Oracle? Are these services needed? If not, disable and shut them down. Is the NT server configured as a file server or application server? What is the memory utilisation like? With Netware you have very little desktop/shell memory overheads. You install the latest IE5 with it's desktop integration on NT, you'll find that up to 30MB of memory is grabbed by it. Don't burden a server with fancy desktop stuff that requires memory. All a NT server basically needs is the old fashioned, small memory footprint, Windows 3.1 style Program Manager. While on the subject of memory - memory swap files. Size and location. Swap space should be between 1.5 and 2.0 times the size of the server's physical memory. Location is important. Stick the swop files on different drives than your Oracle database files or else you can expect i/o problems.

Oracle 7 to Oracle 8. Are you sure that the database has been correctly configured and installed on NT. As you changed operating systems, I assume that this was not a simple matter of upgrading your database. You had to export it, install the new operating system, install Oracle 8, create the new database and then import the 7.3 Oracle Netware database's data.

How was the new Oracle 8 database designed and created on a physical level. Did you use the default Oracle parameters? And which ones did you use - small, medium or large default settings? What is the size of the SGA? Are you using the available physical memory to the max?

Are you still using Rule Based Optimisation (Oracle 7 default) or are you now using Cost Based Optimisation (Oracle 8 default). Are you using any new Oracle features, e.g. bitmap indexes and so on?

The Oracle 7.x database probably went thru numerous performance checks and changes. The older a database become, the more finely tune it usually becomes. However, what works for Oracle on Netware may not work as well (or at all) for Oracle on NT. Your NT database is brand new. Another aspect to remember - it's going to take some time to settle down and some more time to get to the same finely tuned state than your old database.

Networking. On the TCP side - make sure that you are using native TCP/IP and not pipes on top of TCP/IP. You can usually configure the average packet size for SQL*Net (or Net8) for an ODBC application by tuning the ODBC driver. If you're lucky, the driver will have a rowsize type parameter - the size of this determines the size of a TCP packet. The more data you can get into a packet, the less transmissions there are, the less collisions and so on.

Simply installing NT, slapping Oracle on, and then pumping data into Oracle.. well, that's not a recipe for a production system. The out-of-the-box settings of an operating system or database system are simply a guideline. And often a bad one at that. You need to install and manually configure it the best you can. Once you've done that, you need to start monitoring the server. Run Performance Manager on NT to monitor i/o, page swapping, memory requirements, CPU load and so on. Try to identify possible bottlenecks.

On the Oracle side - when a query takes a long time, start digging into the V$SESSION_WAITS, V$SESSION_EVENTS and V$SESSION_STATS for that query (hope I got the tablenames right - never sure when Oracle uses singular or plural! ;-).

regards,
Billy Received on Fri Dec 10 1999 - 01:07:59 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US