Oracle9i Database Administrator's Guide Release 1 (9.0.1) for Windows Part Number A90164-01 |
|
This chapter describes how to tune the Windows NT Server operating system to ensure that your Oracle9i database is running in the best possible environment.
This chapter contains these topics:
Compared to UNIX, Windows NT Server offers considerably fewer settings that can be adjusted to tune the operating system. This reduces the ability of systems administrators to optimize Windows NT Server performance, but helps to make Windows NT Server easier to use than some operating systems.
There are still ways, however, to make Windows NT Server a better application server environment for the Oracle9i database. Most of these operating system specific procedures have the effect of reserving more system resources for the Oracle9i database, such as CPU, memory, and disk I/O. These procedures are described in this chapter. In addition, the Oracle9i database is a high-performance database management system that effectively uses the resources within your Windows NT computer. In general, the Windows NT computer that is running your Oracle9i database should not also serve as any of the following:
These configurations consume both network, memory, and CPU resources. In addition, the Windows NT computer that is running your Oracle9i database should not be locally accessed with a high frequency or intensively used for local user processing, unless there exist significant resources to accommodate all this activity.
Interactive foreground applications running on Windows NT Server are given priority over background processes. This is the setting provided by default during the installation of Windows NT Server. In order to prevent foreground applications on the server console from taking excessive processor time away from the Oracle9i database, remove the priority for foreground applications.
To reduce the priority of foreground applications:
The System Properties dialog box appears.
The Performance tab displays:
Windows NT Server is a 32-bit operating system capable of addressing a 4 GB memory space (that is, 232 = 4,294,967,296 bytes = 4 GB). Half of this addressable memory space is reserved for system services and the file cache. The other half is addressable by user programs, such as the Oracle9i database.
Very few Windows NT Servers are equipped with 4 GB of RAM, so virtual memory plays an important role in Windows NT Server. The Windows NT Server memory manager tries to balance each application's usage of memory by dynamically paging memory between physical RAM and a virtual memory paging file. If an application is particularly memory-intensive (like the Oracle9i database) or if a large number of applications are running concurrently, the combined memory requirements of the applications may exceed the capacity of physical memory.
The Windows NT memory manager divides up system memory into three different pools described in Table 5-1.
Table 5-1 Windows NT Server Memory Pools
Category | Pools | Approximate % of Total Memory |
System Area |
Kernel and other system services |
9% |
|
File Cache |
41% |
User Area |
Paged Memory |
50% |
The large proportion of memory (41%) reserved for file caching can be quite beneficial to file and print servers but may not be advantageous to application servers that often run memory-intensive network applications. A Windows NT Server file cache is particularly unnecessary for the Oracle9i database, which performs its own caching (through the System Global Area Memory).
Windows NT Server is set by default to perform as a file and print server with a large file cache. Reset the server memory model for network applications so that the file cache is reduced and more physical memory is available for the Oracle9i database.
To configure Windows NT Server to be an applications server:
The Network dialog box appears.
The following information appears:
Once the file cache has been significantly reduced in size (as described in section "Configure Windows NT Server to Be an Application Server"), retrieve additional physical memory for the Oracle9i database by disabling services not needed for core operating system functionality.
To disable unnecessary services:
The Services dialog box appears.
The Service dialog box appears.
Remove all unnecessary network protocols on Windows NT Server so that processing time can be concentrated on servicing only critical protocols.
To remove unnecessary network protocols:
The Network dialog box appears.
If multiple protocols must be installed on the server, then prioritize the bindings so that the protocol most frequently used by the Oracle9i database is given the highest priority.
To reset the network protocol bind order:
The Network dialog box appears.
The Bindings tab displays:
All available protocol adapters display:
Microsoft releases operating system patches, called Service Packs, on a quarterly basis. Service Packs are sometimes abbreviated as SPx
where x is the release number of the Service Pack (for example, Windows NT Server 4.0 SP4 denotes a Windows NT Server 4.0 installation with Service Pack 4 applied). Service Packs are a collection of bug fixes and product enhancements to the basic Windows NT Server release. In general, apply Service Packs as soon as it is safe to do so, since they fix bugs and can improve Windows NT Server performance or functionality.
While the Service Packs are supposed to fix bugs, there have been reports (for example, the initial release of Windows NT Server 4.0 SP2) of bugs within the patch updates themselves. In general, it is safest to wait a few weeks after a Service Pack is released before implementing it. This allows time for other field sites to report any problems with the SP release.
The latest Windows NT Server Service Packs (as a self-extracting archive) may be downloaded from:
http://support.microsoft.com/support/ntserver/content/servicepacks/default.asp
To install a Service Pack:
Unless there are assurances that the Service Pack works without flaws on Windows NT Server, choose to create an Uninstall directory. This enables the Service Pack to be removed and the original configuration to be restored.
Service Pack files overwrite similarly-named files from those in the previous Windows NT Server configuration. However, Service Pack files can be overwritten in turn by setup programs that copy files from the original installation media.
For example, installing a new network protocol or printer driver usually requires the copying of files from the original Windows NT Server installation media. When Service Pack files are comprehensively or selectively overwritten, the Service Pack must be re-applied.
To uninstall a Service Pack (if an Uninstall directory was created):
Now that hard disk drives are relatively inexpensive, Windows NT Server should use logical volumes comprised of striped physical disks.
Compared to solid state CPU and memory speeds, mechanical hard disk drives are extremely slow. Data striping is an effective means of reducing the impact of relatively slow hard drives by distributing file I/O across a number of hard drives simultaneously.
Striping data across a number of disks is one example of a redundant array of inexpensive disks (RAID). There are several different types of RAID, ranging from high performance to high reliability. The three most common RAID levels in Oracle9i database installations are RAID-0, RAID-1, and RAID-5. Each are described in Table 5-2, along with a fourth RAID level, RAID 0+1:
Table 5-2 RAID levels in Oracle9i Database Installations
Data striping is achieved at the hardware level through the use of a RAID controller or, less efficiently, at the operating system level through Windows NT Server stripe sets. For a performance Windows NT Server configuration, data striping without parity (RAID-0 or equivalent) may be the best choice.
This example demonstrates the creation of a Windows NT Server stripe set. Suppose that there are six SCSI-2 hard disks attached to a common non-RAID disk controller. Each hard drive is not yet partitioned.
To create a Windows NT Server stripe set:
The Disk Administrator dialog box appears.
Note that the hash marks filling the partitioned drive 0's free space are now in the opposite direction to the marks in the free space of the unpartitioned hard disks:
[number of hard disks] * [capacity of the smallest selected partition]
The Disk Administrator automatically adjusts the sizes of each drive's stripe if a stripe set size of less than the maximum allowable is chosen.
The logical stripe set volume across all physical hard disks appears.
If there are enough physical disks in Windows NT Server, create at least two striped volumes (in addition to a standalone hard disk or striped volume for the operating system). One striped volume can be used for sequential data access and the other can be used for random data access.
Oracle9i database redo logs and archived redo logs, for example, are written in sequential order. Because of the reduced head movement, hard disks perform best when reading or writing sequential data.
Oracle9i database data files, however, are usually accessed in random order. Random access in a hard disk results in significant head movement, translating to slower data access.
Unless redo logs are separated from datafiles (at the physical device level), undo file I/O contention may result, lowering the access times for both types of files.
Even if the Oracle9i database is the only network application running on Windows NT Server, some virtual memory paging is likely to happen as the Windows NT Server memory manager attempts to move an application's seldom-used pages to disk in order to free up more physical memory for hot pages.
Multiplexing the Windows NT Server virtual memory paging file is a good strategy to boost overall system performance. Splitting the paging file onto at least two different physical volumes (or logical volumes as long as the underlying physical volumes do not overlap) provides a significant performance boost to virtual memory swapping operations.
Even though this is a good technique to increase the speed of virtual memory paging, too much paging activity is still a performance hit and should be corrected by adding more RAM to the server.
It is recommended that the total combined size of the page files be at least the same size as the physical amount of RAM on the computer. Configurations where the combined size is two to four times the size of the physical RAM are not uncommon. Although the goal is to minimize paging as much as possible, a situation in which the operating system runs out of or low on paging space is to be avoided at all costs. Adequate paging files spaced across physical disks spread out the I/O most efficiently, since the operating system spreads paging evenly across page files.
Once the procedures in the previous sections have been applied, remember to close any unnecessary foreground applications. Three are described below:
Remove applications from the Startup folders of Windows NT Server console operators. For example, if Microsoft Office Pro 95 is installed on the server, make sure that the FindFast indexing utility is not being loaded. The Office 95 Shortcut Toolbar is also unnecessary (using upwards of 3 MB when launched).
Database administrators (DBAs) frequently run SQL scripts from MS-DOS command prompts (also known as virtual DOS machines, or VDMs). While VDMs are relatively lightweight, screen painting VDMs is expensive. When executing long-running scripts from a VDM, minimize the window so that the system can focus on the operation and not on a flood of window repaint messages.
The most entertaining screen savers quickly saturate the CPU. If a screen saver must be run, choose Blank Screen, which uses the least amount of processing time.
To set a blank screen saver:
The Display Properties dialog box appears.
The following information appears:
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|