Clone ORACLE Database Using HP 3PAR Virtual Copy

Good morning everyone. Today i want to share about cloning ORACLE Database using SAN Storage utility. In database concept, storage are the end location of data. So, technically we can clone one database to the others database by copying the storage. This is current my environment spesification:  Oracle Database 11gR1 with ASM running on AIX Server, HP 3PAR Storage.

Step 1: Create Virtual Copy Set from 3PAR

The important thing before we create virtual copy from HP 3PAR system are we need shutdown the source database and asm instance to ensure there in no unexpected block movement from the source. So please shutdown your database and asm instance using sqlplus 😛

shutdown-database
shutdown database

after that, please open HP 3PAR console management. Go to Provisioning open Virtual Volume Sets and right click until the popup shown and choose “Create Virtual Copy”

create virtual copy set
create virtual copy set

and then you can choose some detail option for your virtual copy process.

set up your virtual copy
set up your virtual copy

You can schedule it, or running at that time for virtual copy process. You can setup name for your virtual copy. For database cloning, please choose Read/Write options and click OK and wait for a moment.

your virtual copy on unexported location
your virtual copy in unexported location

you can find your virtual copy disk in “Unexported” location after the storage finish the process. If you dont have Virtual Volume Sets, you can create the virtual copy manually, one by one in “Virtual Volumes” list.

Step 2: Assign Virtual Copy Volume to TheTarget Environment

in this step, you just need to assign the virtual copy disk to the target environment using 3PAR management console. So, we need export that disk to the target server first.

export the disk
export the disk

Block all the new virtual copy disk, right click on them and then choose “Export…” option. After that you can choose where target system to be.

welcome dialouge
welcome dialouge

Click Next

choose the target server
choose the target server

then choose your target server

summary page
summary page

Please check the summary page before completing this step and click “Finish” button.

Step 3: Setup The Disk to be Identify by ASM Instance

My target server are AIX server. So my target server need to be recognize the new additional disk. I use “cfgmgr” tools and run it as root account.

run "cfgmgr" to recognize additional disk
run “cfgmgr” to recognize additional disk

next, you need to configure the new disk name same as the source server. You can check it from source ASM instance using script “select path from v$asm_disk;” on your sqlplus.

checking source configuration asm disk path
checking source configuration asm disk path

After that you can create filesystem node using “mknod” script with same configuration between source and target

mknod for asm disk
mknod for asm disk

after mknod process complete, don’t forget to change owner and change permission the disk to asm disk owner and asm disk permission using “chown” and  “chmod 660“. After that you can turn on your asm instance

turn on your target asm
turn on your target asm

Step 4: Configure your Target Database

This is very simple step, you just need to copy your source database pfile or spfile to the target database. You can find your pfile on $ORACLE_HOME/dbs/ folder, which the name similar with “init<SID>.ora” prhase. if you using spfile, you can generate your own pfile copy from spfile using “create pfile=’/home/oracle/initDB.ora’ from spfile;‘ on your sqlplus

create pfile from spfile
create pfile from spfile

copy that file to $ORACLE_HOME/dbs folder on target server. And you can start your target database.

start your target database
start your target database

Don’t forget to disable archivelog mode because the archive log will consume your virtual copy space rapidly. Thanks

Advertisements

2 comments

  1. Hi Harley,

    We are doing the cloning of oracle database in HP3PAR using physical copy offline option however while mounting the cloned volumes in ASM on target server we are getting below error:
    SQL> alter diskgroup RMDY_PROD_DATA mount;
    alter diskgroup RMDY_PROD_DATA mount
    *
    ERROR at line 1:
    ORA-15032: not all alterations performed
    ORA-15017: diskgroup “RMDY_PROD_DATA” cannot be mounted
    ORA-15040: diskgroup is incomplete
    ORA-15080: synchronous I/O operation failed to read block 0 of disk 3 in disk group
    ORA-15080: synchronous I/O operation failed to read block 0 of disk 2 in disk group
    ORA-15080: synchronous I/O operation failed to read block 0 of disk 1 in disk group
    ORA-15080: synchronous I/O operation failed to read block 0 of disk 0 in disk group

    Only different what you did and we are doing is that while cloning we not making production (source) database offline. Reason behind production has to be online 24*7 hence it indeed the solution requirement.

    Please suggest.

    • hi Rajib,
      sorry for late response.
      i think it is because inconsistency in your physical copy disk.
      CMIIW you need to enable backup mode before you do physical copy.
      if you have some unused space & server, you can try to build replication using dataguard and do clone using 3par virtual copy on standby node, or maybe just activate your standby node.

      btw you can contact me on whatsapp or email in https://harleysnote.wordpress.com/about/

      regards

      Harley

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s