RelationalDBDesign RelationalDBDesign 



External Performance   «Prev  Next»
Lesson 2 Components of OS tuning
ObjectiveList OS components that can be tuned.

External Environment as Performance Factor

Tuning Operating Systems for Performance

One of the most critical things for an Oracle DBA to remember is that the Oracle database is subject to resource limitations. Because an Oracle database runs within a hardware environment, external factors can greatly impact Oracle performance. The external environment for a database includes:
  1. The operating system software
  2. The network
  3. The physical disks
  4. The memory and CPU on the host

These external components are often referred to as the operating system environment, or OS for short.
An Oracle database does not operate in a vacuum. The database instance consists of a region in the memory of the computer, a section of disk devices, and a set of processes that run on the database server.

Advanced Oracle SQL Tuning
OS Overview
  1. An Oracle instance is a memory region in the computer and a set of executing processes. The SGA memory is allocated within the OS environment at database start time, and may become paged-out if necessary.
  2. The main database processes are started within the OS environment at database start time, and these processes continue to run within the CPU while the database is running
  3. An Oracle database has disk storage. This disk storage is mapped to the database server, and a request for Oracle data ultimately translated into an OS request to perform an I/O operation against the disk.
  4. The OS services the request and then passes the blocks into the OS buffer cache.
  5. In a client-server environment, there are remote clients that connect to the database server to get information. These clients depend upon the network transport layer to ensure that the database requests are routed quickly to the server.

Oracle Operating System Components which can be tuned

There are several operating system components which can be tuned to improve the performance of an Oracle database:
  1. CPU: The amount of CPU available to the database can be a factor in performance. On systems with multiple CPU cores, the CPU affinity of the Oracle processes can be set to ensure that the processes are running on separate cores. The CPU scheduling algorithm can also be adjusted to give more priority to Oracle processes.
  2. Memory: The amount of memory available to the database can be a factor in performance. The size of the SGA and PGA can be adjusted to ensure that there is enough memory available to support the workload. The operating system's virtual memory settings can also be adjusted to optimize performance.
  3. Disk I/O: The performance of the disk I/O subsystem can be a factor in the overall performance of the database. The disk I/O scheduler can be adjusted to prioritize the I/O needs of the database. The use of faster disks, such as solid-state drives (SSDs), can also improve performance.
  4. Network: The network configuration can impact the performance of an Oracle database. The network bandwidth and latency can be a factor, especially in a distributed database environment. The network configuration, such as the use of different network interfaces and the use of load balancers, can also be tuned to improve performance.
  5. Kernel parameters: The operating system kernel has a number of parameters that can be adjusted to optimize the performance of the database. These parameters are specific to the operating system being used and may include settings for memory management, process scheduling, and I/O performance.

OS Component Overview
Note that the Oracle database background processes are ordinary processes to the OS environment. They have to wait for CPU services just like all other processes on the database server. The next lesson looks at the similarities between OS tuning and database tuning.