Sample Scripts for Oracle Third-Party Command Line Operations

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;
}
×

Loading...