Tuesday, March 1, 2022

RAC to RAC Database Clone scenario - RMAN Duplicate Database - RMAN clone for RAC DB

RAC Database Clone or RMAN Duplicate Database:

==============================================
RAC to RAC Database Clone scenario - RMAN Duplicate Database - RMAN clone for RAC DB

1. Prestep take source DB backups and transfer it to target:
2. Database Clone or RMAN Duplicate Database on target:
3. Post Restore/Clone Steps:


1. Prestep take source DB backups and tranfer it to target
==========================================================
rman target /
run {
allocate channel ch1 device type disk;
backup as backupset database format '/u01/backup/Fullback_%T_%U'
plus archivelog format '/u01/backup/Archive_%T_%U';
backup current controlfile format '/u01/backup/Controlback_%T_%U';
backup spfile format '/u01/backup/spfile_%T_%U';
release channel ch1;
}

scp /u01/backup/* oracle@10.38.4.110:/u01/backup/.

2. Database Clone or RMAN Duplicate Database on target:
=======================================================
sqlplus / as sysdba
startup nomount pfile='/u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/initTESTDB.ora';

rman auxiliary /
duplicate target database to TESTDB backup location '/u01/backup' nofilenamecheck;

sqlplus / as sysdba
select name, open_mode from v$database;

3. Post Restore/Clone Steps:
============================
1. Get a pfiles from source and modify according to target environemtn
2. Start target instance using pfiles

sqlplus / as sysdba
shut immediate

cp initTESTDB.ora initTESTDB.ora_for_clone

vi /u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/initTESTDB1.ora

. oraenv
>>> TESTDB1

sqlplus / as sysdba
startup mount pfile='/u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/initTESTDB1.ora';

create spfile='+DATA/TESTDB/PARAMETERFILE/spfileTESTDB.ora' from pfile='/u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/initTESTDB1.ora';
shut immediate;

cp initTESTDB1.ora initTESTDB1.ora_After_RAC_Parameter_Added

Create local pfile initTESTDB1.ora point to SPFILE '+DATA/TESTDB/PARAMETERFILE/spfileTESTDB.ora'

Node1>>>
cd $ORACLE_HOME/dbs
cat > initTESTDB1.ora 
spfile='+DATA/TESTDB/PARAMETERFILE/spfileTESTDB.ora'

Node2 >>>
cat > initTESTDB2.ora 
spfile='+DATA/RACSB/PARAMETERFILE/spfileRACSB.ora'

sqlplus / as sysdba
startup mount;
show parameter spfile
shut immediate

Convert TESTDB database to RAC
==========================
srvctl add database -d TESTDB -n TESTDB -o '/u01/app/oracle/product/19.0.0.0/dbhome_1' -p '+DATA/TESTDB/PARAMETERFILE/spfileTESTDB.ora' -t IMMEDIATE -a 'DATA,RECO'

Add the NODE instances
srvctl add instance -d TESTDB -i TESTDB1 -n oraclenode1
srvctl add instance -d TESTDB -i TESTDB2 -n oraclenode2

srvctl config database -d TESTDB
srvctl status database -d TESTDB
srvctl start database -d TESTDB
srvctl status database -d TESTDB
srvctl stop database -d TESTDB

cp initTESTDB1.ora initTESTDB1.ora_Pointing_To_spfile

Regards,
Mallik

No comments:

Post a Comment

Automation Script | Archivelog Generation Hourly Monitoring

1. List out all the running databases and pic one database where we want to monitore the archive log generation from last 1 month. [oracle@o...