Druva provides a template batch file and an RMAN script for Windows RMAN hosts that you can use to backup databases. The scripts are:
oracle_rman_backup.bat
: This batch file runs the RMAN script that backs up a database. You can modify this script to provide RMAN parameters that specify the type of backup and information related to backup like filesperset and channels for a backup.rman_backup_windows.rman
: This script runs the backup job on RMAN.
Druva provides the following scripts to enhance the backup performance and also provides extended recovery windows locally on PBS:
oracle_rman_data_full_merge_weekly_backup_windows
: This script recovers and applies incremental backup set copies to the full image base copies of the backup. You can schedule this script to run on crontab based on the recovery window. For example, if the recovery window is set to 7 days, this script can be scheduled to run every week and the incremental backup pieces will be applied to the full image copies once every week.oracle_rman_data_incremental_daily_backup_windows
: This script backs up only incremental backups without performing recovery operations. You can schedule this script to run daily and ensure a recovery window from local PBS up to 7 days or based on the rman retention set for recovery window.π Note
βThe recovery window resets once the full merge script is run and hence you cannot recover your database from PBS to older backups that were backed up in the previous week.
The following sections provide the contents of the batch file and the RMAN script. You can edit these scripts to suit your requirements.
Template scripts for Phoenix Backup Store with version 4.9.1 or later
β Important
Druva requires you to use the following template scripts for Phoenix Backup Store with version 4.9.1 or later.
oracle_rman_backup.bat
echo offif not "%~2"=="" if "%~3"=="" goto STARTecho This script requires the next parameters:echo - backup_store_ip mount_nameecho - backup_store_ip : IP of backup storeecho - mount_name : backup mount name as in CPortalgoto EOF:STARTecho Starting Backupsetlocal enableDelayedExpansion enableextensionsfor /F "tokens=*" %%I in ('curl -X GET http://%1:9090/druva-phoenix/v1/mounts/%2/1.2/backup') do set validate_curl_output=%%Iset VALIDATE_JSON=%validate_curl_output%set "VALIDATE_JSON=%VALIDATE_JSON:~1,-1%"set "VALIDATE_JSON=%VALIDATE_JSON:":=",%"set /a vcount = 0REM Check for validate responsefor %%I in (%VALIDATE_JSON%) do ( if !vcount! == 1 ( if /I NOT %%I == 0 ( echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) else ( echo Request to validate backup succeeded ) ) REM is_max_snapshot_reached if !vcount! == 6 ( if %%I == true ( echo Maximum Pending Snapshot limit on PBS is reached. echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) ) set /a "vcount+=1")echo Validation Succeeded. Calling Start Backupfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output=%%Iset JSON=%curl_output%echo OUTPUT %curl_output%set "JSON=%JSON:~1,-1%"set "JSON=%JSON:":=",%"set /a count = 0for %%I in (%JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 6 ( set mount_name=%%~I ) if !count! == 13 ( set mount_path=%%~I ) set /a "count+=1")set mount_path=%mount_path:~,-2%echo %mount_path%set mount_path=!mount_path:/=\!echo %mount_path%set complete_mount=\\%1%mount_path%echo %complete_mount%echo Mount name %mount_name%echo NFS mount path %complete_mount%if not exist %complete_mount%\full ( echo Creating directory %complete_mount%\full mkdir %complete_mount%\full if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %complete_mount%\full.. exiting exit /b ) )REM Calling RMAN Backup on PBSfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/WIN/full/rmanbackup') do set rman_curl_output=%%Iset RMAN_JSON=%rman_curl_output%echo Response of rman backup: %RMAN_JSON%set "RMAN_JSON=%RMAN_JSON:~1,-1%"set "RMAN_JSON=%RMAN_JSON:":=",%"set /a count = 0for %%I in (%RMAN_JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %RMAN_JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 15 ( echo Setting Snapshot Name: %%I set SNAP_NAME=%%~I ) set /a "count+=1" )set SNAP_NAME=%SNAP_NAME:~,-2%echo Snapshot to be created: %SNAP_NAME%REM set SNAP_NAME=""if %SNAP_NAME% == "" ( echo "Empty Snapshot Name. Exiting." exit /b) set LOG_FILE_DIR=%complete_mount%\_workspace\RMAN_Logsecho LOG FILE DIR IS := %LOG_FILE_DIR%if not exist %LOG_FILE_DIR% ( mkdir %LOG_FILE_DIR% if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %LOG_FILE_DIR.. exiting exit /b )) set RMAN_LOGFILE=%LOG_FILE_DIR%\rman_full_backup_%SNAP_NAME%_WIN.logrman log=%RMAN_LOGFILE% @rman_backup_windows.rman using '%complete_mount%'if !ERRORLEVEL! NEQ 0 ( echo RMAN backup failed. Check RMAN log %RMAN_LOGFILE% for the details exit /b ) echo RMAN backup completedecho Notifying Phoenix to upload RMAN Logsfor /F %%I in ('curl -X POST -H "Content-Type: multipart/form-data" -F "file=@%RMAN_LOGFILE%" -F "mountpoint=%complete_mount%" -F "platform=windows" http://%1:9090/druva-phoenix/v1/mounts/%2/uploadlog') do set rman_upload_log_curl_output=%%Iecho Response from Phoenix Backup Store for upload RMAN Log: %rman_upload_log_curl_output%echo Calling End Backupfor /F %%I in ('curl -X PUT http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output2=%%Iecho Response from Phoenix Backup Store : %curl_output2%:EOFexit /b
rman_backup_windows.rman
connect target /set echo on;configure backup optimization on;configure controlfile autobackup on;configure device type disk parallelism 1 BACKUP TYPE TO COPY;configure datafile backup copies for device type disk to 1;configure archivelog backup copies for device type disk to 1;configure channel device type disk format '&1\full\full_bk_datafile_%U.rbk';configure controlfile autobackup format for device type disk to '&1\full\full_bk_controlfile_%F';run{backup incremental level 1 for recover of copy with tag 'phoenix_oracle_backup' database;backup format '&1\full\full_bk_Archivelog_%d_%s_%t' archivelog all not backed up;recover copy of database with tag 'phoenix_oracle_backup';#Force is to ignore I/O errorsdelete noprompt obsolete device type disk;delete force NOPROMPT expired copy;delete force NOPROMPT expired backup;crosscheck backup;crosscheck copy;}configure backup optimization clear;configure controlfile autobackup clear;exit
oracle_rman_data_full_merge_weekly_backup_windows.bat
echo offif not "%~2"=="" if "%~3"=="" goto STARTecho This script requires the next parameters:echo - backup_store_ip mount_nameecho - backup_store_ip : IP of backup storeecho - mount_name : backup mount name as in CPortalgoto EOF:STARTecho Starting Backupsetlocal enableDelayedExpansion enableextensionsfor /F "tokens=*" %%I in ('curl -X GET http://%1:9090/druva-phoenix/v1/mounts/%2/1.2/backup') do set validate_curl_output=%%Iset VALIDATE_JSON=%validate_curl_output%set "VALIDATE_JSON=%VALIDATE_JSON:~1,-1%"set "VALIDATE_JSON=%VALIDATE_JSON:":=",%"set /a vcount = 0REM Check for validate responsefor %%I in (%VALIDATE_JSON%) do ( if !vcount! == 1 ( if /I NOT %%I == 0 ( echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) else ( echo Request to validate backup succeeded ) ) REM is_max_snapshot_reached if !vcount! == 6 ( if %%I == true ( echo Maximum Pending Snapshot limit on PBS is reached. echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) ) set /a "vcount+=1")echo Validation Succeeded. Calling Start Backupfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output=%%Iset JSON=%curl_output%echo OUTPUT %curl_output%set "JSON=%JSON:~1,-1%"set "JSON=%JSON:":=",%"set /a count = 0for %%I in (%JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 6 ( set mount_name=%%~I ) if !count! == 13 ( set mount_path=%%~I ) set /a "count+=1")set mount_path=%mount_path:~,-2%echo %mount_path%set mount_path=!mount_path:/=\!echo %mount_path%set complete_mount=\\%1%mount_path%echo %complete_mount%echo Mount name %mount_name%echo NFS mount path %complete_mount%if not exist %complete_mount%\full ( echo Creating directory %complete_mount%\full mkdir %complete_mount%\full if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %complete_mount%\full.. exiting exit /b ) )REM Calling RMAN Backup on PBSfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/WIN/full/rmanbackup') do set rman_curl_output=%%Iset RMAN_JSON=%rman_curl_output%echo Response of rman backup: %RMAN_JSON%set "RMAN_JSON=%RMAN_JSON:~1,-1%"set "RMAN_JSON=%RMAN_JSON:":=",%"set /a count = 0for %%I in (%RMAN_JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %RMAN_JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 15 ( echo Setting Snapshot Name: %%I set SNAP_NAME=%%~I ) set /a "count+=1" )set SNAP_NAME=%SNAP_NAME:~,-2%echo Snapshot to be created: %SNAP_NAME%REM set SNAP_NAME=""if %SNAP_NAME% == "" ( echo "Empty Snapshot Name. Exiting." exit /b) set LOG_FILE_DIR=%complete_mount%\_workspace\RMAN_Logsecho LOG FILE DIR IS := %LOG_FILE_DIR%if not exist %LOG_FILE_DIR% ( mkdir %LOG_FILE_DIR% if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %LOG_FILE_DIR.. exiting exit /b )) set RMAN_LOGFILE=%LOG_FILE_DIR%\rman_full_backup_%SNAP_NAME%_WIN.logrman log=%RMAN_LOGFILE% @oracle_rman_data_full_merge_weekly_backup_windows.rman using '%complete_mount%'if !ERRORLEVEL! NEQ 0 ( echo RMAN backup failed. Check RMAN log %RMAN_LOGFILE% for the details exit /b ) echo RMAN backup completedecho Notifying Phoenix to upload RMAN Logsfor /F %%I in ('curl -X POST -H "Content-Type: multipart/form-data" -F "file=@%RMAN_LOGFILE%" -F "mountpoint=%complete_mount%" -F "platform=windows" http://%1:9090/druva-phoenix/v1/mounts/%2/uploadlog') do set rman_upload_log_curl_output=%%Iecho Response from Phoenix Backup Store for upload RMAN Log: %rman_upload_log_curl_output%echo Calling End Backupfor /F %%I in ('curl -X PUT http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output2=%%Iecho Response from Phoenix Backup Store : %curl_output2%:EOFexit /b
oracle_rman_data_full_merge_weekly_backup_windows.rman
connect target /set echo on;configure backup optimization on;configure controlfile autobackup on;configure device type disk parallelism 1 BACKUP TYPE TO COPY;configure datafile backup copies for device type disk to 1;configure archivelog backup copies for device type disk to 1;configure channel device type disk format '&1\full\full_bk_datafile_%U.rbk';configure controlfile autobackup format for device type disk to '&1\full\full_bk_controlfile_%F';run{recover copy of database with tag 'phoenix_oracle_backup';backup incremental level 1 for recover of copy with tag 'phoenix_oracle_backup' database;backup format '&1\full\full_bk_Archivelog_%d_%s_%t' archivelog all not backed up;#Force is to ignore I/O errorsdelete noprompt obsolete device type disk;delete force NOPROMPT expired copy;delete force NOPROMPT expired backup;crosscheck backup;crosscheck copy;}configure backup optimization clear;configure controlfile autobackup clear;exit
oracle_rman_data_incremental_daily_backup_windows.bat
echo offif not "%~2"=="" if "%~3"=="" goto STARTecho This script requires the next parameters:echo - backup_store_ip mount_nameecho - backup_store_ip : IP of backup storeecho - mount_name : backup mount name as in CPortalgoto EOF:STARTecho Starting Backupsetlocal enableDelayedExpansion enableextensionsfor /F "tokens=*" %%I in ('curl -X GET http://%1:9090/druva-phoenix/v1/mounts/%2/1.2/backup') do set validate_curl_output=%%Iset VALIDATE_JSON=%validate_curl_output%set "VALIDATE_JSON=%VALIDATE_JSON:~1,-1%"set "VALIDATE_JSON=%VALIDATE_JSON:":=",%"set /a vcount = 0REM Check for validate responsefor %%I in (%VALIDATE_JSON%) do ( if !vcount! == 1 ( if /I NOT %%I == 0 ( echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) else ( echo Request to validate backup succeeded ) ) REM is_max_snapshot_reached if !vcount! == 6 ( if %%I == true ( echo Maximum Pending Snapshot limit on PBS is reached. echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) ) set /a "vcount+=1")echo Validation Succeeded. Calling Start Backupfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output=%%Iset JSON=%curl_output%echo OUTPUT %curl_output%set "JSON=%JSON:~1,-1%"set "JSON=%JSON:":=",%"set /a count = 0for %%I in (%JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 6 ( set mount_name=%%~I ) if !count! == 13 ( set mount_path=%%~I ) set /a "count+=1")set mount_path=%mount_path:~,-2%echo %mount_path%set mount_path=!mount_path:/=\!echo %mount_path%set complete_mount=\\%1%mount_path%echo %complete_mount%echo Mount name %mount_name%echo NFS mount path %complete_mount%if not exist %complete_mount%\full ( echo Creating directory %complete_mount%\full mkdir %complete_mount%\full if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %complete_mount%\full.. exiting exit /b ) )REM Calling RMAN Backup on PBSfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/WIN/full/rmanbackup') do set rman_curl_output=%%Iset RMAN_JSON=%rman_curl_output%echo Response of rman backup: %RMAN_JSON%set "RMAN_JSON=%RMAN_JSON:~1,-1%"set "RMAN_JSON=%RMAN_JSON:":=",%"set /a count = 0for %%I in (%RMAN_JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %RMAN_JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 15 ( echo Setting Snapshot Name: %%I set SNAP_NAME=%%~I ) set /a "count+=1" )set SNAP_NAME=%SNAP_NAME:~,-2%echo Snapshot to be created: %SNAP_NAME%REM set SNAP_NAME=""if %SNAP_NAME% == "" ( echo "Empty Snapshot Name. Exiting." exit /b) set LOG_FILE_DIR=%complete_mount%\_workspace\RMAN_Logsecho LOG FILE DIR IS := %LOG_FILE_DIR%if not exist %LOG_FILE_DIR% ( mkdir %LOG_FILE_DIR% if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %LOG_FILE_DIR.. exiting exit /b )) set RMAN_LOGFILE=%LOG_FILE_DIR%\rman_inc_backup_%SNAP_NAME%_WIN.logrman log=%RMAN_LOGFILE% @oracle_rman_data_incremental_daily_backup_windows.rman using '%complete_mount%'if !ERRORLEVEL! NEQ 0 ( echo RMAN backup failed. Check RMAN log %RMAN_LOGFILE% for the details exit /b ) echo RMAN backup completedecho Notifying Phoenix to upload RMAN Logsfor /F %%I in ('curl -X POST -H "Content-Type: multipart/form-data" -F "file=@%RMAN_LOGFILE%" -F "mountpoint=%complete_mount%" -F "platform=windows" http://%1:9090/druva-phoenix/v1/mounts/%2/uploadlog') do set rman_upload_log_curl_output=%%Iecho Response from Phoenix Backup Store for upload RMAN Log: %rman_upload_log_curl_output%echo Calling End Backupfor /F %%I in ('curl -X PUT http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output2=%%Iecho Response from Phoenix Backup Store : %curl_output2%:EOFexit /b
oracle_rman_data_incremental_daily_backup_windows.rman
connect target /set echo on;configure backup optimization on;configure controlfile autobackup on;configure device type disk parallelism 1 BACKUP TYPE TO COPY;configure datafile backup copies for device type disk to 1;configure archivelog backup copies for device type disk to 1;configure channel device type disk format '&1\full\full_bk_datafile_%U.rbk';configure controlfile autobackup format for device type disk to '&1\full\full_bk_controlfile_%F';run{backup incremental level 1 for recover of copy with tag 'phoenix_oracle_backup' database;backup format '&1\full\inc_daily_bk_Archivelog_%d_%s_%t' archivelog all not backed up;#Force is to ignore I/O errorsdelete noprompt obsolete device type disk;delete force NOPROMPT expired copy;delete force NOPROMPT expired backup;crosscheck backup;crosscheck copy;}configure backup optimization clear;configure controlfile autobackup clear;exit
Template scripts for Phoenix Backup Store with version 4.9.0 or earlier
β Important
βDruva requires you to use the following template scripts for Phoenix Backup Store with version 4.9.0 or earlier.
oracle_rman_backup.bat
echo offif not "%~2"=="" if "%~3"=="" goto STARTecho This script requires the next parameters:echo - backup_store_ip mount_nameecho - backup_store_ip : IP of backup storeecho - mount_name : backup mount name as in CPortalgoto EOF:STARTecho Starting Backupsetlocal enableDelayedExpansion enableextensionsfor /F "tokens=*" %%I in ('curl -X GET http://%1:9090/druva-phoenix/v1/mounts/%2/1.2/backup') do set validate_curl_output=%%Iset VALIDATE_JSON=%validate_curl_output%set "VALIDATE_JSON=%VALIDATE_JSON:~1,-1%"set "VALIDATE_JSON=%VALIDATE_JSON:":=",%"set /a vcount = 0REM Check for validate responsefor %%I in (%VALIDATE_JSON%) do ( if !vcount! == 1 ( if /I NOT %%I == 0 ( echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) else ( echo Request to validate backup succeeded ) ) REM is_max_snapshot_reached if !vcount! == 6 ( if %%I == true ( echo Maximum Pending Snapshot limit on PBS is reached. echo Request to validate backup failed, exiting echo Response from Phoenix Backup Store %VALIDATE_JSON% exit /b 1 ) ) set /a "vcount+=1")echo Validation Succeeded. Calling Start Backupfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output=%%Iset JSON=%curl_output%echo OUTPUT %curl_output%set "JSON=%JSON:~1,-1%"set "JSON=%JSON:":=",%"set /a count = 0for %%I in (%JSON%) do ( if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) ) if !count! == 6 ( set mount_name=%%~I ) if !count! == 13 ( set mount_path=%%~I ) set /a "count+=1")set mount_path=%mount_path:~,-2%echo %mount_path%set mount_path=!mount_path:/=\!echo %mount_path%set complete_mount=\\%1%mount_path%echo %complete_mount%echo Mount name %mount_name%echo NFS mount path %complete_mount%if not exist %complete_mount%\full ( echo Creating directory %complete_mount%\full mkdir %complete_mount%\full if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %complete_mount%\full.. exiting exit /b ) )REM Calling RMAN Backup on PBSfor /F %%I in ('curl -X POST http://%1:9090/druva-phoenix/v1/mounts/%2/WIN/full/rmanbackup') do set rman_curl_output=%%Iset RMAN_JSON=%rman_curl_output%echo Response of rman backup: %RMAN_JSON%set "RMAN_JSON=%RMAN_JSON:~1,-1%"set "RMAN_JSON=%RMAN_JSON:":=",%"set /a count = 0for %%I in (%RMAN_JSON%) do (if !count! == 1 ( if /I NOT %%I == 0 ( echo Request to start backup failed, exiting echo Response from Phoenix Backup Store %RMAN_JSON% exit /b 1 ) else ( echo Request to start backup succeeded ) )if !count! == 15 (echo Setting Snapshot Name: %%I set SNAP_NAME=%%~I)set /a "count+=1")set SNAP_NAME=%SNAP_NAME:~,-2%echo Snapshot to be created: %SNAP_NAME%REM set SNAP_NAME=""if %SNAP_NAME% == "" (echo "Empty Snapshot Name. Exiting."exit /b) set LOG_FILE_DIR=%complete_mount%\_workspace\RMAN_Logsecho LOG FILE DIR IS := %LOG_FILE_DIR%if not exist %LOG_FILE_DIR% ( mkdir %LOG_FILE_DIR% if !ERRORLEVEL! NEQ 0 ( echo Unable to create directory %LOG_FILE_DIR.. exiting exit /b ))set RMAN_LOGFILE=%LOG_FILE_DIR%\rman_full_backup_%SNAP_NAME%_WIN.logrman log=%RMAN_LOGFILE% @rman_backup_windows.rman using '%complete_mount%'if !ERRORLEVEL! NEQ 0 ( echo RMAN backup failed. Check RMAN log %RMAN_LOGFILE% for the details exit /b ) echo RMAN backup completedecho Notifying Phoenix to upload RMAN Logsfor /F %%I in ('curl -X POST -H "Content-Type: multipart/form-data" -F "file=@%RMAN_LOGFILE%" -F "mountpoint=%complete_mount%" -F "platform=windows" http://%1:9090/druva-phoenix/v1/mounts/%2/uploadlog') do set rman_upload_log_curl_output=%%Iecho Response from Phoenix Backup Store for upload RMAN Log: %rman_upload_log_curl_output%echo Calling End Backupfor /F %%I in ('curl -X PUT http://%1:9090/druva-phoenix/v1/mounts/%2/backup') do set curl_output2=%%Iecho Response from Phoenix Backup Store : %curl_output2%:EOFexit /b
rman_backup_windows.rman
connect target /set echo on;configure backup optimization on;configure controlfile autobackup on;configure device type disk parallelism 1 BACKUP TYPE TO COPY;configure datafile backup copies for device type disk to 1;configure archivelog backup copies for device type disk to 1;configure channel device type disk format '&1\full\full_bk_datafile_%U.rbk';configure controlfile autobackup format for device type disk to '&1\full\full_bk_controlfile_%F';run{backup incremental level 1 for recover of copy with tag 'phoenix_oracle_backup' database;backup format '&1\full\full_bk_Archivelog_%d_%s_%t' archivelog all not backed up;recover copy of database with tag 'phoenix_oracle_backup';#Force is to ignore I/O errorsdelete noprompt obsolete device type disk;delete force NOPROMPT expired copy;delete force NOPROMPT expired backup;crosscheck backup;crosscheck copy;}configure backup optimization clear;configure controlfile autobackup clear;exit
You can download the following zip file for the above scripts: