Friday, February 16, 2018

Clone Oracle Database 11G using RMAN backup SET

Script: migrate-ok.sh

#!/bin/bash
cd
. .bash_profile
export BACKUPPATH="/u04/move"

for i in MEIS
do
export DATAFILE="BACKUP_${i}_DATA_$(date '+%Y%m%d')"
echo $DATAFILE
export ARCHIVEDLOG="BACKUP_${i}_ARC_$(date '+%Y%m%d')"
echo $ARCHIVEDLOG
export CONTROLFILE="BACKUP_${i}_CTL_$(date '+%Y%m%d')"
echo $CONTROLFILE
export RMAN_LOG_FILE="BACKUP_${i}_$(date '+%Y%m%d').out"
echo $RMAN_LOG_FILE
echo Backup_data_file_path=$BACKUPPATH

export ORACLE_SID=$i

#EXPORT pfile
sqlplus '/ as sysdba'  << EOF
CREATE pfile='${BACKUPPATH}/${i}/pfile-$i-$(date '+%Y%m%d').ora' from spfile;
EXIT;
EOF

#RMAN REPORT DATABASE INFORMATION
rman target / msglog ${BACKUPPATH}/${i}/DATABASE_${i}_info.txt <<EOF
run
{
REPORT SCHEMA;
}
EXIT;
EOF
#<<'test'
#RMAN BACKUPSET FOR Migration
rman target / msglog ${BACKUPPATH}/log/$RMAN_LOG_FILE <<EOF
run
{
ALLOCATE CHANNEL ch00 TYPE DISK;
ALLOCATE CHANNEL ch01 TYPE DISK;
ALLOCATE CHANNEL ch02 TYPE DISK;
ALLOCATE CHANNEL ch03 TYPE DISK;

BACKUP
    TAG "${DATAFILE}"
    FORMAT '${BACKUPPATH}/${i}/DATA_${i}_%s_%p_%t'
    DATABASE;
    sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;

ALLOCATE CHANNEL ch00 TYPE DISK;
ALLOCATE CHANNEL ch01 TYPE DISK;

BACKUP
   TAG "${ARCHIVEDLOG}"
   FORMAT '${BACKUPPATH}/${i}/arc_${i}_%s_%p_%t'
   ARCHIVELOG ALL ;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;

ALLOCATE CHANNEL ch00 TYPE DISK;
BACKUP
    TAG "${CONTROLFILE}"
    FORMAT '${BACKUPPATH}/${i}/cntrl_${i}_%s_%p_%t'
    CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
}
EXIT;
EOF
#test
echo $i
done


Scenario for clone target database to another Host
----------------------------------------------------------------
- exec: migrate-ok.sh
- scp backupset to target database
- create audit tail directory ex.mkdir /u01/app/oracle/admin/MEIS/adump
- create controlfile directory ex. mkdir /u02/MEIS/, mkdir /u01/app/oracle/fast_recovery_area/MEIS/
- create fast_recovery_area directory ex. mkdir /u01/app/oracle/fast_recovery_area
- start Oracle Instance from pfile ex. SQL> startup pfile='/u02/mig/pfile-MEIS-20160928.ora' nomount;
- restore controlfile from backupset ex. RMAN>  restore controlfile from '/u02/mig/cntrl_MEIS_38_1_923742230';
- Clear Fast recovery Area.
- Catalog RMAN Backupset ex. RMAN> catalog start with '/u02/mig';
- Mount Datafile ex. RMAN> sql 'alter database mount';
- Restore datafile ex. RMAN > restore database;
- Recover database ex. RMAN > recover database;
- Open Database resetlogs ex. SQL> alter database open resetlogs;
- create orapwSID in $ORACLE_HOME ex. orapwd file=orapwMEIS password=oracle entries=3
- create oratab @/etc/oratab $ORACLE_SID:$ORACLE_HOME:<N|Y>: ex. MEIS:/u01/app/oracle/product/11.2.0.2/db_1:N
- change password SYS,SYSTEM,SYSMAN,DBSNMP to rebuild EM
- exec: emca -config dbcontrol db -repos recreate to rebuild Enterprise Management

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

ALCATEL 6900

write memory copy running certified reload from working no rollback-timeout