This blog
explains cloning steps of Grid Home/ASM Home applicable for 10g & 11g (on
ASM) particularly , applicable for scenarios like..
- Host Name Changes
- Binary Corruption without any valid backup to restore
- Cloning of DB across the servers
- Attaching new GRID Home to existing DB Home
It has been
observed that non-ASM DB cloning is simpler task without much activity related
to DB Home post cloning.
Just need to
keep same uid/gid of os osuser as source db software, copy as it is, relink it
on destination & few changes in listener.ora, password file, tnsnames.ora
and new ORACLE_HOME is ready for use
Considering
Single instance approach here as RAC to Non RAC copy has different approach
& need to play with few lib files
If you try
to copy GRID Home of some other server & try to bring up the ASM instance
you will come across below errors for sure although you set proper profile or
being up the LISTENER etc.
ORA-01078: failure in processing system
parameters
ORA-29701: unable to connect to Cluster
Synchronization Service
ASM needs
oracle cluster synchronization service domain to be running along with agent to
avoid above error.
To configure
the same you can perform the below steps which will enable you to start the ASM
instance & then later you can set asm_diskstring
to detect your ASM raw disks, mount the DISK Groups and start the RDBMS
instance
Trying to
replicate the steps which I have followed after the loss of grid & oracle
home due to file system corruption and with no valid backup to restore those binaries. ASM disks were not impacted
Step 1: As a grid osuser run
below to detach the grid home, ORACLE_HOME mentioned is the path of grid home
itself.
ORACLE_HOME_NAME
can be obtained from oracle inventory <$PATH>/oraInventory/ContentsXML/inventory.xml
cd $GRID_HOME/oui/bin
./runInstaller
-silent -detachHome ORACLE_HOME=/u01/app/grid/product/11.2.0/grid
ORACLE_HOME_NAME="Ora11g_gridinfrahome1"
Step 2: As a grid osuser run
below Perl clone
cd
$GRID_HOME/clone/bin
perl
clone.pl -silent ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/grid/product/11.2.0/grid
ORACLE_HOME_NAME="Ora11g_gridinfrahome1"
INVENTORY_LOCATION=/u01/app/oraInventory
Step 3: Execute root.sh as a
root or SUDO pass enter & y wherever asked y/n
Sudo
$GRID_HOME/root.sh
Step 4: De-configure HA by force
as below from root or sudo
cd
$GRID_HOME/crs/install
./roothas.pl
-deconfig -force
Step 5: Execute below as root/sudo, please note
its single line command
/u01/app/grid/product/11.2.0/grid/perl/bin/perl
-I /u01/app/grid/product/11.2.0/grid/perl/lib -I
/u01/app/grid/product/11.2.0/grid/crs/install /u01/app/grid/product/11.2.0/grid/crs/install/roothas.pl
Step6: Update the inventory, run it from grid
./runInstaller -updateNodelist
ORACLE_HOME=/u01/app/grid/product/11.2.0/grid defaultHomeName CLUSTER_NODES=
CRS=TRUE
Step7: Modify host names in
listener.ora of GRID & ORACLE_HOME
Step8: Add asm as a grid
srvctl
add asm
Step9: Start listener , asm
services
srvctl
add listener
srvctl
start listener
srvctl
start asm
srvctl
add database -d REMTST -o /u01/app/ora11g/product/11.2.0/dbhome_1
ps
-ef| grep -i css
Step10: You will find ASM
instance already up without any disk groups mounted, refer below
Connect as sysasm
from grid osuser
alter
system set asm_diskstring='/dev/mapper';
alter diskgroup DG01 mount;
alter diskgroup DG01 mount;
show
parameter disk
select
* from v$asm_disk;
Step11: Modify pfile as per
setup to reflect correct control file, db name, dump locations & start DB
No comments:
Post a Comment