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.
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.
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.
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.
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.
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.
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.
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.
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 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
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.
3.142.199.181