15 Converting Single-Instance Oracle Databases to Oracle RAC and Oracle RAC One Node
Learn about procedures for converting from Oracle Database single-instance databases to Oracle Real Application Clusters (Oracle RAC) and Oracle RAC One Node databases.
Note:
A multitenant container database is the only supported architecture in Oracle Database 21c. While the documentation is being revised, legacy terminology may persist. In most cases, "database" and "non-CDB" refer to a CDB or PDB, depending on context. In some contexts, such as upgrades, "non-CDB" refers to a non-CDB from a previous release.
- Administrative Issues for Converting Databases to Oracle RAC
Before you can convert single-instance databases to Oracle RAC, you must address administrative requirements. - Converting to Oracle RAC and Oracle RAC One Node Using DBCA
Learn about guidelines and procedures for using Database Configuration Assistant (DBCA) to convert from single-instance Oracle Database to Oracle Real Application Clusters (Oracle RAC) or Oracle RAC One Node databases. - Postconversion Steps
After completing the conversion of your single instance database to an Oracle Real Application Clusters (Oracle RAC) database, follow these recommendations for configuring Oracle RAC environments.
Administrative Issues for Converting Databases to Oracle RAC
Before you can convert single-instance databases to Oracle RAC, you must address administrative requirements.
These conversion procedures are based on the assumption that your original single-instance database and the target Oracle Real Application Clusters (Oracle RAC) database are using the same release, and running on the same platform. Before you begin a conversion, note the following requirements:
-
Complete backup procedures before converting from a single-instance Oracle Database to Oracle RAC, and ensure that they are available after conversion. Take a backup of your existing database before converting to Oracle RAC, and be prepared to back up your Oracle RAC database immediately following the conversion.
-
For archiving with Oracle RAC environments, the archive file format requires a thread number.
-
The archived logs from all instances of an Oracle RAC database are required for media recovery. Because of this requirement, if you archive to a file, and you do not use a cluster file system, or some other means to provide shared file systems, then you require a method of accessing the archive logs from all nodes on which the cluster database has instances.
-
By default, all database files are migrated to Oracle Managed Files. This feature simplifies tablespace creation, ensures data file location consistency and compliance with Oracle Flexible Architecture rules, and reduces human error with data file management.
Note:
You must use clustered Oracle Automatic Storage Management (Oracle ASM) instances for Oracle RAC databases.Converting to Oracle RAC and Oracle RAC One Node Using DBCA
Learn about guidelines and procedures for using Database Configuration Assistant (DBCA) to convert from single-instance Oracle Database to Oracle Real Application Clusters (Oracle RAC) or Oracle RAC One Node databases.
- Overview of Converting Databases to Oracle RAC Using DBCA
Database Configuration Assistant (DBCA) provides certain benefits that can assist you with converting from single-instance Oracle Database to Oracle Real Application Clusters (Oracle RAC) or Oracle RAC One Node databases. - Converting Oracle Database Installations to Oracle RAC Using DBCA
To convert from a single-instance Oracle Database that is on a non-clustered computer to Oracle Real Application Clusters (Oracle RAC), complete each of the procedures described here. - Converting Single Instance on a Cluster to Oracle RAC One Node Using DBCA
To convert a single-instance Oracle Database to Oracle RAC One Node, use this Database Configuration Assistant (DBCA) procedure. - Converting Single Instance on a Cluster to Oracle RAC Using DBCA
Learn when you can convert a single instance Oracle Database to an Oracle Real Application Clusters instance, and find out how to perform the conversion.
Overview of Converting Databases to Oracle RAC Using DBCA
Database Configuration Assistant (DBCA) provides certain benefits that can assist you with converting from single-instance Oracle Database to Oracle Real Application Clusters (Oracle RAC) or Oracle RAC One Node databases.
DBCA automates the configuration of the control file attributes, creates the undo tablespaces and the redo logs, and creates the initialization parameter file entries for cluster-enabled environments. DBCA also configures Oracle Net Services, Oracle Clusterware resources, and the configuration for Oracle RAC database management using Oracle Enterprise Manager or the Server Control utility (SRVCTL).
Before you use DBCA to convert a single-instance database to an Oracle RAC or an Oracle RAC One Node database, ensure that your system meets the following conditions:
-
Your system uses supported hardware and operating system software. Your system is configured properly to support an Oracle RAC database.
-
The nodes have access to shared storage; for example, either Oracle Cluster File System or Oracle ASM is available and accessible from all nodes. On Linux on POWER systems, ensure that GPFS is available and accessible from all nodes.
-
Your applications have no design characteristics that preclude their use with cluster database processing.
If your platform supports a cluster file system, then you can use it for Oracle RAC. You can also convert to Oracle RAC and use a non-shared file system. In either case, Oracle strongly recommends that you use Oracle Universal Installer to install Oracle Database, which sets up the Oracle home and inventory in an identical location on each of the selected nodes in your cluster.
Related Topics
Converting Oracle Database Installations to Oracle RAC Using DBCA
To convert from a single-instance Oracle Database that is on a non-clustered computer to Oracle Real Application Clusters (Oracle RAC), complete each of the procedures described here.
Caution:
You must perform each of the procedures described in the following sections, and in the order shown.
- Use DBCA to Create an Image of the Single-Instance Database
To create a preconfigured image of your single-instance database as part of your conversion process from a single instance database to Oracle Real Application Clusters (Oracle RAC) database, use this DBCA procedure. - Complete the Oracle Clusterware Installation
You must complete the installation of Oracle Clusterware before you can proceed with a single-instance database to Oracle Real Application Clusters (Oracle RAC). - Validate the Cluster
After you install Oracle Clusterware, validate the cluster configuration by using the Cluster Verification Utility (CVU). - Copy the Preconfigured Database Image
After you validate the cluster, copy the preconfigured database image. - Install the New Oracle Database Software with Oracle RAC
Install the new Oracle Database release, selecting Cluster Installation Mode.
Use DBCA to Create an Image of the Single-Instance Database
To create a preconfigured image of your single-instance database as part of your conversion process from a single instance database to Oracle Real Application Clusters (Oracle RAC) database, use this DBCA procedure.
-
Navigate to the
bin
directory in$ORACLE_HOME
, and start DBCA. -
At the Welcome page, click Next.
-
On the Operations page, select Manage Templates, and click Next.
-
On the Template Management page, select Create a database template and From an existing database (structure as well as data), then click Next.
-
On the Source Database page, select the database name in the Database instance list, and click Next.
-
Use SQL to ensure that all pluggable databases (PDBs) are open:
SQL> SELECT name, open_mode FROM v$pdbs;
If any of the PDBs are in a state other than
OPEN
, then open them using SQL. -
On the Template Properties page, enter a name for your template in the Name field. Oracle recommends that you use the database name.
By default, the template files are generated in the directory
$ORACLE_HOME/assistants/dbca/templates
. You can enter a description of the file in the Description field, and change the template file location in the Template data file field.When you have completed the entries, click Next.
-
On the Location of Database Related Files page, select Maintain the file locations, so that you can restore the database to the current directory structure, and click Finish.
DBCA generates two files: a database structure file
(template_name.dbc
), and a database
preconfigured image file
(template_name.dfb
).
Complete the Oracle Clusterware Installation
You must complete the installation of Oracle Clusterware before you can proceed with a single-instance database to Oracle Real Application Clusters (Oracle RAC).
To complete the installation of Oracle Clusterware, refer to the documentation for your operating system.
Validate the Cluster
After you install Oracle Clusterware, validate the cluster configuration by using the Cluster Verification Utility (CVU).
Related Topics
Copy the Preconfigured Database Image
After you validate the cluster, copy the preconfigured database image.
When you copy the preconfigured database image, his includes copying the database
structure *.dbc
file, and the database preconfigured image
*.dfb
file (the one that you used DBCA to create earlier in the
conversion process) to a temporary location on the node in the cluster from which you
plan to run DBCA.
Install the New Oracle Database Software with Oracle RAC
Install the new Oracle Database release, selecting Cluster Installation Mode.
-
Run Oracle Universal Installer to install an Oracle Database with Oracle RAC.
-
Select Cluster Installation Mode on the Specify Hardware Cluster Installation page of Oracle Universal Installer, and select the nodes to include in your Oracle RAC database.
-
On the Oracle Universal Installer Database Configuration Types page, select the Advanced installation type.
After installing the Oracle Database software, Oracle Universal Installer runs postinstallation configuration tools, such as Net Configuration Assistant (NETCA), DBCA, and so on.
-
On the DBCA Template Selection page, use the template that you copied to a temporary location in the previous section. Use the browse option to select the template location.
Select the option that you want to deploy. Your choices are the following: Oracle RAC database; Oracle RAC One Node database; or Oracle single-instance database.
-
After creating the Oracle RAC database, DBCA displays the Password Management page on which you must change the passwords for database users who have SYSDBA and SYSOPER privileges. When DBCA exits, the conversion process is complete.
Converting Single Instance on a Cluster to Oracle RAC One Node Using DBCA
To convert a single-instance Oracle Database to Oracle RAC One Node, use this Database Configuration Assistant (DBCA) procedure.
-
Change directory to
$ORACLE_HOME/bin
. -
Start DBCA:
$ dbca
-
From the Welcome window, select Oracle RAC One Node database.
-
Use the DBCA template that you selected during conversion of the single-instance Oracle Database to Oracle RAC to deploy Oracle RAC One Node.
Converting Single Instance on a Cluster to Oracle RAC Using DBCA
Learn when you can convert a single instance Oracle Database to an Oracle Real Application Clusters instance, and find out how to perform the conversion.
- Scenarios for Converting Single Instance on a Cluster to Oracle RAC
There are three scenarios where you can use Database Configuration Assistant (DBCA) to convert an Oracle Database single instance on a cluster to an Oracle Real Application Clusters (Oracle RAC) instance. - Single-Instance Database on a Cluster Running from an Oracle RAC-Enabled Home
To convert a single-instance database on a cluster node running from an Oracle home that has the Oracle RAC option enabled, complete these procedures. - Single-Instance Database on a Cluster Running from an Oracle RAC-Disabled Home
You can create a single-instance database on a cluster running from an Oracle home with the Oracle Real Application Clusters (Oracle RAC) option disabled.
Scenarios for Converting Single Instance on a Cluster to Oracle RAC
There are three scenarios where you can use Database Configuration Assistant (DBCA) to convert an Oracle Database single instance on a cluster to an Oracle Real Application Clusters (Oracle RAC) instance.
-
Scenario 1: The Oracle home for the single-instance database was installed on a cluster node, and has Oracle RAC enabled.
-
Scenario 2: The Oracle home for the single-instance database was installed on a cluster node, but the Oracle RAC feature is disabled for this Oracle home.
-
Scenario 3: The Oracle home for the single-instance database was installed only on the local node in a cluster. This configuration happens when you select the Local Installation option on the Oracle Universal Installer Specify Hardware Cluster Installation page during Oracle Database installation.
Related Topics
Single-Instance Database on a Cluster Running from an Oracle RAC-Enabled Home
To convert a single-instance database on a cluster node running from an Oracle home that has the Oracle RAC option enabled, complete these procedures.
- Setting up the Cluster to Convert a Single-Instance Database on a Cluster
To convert a single-instance database on a cluster node running from an Oracle home that has the Oracle RAC option enabled, you first use DBCA to set up the cluster. - Automated Conversion Procedure Using DBCA
To complete conversion automatically from a single instance Oracle Database to an Oracle Real Application Clusters (Oracle RAC) database, you can us this procedure. - Manual Conversion Procedure
To complete conversion manually from a single instance Oracle Database to an Oracle Real Application Clusters (Oracle RAC) database, you can us this procedure.
Setting up the Cluster to Convert a Single-Instance Database on a Cluster
To convert a single-instance database on a cluster node running from an Oracle home that has the Oracle RAC option enabled, you first use DBCA to set up the cluster.
-
Use DBCA to create a preconfigured image of your single-instance database. To perform the conversion manually, shut down the single-instance database.
-
Add nodes to your cluster. Ensure that all nodes can access the shared storage used by Oracle Clusterware and Oracle RAC.
-
From the existing Oracle home, extend this home to the new nodes.
-
From a newly added node, configure the listeners on the additional nodes using NETCA. Choose the same port number and protocol that you used on the existing node. If NETCA displays the existing node in the node list page, then do not select this node, because the listener is already configured on it.
-
Convert the database using one of the following procedures:
After you prepare the cluster, you are ready to convert the database, either by using an automated conversion with Database Configuration Assistant (DBCA), or by performing a manual conversion. Select the procedure that you prefer.
Automated Conversion Procedure Using DBCA
To complete conversion automatically from a single instance Oracle Database to an Oracle Real Application Clusters (Oracle RAC) database, you can us this procedure.
If you used DBCA to create a preconfigured image of your single-instance database, then perform the following steps to complete the conversion to an Oracle RAC database
-
Start DBCA from the initial node. Select the names of the nodes to include as part of your cluster database. On the Template Selection page, select the preconfigured template that you created previously with DBCA. Enter the database name, and respond to the remaining DBCA prompts.
-
Specify the shared storage location for the Oracle Database data files.
After creating the Oracle RAC database, DBCA displays the Password Management page on which you must change the passwords for the database users who have SYSDBA and SYSOPER privileges. When DBCA exits, the conversion process is complete.
Manual Conversion Procedure
To complete conversion manually from a single instance Oracle Database to an Oracle Real Application Clusters (Oracle RAC) database, you can us this procedure.
If you did not use DBCA to create a preconfigured image of your single-instance database as described in a previous section, then perform the following steps to complete the conversion:
-
Create the Optimal Flexible Architecture directory structure on each of the nodes that you have added.
-
Recreate the control files by running the
CREATE CONTROLFILE
SQL statement with theREUSE
keyword and specifyMAXINSTANCES
andMAXLOGFILES
, and so on, as needed for your Oracle RAC configuration. TheMAXINSTANCES
recommended default is 32. -
Shut down the database instance.
-
If your single-instance database was using an
SPFILE
, then create a temporary parameter file (PFILE
) from theSPFILE
by using the following SQL statement:CREATE PFILE='pfile_name' from spfile='spfile_name'
-
Set the
CLUSTER_DATABASE
parameter toTRUE
, and set theINSTANCE_NUMBER
parameter to a unique value for each instance, using thesid.parameter =value
syntax.If you optimized memory usage on your single-instance database, then adjust the size of the system global area (SGA) to avoid swapping and paging when you convert to Oracle RAC. Oracle recommends that you make this adjustment, because Oracle RAC requires about 350 bytes for each buffer to accommodate the Global Cache Service (GCS). For example, if you have 10,000 buffers, then Oracle RAC requires approximately 350 multiplied by 10,000 bytes more memory. Accordingly adjust the size of the SGA by changing the
DB_CACHE_SIZE
andDB_nK_CACHE_SIZE
parameters as needed to avoid swapping and paging. -
Start the database instance using the PFILE created in Step 4.
-
If your single-instance database was using automatic undo management, then create an undo tablespace for each additional instance using the
CREATE UNDO TABLESPACE
SQL statement. -
Create redo threads that have at least two redo logs for each additional instance. Enable the new redo threads by using an
ALTER DATABASE
SQL statement. Then, shut down the database instance. -
Copy the Oracle password file from the initial node, or from the node on which you are working, to the corresponding location on the additional nodes on which the cluster database will have an instance. Replace the
ORACLE_SID
name in each password file appropriately for each additional instance. -
Set the
REMOTE_LISTENER
parameter to the single client access name (SCAN) and port. -
Configure the net service entries for the database and instances, and address entries for the
LOCAL_LISTENER
for each instance and for theREMOTE_LISTENER
in thetnsnames.ora
file, and copy thetnsnames.ora
file to all nodes. -
Create the
SPFILE
from thePFILE
. -
Create the
$ORACLE_HOME/dbs/initsid.ora
file that contains the following entry, wherespfile_path_name
is the complete path name of the SPFILE:spfile='spfile_path_name'
-
On the local node, use SQL*Plus to run
catclust.sql
. This script creates the dictionary views needed for Oracle RAC databases. For example:SQL> start ?/rdbms/admin/catclust.sql
-
Add the configuration for the Oracle RAC or Oracle RAC One Node database and its instance-to-node mapping using SRVCTL.
-
To add the configuration of an Oracle RAC database, use the following commands:
$ srvctl add database -dbname db_name -oraclehome Oracle_home -spfile spfile_path_name $ srvctl add instance -dbname db_name -instance inst1_name -node node1_name $ srvctl add instance -dbname db_name -instance inst2_name -node node2_name ...
-
To add the configuration of an Oracle RAC One Node database, use the following command:
$ srvctl add database -dbname db_name -dbtype RACONENODE -oraclehome Oracle_home -spfile spfile_path_name
-
-
Start the Oracle RAC or Oracle RAC One Node database using SRVCTL:
srvctl start database -d db_name
After starting the database with SRVCTL, your conversion process is complete. You can run the following SQL statement to see the status of all the instances in your Oracle RAC database:
SQL> SELECT * FROM v$active_instances;
Single-Instance Database on a Cluster Running from an Oracle RAC-Disabled Home
You can create a single-instance database on a cluster running from an Oracle home with the Oracle Real Application Clusters (Oracle RAC) option disabled.
To create an Oracle home on a cluster with Oracle RAC disabled, you can select local and non-cluster on the Node Selection Page of Oracle Universal Installer when installing the Oracle Database software. You can also performed a one-node cluster (with Oracle RAC) installation, but later disable the Oracle RAC option.
Perform the following procedures to convert this type of single-instance database to an Oracle RAC or Oracle RAC One Node database:
-
Use DBCA to create a preconfigured image of your single-instance database. To perform the conversion manually, shut down the single-instance database.
-
Change the directory to the
lib
subdirectory in therdbms
directory under the Oracle home. -
Relink the
oracle
binary by running the following commands:make -f ins_rdbms.mk rac_on make -f ins_rdbms.mk ioracle
-
Add nodes to your cluster. Ensure that all nodes can access the shared storage used by Oracle Clusterware and Oracle RAC.
Postconversion Steps
After completing the conversion of your single instance database to an Oracle Real Application Clusters (Oracle RAC) database, follow these recommendations for configuring Oracle RAC environments.
After conversion, Oracle recommends that you follow these guidelines:
-
Follow the recommendations for using load balancing and transparent application failover as described in a previous chapter.
-
Use locally managed tablespaces instead of dictionary managed tablespaces to reduce contention and manage sequences in Oracle RAC as described in Oracle Database Administrator’s Guide
-
Follow the guidelines for using automatic segment space management as described in Oracle Database Administrator’s Guide
The buffer cache and shared pool capacity requirements in Oracle RAC are slightly greater than the requirements for single-instance Oracle databases. Therefore, you should increase the size of the buffer cache by about 10 percent, and the size of the shared pool by about 15 percent.