Oracle and CPU Resources

Anything a computer does is performed through the execution of low-level instructions that initiate I/O, move data from one memory location to another, add two numbers together, compare two values, and so on. So anything and everything Oracle does requires CPU resources. Similarly, any other processes running on the server also consume CPU. If there is a shortage of CPU power, reducing Oracle or non-Oracle CPU consumption will improve the performance of all processes running on the server.

Running Oracle databases and non-Oracle applications on a single server leads to the “cannibalization” of CPU resources. Tuning Oracle frees CPU resources, which are then consumed by Oracle and non-Oracle processes. Similarly, if you’re running multiple Oracle databases on a single server and one of those databases (for example, a data warehouse) consumes a lot of CPU resources, performance across all databases will suffer. This resource cannibalization problem suggests why it’s a good practice to isolate databases with demanding performance targets on dedicated database servers.

If all the CPUs in a machine are busy, the processes line up and wait for a turn to use the CPU. This is called a run queue because processes are waiting to run on a CPU. The busier the CPUs get, the longer processes can spend in this queue. A process in the queue isn’t doing any work, so as the run queue gets longer, response times degrade. Keep in mind that run queues (which can bottleneck) ...

Get Oracle Essentials: Oracle9i, Oracle8i and Oracle8, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.