You can use these scripts as examples for backup and restore operations when Oracle disk caching of log files is enabled.
Backup Scripts
Backup of Only the Archive Log
run
{
allocate channel $[ch1] type 'sbt_tape' PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[262144],ENV=(CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape' PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[262144],
ENV=(CvInstanceName=$[Instance001])";
backup archivelog all delete input;
}
Backup of the Data and Logs
run
{
allocate channel $[ch1] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles 8;
setlimit channel $[ch2] maxopenfiles $[8];
backup incremental level = $[0]
filesperset =$[8]
format='$[%s_%t_%d_%U]'
database
include current controlfile;
}
#******LOGS BACKUP SCRIPT******#
run
{
allocate channel $[ch1] type 'sbt_tape
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape' PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles $[8];
setlimit channel $[ch2] maxopenfiles $[8];
format='$[%s_%t_%d_%U]'
(archivelog all delete input);
}
Restore Scripts
Restore and Recover the Database
run
{
allocate channel $[ch1] type 'sbt_tape' PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[262144], ENV=(CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape' PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[262144], ENV=(CvInstanceName=$[Instance001])";
restore database;
recover database;
}
Cross Machine Restore
-
CvSrcClientName – Source client name
-
CvSrcOraSID – Source SID
The following script must be run from the destination client, connecting to RMAN on the destination database. The destination database must be in NOMOUNT mode.
run
{
allocate channel $[ch1] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson], CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles $[8];
setlimit channel $[ch2] maxopenfiles $[8];
restore controlfile from '$[c-1912158803-20210310-45]';
sql '$[alter database mount]';
}
run
{
set newname for database to '$[/data/oradata/db12/%U]';
allocate channel $[ch1] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles $[8];
setlimit channel $[ch2] maxopenfiles $[8];
restore database until time = "TO_DATE('$[03/10/2021 11:30:11]','$[MM/DD/YYYY HH24:MI:SS]')" ;
switch datafile all;
}
run
{
allocate channel $[ch1] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles $[8];
setlimit channel $[ch2] maxopenfiles $[8];
recover database until time = "TO_DATE('$[03/10/2021 11:30:11]','$[MM/DD/YYYY HH24:MI:SS]')"
delete archivelog;
alter database open resetlogs;
}
Restore a Database When Using Disk Caching for Frequent Log Backups
If you are using disk caching for frequent log backups, use a script similar to the following to restore a database.
Use the following parameters:
-
CvSrcClientName - source client name:
-
Stand-alone Oracle - use the physical client name
-
Oracle RAC - use the pseudoclient name
-
-
CvSrcOraSID – source instance name. Use the instance name configured in the Commvault software.
run
{
allocate channel $[ch1] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
allocate channel $[ch2] type 'sbt_tape'
PARMS="SBT_LIBRARY=$[/opt/commvault/Base/libobk.so], BLKSIZE=$[1048576], ENV=(CvSrcClientName=$[boson],CvSrcOraSID=$[db12],CvInstanceName=$[Instance001])";
setlimit channel $[ch1] maxopenfiles $[8];
setlimit channel $[ch2] maxopenfiles $[8];
restore archivelog all;
}