Requirements for Oracle’s Parallel Features

In order to use Oracle’s parallel processing features for your database applications, you must:

  • Have both suitable hardware and operating system software that supports parallel processing

  • Configure Oracle Server appropriately

  • Modify your database applications to get the benefit of parallel processing

Table 1.1 briefly summarizes the requirements for using Oracle’s parallel execution features and for using Oracle Parallel Server.

Table 1-1. Requirements for Using Oracle’s Parallel Features

Type of Requirement

Parallel Execution

Oracle Parallel Server

Hardware

Multiple processors (SMP, MPP, or NUMA).

Multiple nodes (cluster, MPP, or NUMA cluster) shared disk architecture.

Operating system software

Operating system must support multiple processors.

Operating system must support resource management and communication across nodes. The operating system also must support a disk-sharing configuration such as the use of raw devices on Unix and NT platforms.

Oracle DBMS

Configure initialization parameters. If using Oracle7, install the Oracle Parallel Query Option.

Purchase and install the Oracle Parallel Server Option. Configure initialization parameters.

Application

Minor changes to SQL statements.

Application partitioning.

The following sections discuss some of the Table 1.1 requirements in greater detail.

Parallel Execution Requirements

Requirements for implementing parallel execution in Oracle are relatively straightforward. You need a computer with multiple processors, and you need to make relatively minor changes to Oracle initialization parameters and to your database application for parallel execution.

Hardware requirements

Parallel execution is not beneficial with a single-processor machine. In order to take advantage of Oracle’s parallel execution features, you need to be running in an environment that supports multiple CPUs. This could be an SMP system, an MPP system, or a clustered system. In MPP systems and clusters, parallel tasks are run on different nodes. Sometimes, each node of the clusters or MPP systems may be another SMP system.

Software requirements

Not only does your hardware need to support multiple CPUs, but your operating system also needs to be capable of managing multiple processors and be able to share common resources (memory, I/O, and system bus) among multiple processors. For example, several operating systems such as various flavors of Unix (AIX, Sun Solaris, HPUX, etc.), Windows NT, and VAX/VMS support multiprocessing.

Oracle DBMS requirements

In Oracle7, the parallel execution features were a separately installed option known as the Oracle Parallel Query Option. In Oracle8, these features are now part of the core database product. To enable them, all you need to do is to properly set some initialization parameters.

Application requirements

Setting up parallel execution in database applications is simple compared to scientific and other applications. In scientific applications, special algorithms are required to take advantage of parallel processing. Parallel compiling also is needed to compile those algorithms.

In contrast, once you’ve enabled the parallel execution features in Oracle, only minimal application modifications are necessary to take advantage of them. The number of parallel processes used to execute a query is referred to as the degree of parallelism . Minor changes may be required to the SQL statements in your application in order to specify the degree of parallelism to be used for each. The rest of the work required for parallel execution is handled transparently by the database server software. Oracle Server automatically takes care of dividing the task into smaller units, assigning work to multiple slave processes, and combining the results of individual slave processes to make the final result.

Oracle Parallel Server Requirements

Setting up Oracle Parallel Server is somewhat more complex than setting up parallel execution in an SMP environment. The installation process for Oracle Parallel Server is platform-specific, so be sure to check your platform-specific documentation before attempting an OPS install. Once you have the software installed, read Chapter 6 for a detailed explanation of the OPS architecture, and read Chapter 7 for detailed information on the steps involved in creating and managing an OPS database.

Hardware requirements

An Oracle Parallel Server runs on shared disk architectures where multiple nodes share common databases that are accessible from all nodes. Oracle Parallel Server can run on clusters and MPP systems but cannot be used on an SMP system, because SMP systems do not have more than one node.

System software requirements

To meet the system software requirements for parallel server execution, you must have a copy of the operating system on each node, and you must have system software to manage resources and communication among nodes. This management component often is referred to as a cluster manager. The system software also should be capable of making disks sharable among all the nodes. For example, on IBM RISC/6000 clusters, this component is referred to as HACMP (High Availability Clusters Multiprocessing).

Oracle DBMS requirements

Oracle Parallel Server is a separate option that has to be purchased and installed on all the nodes. Setting up and configuring the OPS option is more involved than setting up and configuring a standalone Oracle instance. Several additional initialization parameters have to be configured for OPS. Also, in order to synchronize database activity across multiple database instances, you will need to configure a new kind of database lock, referred to as an instances lock . Installation and configuration of OPS is quite involved, and you will find that it requires additional planning and careful analysis.

You can use the following query to check to see if the Oracle Parallel Server Option has been installed in your database. If the OPS option is installed, the VALUE column will return TRUES; otherwise, the VALUE column will return FALSE:

SQL> SELECT * FROM V$OPTION WHERE PARAMETER = 'Parallel Server';

PARAMETER                                      VALUE
------------------------------------------- --------
Parallel Server                                 TRUE

Application requirements

In Oracle Parallel Server, database applications run on more than one instance but access the same physical database. As we have mentioned before, OPS overhead increases if database applications running on multiple instances access the same set of database tables. Thus, in designing a database application for OPS, you need to give additional consideration to the application design to ensure that applications running on multiple database instances access different set of database tables. This process, referred to as application partitioning, has a huge impact on the performance of an OPS database.

Get Oracle Parallel Processing 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.