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