Database performance relies on well-optimized hardware, operating systems, and networks. Improper memory sizing and capacity planning could cause serious I/O contention and excessive I/O (read/writes) of the disks that could be costly to the database application operation and impact performance negatively. That is, if there isn’t enough memory, the application will have to perform time-consuming disk I/Os (Alapati, 2008). In addition, poor database instance configuration can cause disk thrashing or paging, which results in database performance degradation (Afyouni, 2004). The principles of tuning hardware, operating systems, and networks are similar and it involves identifying their tuning goals, the initial problem assessment and investigation, result analysis, solution proposal and implementation, and system monitoring (Afyouni, 2004; Whalen, 2005; Beaulieu, 2005). 

Operating system tuning:
Operating systems are computers that host database servers, computing applications, and filesystems, and tuning an Operating system involves optimal setup configuration. Some operating systems provide the capability to collect and record relevant performance statistics for individual programs. This important for identifying those programs, other than Oracle processes that are utilizing a lot of resources. Oracle Enterprise Manager Diagnostics Pack can be used to capture and analyze operating system, application, middle tier, as well as database performance data, and display the results graphically or alerts administrators via email or paging.

Examples of operating systems include Unix, Windows, Mac OS X, VMS, and SunOS, among others. Some DBAs may prefer Unix, for example, to Windows operating system because its based on Open source system under GPL license that allows free modifications or manipulations that suits the user. Thus, Unix is better for customization and to handle scalability issues because the open source code freedom reduces the possibility of vendor lock-in or lock-down (vendor dependent relationship in Windows), which does not allow incremental scale-in or scale-out according to performance load and forces the users to a very expensive upgrade path.

Hardware tuning:
Hardware tuning involves setting optimal hardware specifications for database server configuration, logging, and connection management; and configuring storage media technologies that hold the database files, such as RAID disk arrays, storage area networks (SAN), and network file systems (NFS). Hardware tuning is the act of modifying the hardware to perform optimally in your configuration. Therefore, the job of the hardware tuner (or network administrator) is to configure the system to use the CPU, (also memory, and I/O subsystem) resources efficiently. Today, SAN storage and RAID controllers have numerous tuning parameters, and the system BIOS and even some processors now offer optional settings (Millsap & Holt, 2003).

Hardware can be tuned by modifying the driver parameters and firmware configurations depending on the type of the hardware and the way your system and application operate. It also involves reconfiguring or adding new hardware to the existing database system to improve performance. This is necessary when the hardware resources, such as I/O subsystem and system RAM have been exhausted, and when efforts to tune the application and database instance to reduce resource use have not improved performance enough. However, this should not be the first step, but rather the last resort of tuning your database system (Whalen, 2005).

Network tuning:
Computer networks are interconnections of workstations (client computers), servers, peripherals, and other devices. Highly reliable computer networks are becoming increasing important in financial industries in which real-time transactions occur. In a database environment, networks propagate data to and from database servers, and each physical connection could be a possible point of failure for one or more clients. And this can significantly impact network availability, scalability, and performance. But the main concern is often performance problems that arise due to heavy network traffic generated by the system or insufficient bandwidth that is incapable of handing normal traffic demands (Afyouni, 2004). Therefore, the performance of the interconnected network system is very important to the overall system performance.

Network tuning means making sure that the network can handle the expected traffic as well as keeping a pool of connections open to handle future client requests. Oracle provides the Transparent Network Substrate (TNS), which allows distributed communication between databases. TNS and Oracle*Net allow the network administrator to control much of the network performance tuning remotely. By setting tcp.nodelay (in protocol.ora); automatic_ipc and break_poll_skip (in sqlnet.ora); and SDU, TDU and queuesize (in listener.ora or tnsnames.ora); the frequency and size of packets shipping across the network can be impacted. You can also use multiple listeners to perform load balancing. If one listener is busy, the incoming load can be diverted to another listener to ease the traffic; thus, improving performance (Burleson & Danchenkov, 2006).


References
Afyouni, A. H. (2004). Oracle 9i Performance Tuning: Optimizing Database Productivity. Thompson Course Tech.

Alapati, S. R. (2008). Expert Oracle Database 11g Administration. Apress.

Beaulieu, Alan. (2005). Learning SQL. O’Reilly.

Burleson, D. K. & Danchenkov, A. B. (2005). Oracle Tuning: The Definitive Reference.
Rampant Techpress

Freeman, R. G. (2008). Oracle Database 11g New Features: Maximize the New Capabilities of the Latest Database Release. McGraw Hill-Osborne.

Millsap, C. V. & Holt, J. (2003). Optimizing Oracle performance. O’Reilly.

Piedad, F. & Hawkins, M. (2001). High Availability: Design, Techniques, and Processes. Prentice Hall PTR, New Jersey.

Stephens, R., Plew, R., & Sams, A. J. (2003). Teach Yourself SQL in 24 Hours, 3rd Edition. Sams Publishing.

Whalen, Edward. (2005). Oracle Database 10g Linux administration. McGraw-Hill-Osborne/Oracle