In this article, I would like to demonstrate how to create a shell script to perform an RMAN SCN based backup and execute in background.
Tip: Scripting is a powerful tool to automate and execute jobs in background.
Below example shows how to perform an SCN based RMAN Incremental backup using 4 Channels when we perform Roll-forward of Physical Standby.
Step 1. Make a RMAN command file with RMAN Commands.
Get current SCN of Physical Standby and select a location to store RMAN backup files.
SQL> column BYTES current_scn 99999999999999
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
7707430599033
$ vi SCN_based_backup.cmd
run
{
allocate channel t1 type disk ;
allocate channel t2 type disk ;
allocate channel t3 type disk ;
allocate channel t4 type disk ;
backup incremental from scn 7707430599033 database format '/ora01/orclprd_standby/stnd_backp_%U.bak';
release channel t1;
release channel t2;
release channel t3;
release channel t4;
}
Step 2. Prepare shell script and include above .cmd RMAN
$ vi rman_scn_based_incremental_bkup_for_standby.ksh
#!/bin/ksh
export ORACLE_SID=orclprd
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db
export PATH=$PATH1:$ORACLE_HOME/bin
rman target / msglog /ora01/orclprd_standby/rman_SCN_backup.log cmdfile=/ora01/orclprd/RMAN_SCN_backup_from_primary/SCN_ based_backup.cmd
Step 3. Change permissions of above shell scripts
$ chmod 755 rman_scn_based_incremental_bkup_for_standby
Step 4. Start RMAN using nohup to run in background
$ nohup ./rman_scn_based_incremental_bkup_for_standby &
Monitor RMAN log
$ tail -300f /ora01/orclprd_standby/rman_SCN_backup.log
Conclusion: In this article we have learned how to perform RMAN SCN based backup using Unix shell script. Incremental backup are very useful such as rolling forward an standby database.
Author : Hameed
No comments:
Post a Comment