• Arun Kumar

11gR2 Non-RAC to RAC Migration

In this article we will be looking at Non-RAC to RAC migration using DBCA. I have RACN1 and RACN2 where I will show you how to migrate a single instance database running on machine DT_VM.

Create Template Using DBCA


Under DBCA, we have an option where you can create a template.  A Template is basically like entire structure of the database. And you can even include the data with the structure.


We are going to create (rather export) a DBCA template on DT_VM machine along with source data.


Let’s take when you are creating the template file. Basically by default it will have structure of all the tables and all the objects of database and you can optionally choose to also include the content of the table. Like let’s take I have a table which having one lakh rows then I can even have the rows in the template so that when I create database on the destination side using DBCA, I will first get all the object and I will also get the data.


That is why for all the small scale databases mostly DBCA can be used as a Replication method or a Cloning method  rather going for RMAN or other tool.


Let us create a template using single instance database.

On DT_VM (non-rac database)
===========================

# su - oracle
$ echo $ORACLE_SID

Just to make sure that this is not a RAC database, we will check the CLUSTER parameter.

SQL> show parameter cluster;

Now let us start DBCA and follow the below screenshots

On DT_VM (non-rac database)
===========================

$ dbca

Click Next

Select Manage Templates and Click Next

Choose Create a Database Template and select From an existing database (structure as well as data). Click on Next

Select the database which you are going to convert into RAC database and click on Next

Give a name to the template, make a note of the Template Datafile location and click on Next

Choose Convert the file locations to use OFA structure and click on Finish

Click on OK

Click on No

Goto the Template Datafile location

On DT_VM (non-rac database)
===========================

$ cd /u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/tmplates
$ ls -lrt my_rac*

Now we can see three files are created. In the next step, we need to copy these files to RAC node 1.


Copy Template Files to RAC Node 1


Scp the DBCA template files to RAC node 1

On DT_VM (non-rac database)
===========================

$ scp my_rac_migration.* oracle@192.168.1.50:/u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/tmplates


Create RAC Database From Template Files


Start DBCA on RAC node 1

On RACN1
========

$ dbca

Select Oracle Real Application Clusters database and click on Next

Choose Create a Database and click on Next

Select the Template that you imported from non-RAC database server. In our case, it is my_rac_migration. Click Next

Select Admin-Managed, give Global Database Name, click on Select All and then click on Next

Disable Configure Enterprise manage then select Automatic Maintenance Tasks

You can keep the maintenance tasks enabled and just click on Next

Give password for SYS and SYSTEM account and click Next

Click on Yes

Make sure the storage type is ASM, Database Areas is set to +DATA and then click on Next

Leave default and click on next

Click next

Click Next

Click Next

Make sure Create Database is selected and click on Finish

Review the database summary and click on OK

Now your cluster database creation will start

Once done, click on Exit

Verify RAC Database


Now that the DB migration is done, we are ready to verify how our RAC database is running.

On RACN1
========

SQL> select instance_name, instance_number from v$instance;

INSTANCE_NAME         INSTANCE_NUMBER
--------------------- ---------------
racdb1                              1

SQL> select database_name, open_mode from v$database;

DATABASE_NAME    OPEN_MODE
---------------- ----------
RACDB            READ WRITE

SQL> show parameter cluster_database;

NAME              TYPE      VALUE
----------------- --------- -----------
cluster_database  boolean   TRUE

Run same commands from RAC node 2

On RACN2
========

SQL> select instance_name, instance_number from v$instance;

INSTANCE_NAME         INSTANCE_NUMBER
--------------------- ---------------
racdb2                              2

SQL> select database_name, open_mode from v$database;

DATABASE_NAME    OPEN_MODE
---------------- ----------
RACDB            READ WRITE

SQL> show parameter cluster_database;

NAME              TYPE      VALUE
----------------- --------- -----------
cluster_database  boolean   TRUE

This is how you convert the Non- RAC to RAC database using DBCA. But I would recommend this method only when your database size small like around below 100 GB. Because above 100 GB will take lot of time to convert.


If your database Sizes above 100 GB, I would suggest to go with RMAN, Export / Import, Restore and Recover method from cold backup or hot backup. These are the other methods which also convert the Non- RAC to RAC database.




Recent Posts

See All

MySQL Installation on Linux

This article demonstrates MySQL installation on Oracle Enterprise Linux 6.5 version. Installation of MySQL Make sure you are able to connect internet via virtual machine. Try to ping google.com and pr

Add ISO image storage repository on XenServer

If you have used VMware ESXI, its very easy to upload ISO files to the data store and create VMs. With XenServer, you must create your own ISO repository to upload ISO files. Create ISO directory Acce

Automate RMAN Backups using Shell Scripts

In a real environment, off course you will not manually trigger all the Oracle database backups. You need an automated mechanism to trigger RMAN backups. In this article we will look at RMAN backup au

  • Facebook
  • Twitter
  • YouTube
  • Instagram

© 2020 by DBA Genesis

Feedback