SQWareProduction:oracle:bin:sqwora RmanClone.ksh
Contents
Presentation
Script $gvsqw_OraBin/sqwora_RmanClone.ksh :
Makes RMAN clone
Script is fully automatic:
- Check space (you have to customize this function)
- Retrieve choosed backup that can be:
- LastFull => retrieve the last full backup
- LastInc => retrieve the last incremental backup
- MaxTime => retrieve the last backup
- <tag> => retrieve this backup tag (part of file name)
- Unregister from RMAN catalog
- Save old password
- Destroy old database
- Run cloning
The script can also:
- ignore disk warning (stop by default)
- makes copy backup only
- change of unix users target/source
- choose parallel degree of backup copy
- send email report of cloning
- run shell script before load
- run shell script after load
This script use configuration file $gvsqw_RootCfg/sqwora_Rman.cfg
Online help
The online help is available for most scripts with the -h option.
Ex: $gvsqw_OraBin/sqwora_RmanClone.ksh -h
Content of this assistance :
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... Usage: sqwora_RmanClone.ksh [-h] -I <instance> -IS <instance> -US <hostname> -T <Type> [+ options] DESCRIPTION sqwora_RmanClone.ksh duplicate instance by Rman SUPPORT Oracle supported versions: 10gR2 <= v <= 21c PARAMETERS -I instance : Target instance (clone). -IS instance : Instance source. -US hostname : Hostname for instance source. -T type : Which backup to use: - LastFull => recover the last full backup - LastInc => recover the last incremental backup - MaxTime => recover the last backup - <tag> => recover this backup tag (part of file name) OPTIONS -h : Display the full usage. -s : Display samples of usage. -P Nb processes : Max number of processes (by default 4). -FRT return_code : Force return code value on error. -UUS username : Source unix user(by default, same as target). -Before script : Script to execute before clonning. -After script : Script to execute after clonning. -AddMail email : Email address to add at 'pmexpdba@gmail.com'. -SendReport : Send execution log report. -NoMail : Deactivate sendmail on error to pmexpdba@gmail.com (by default, send on error). -Locale locale : Force Locale for help display (fr,en). -CopyOnly : Make only the copy of backups and quit. -IgnoreDiskWarning : Ignore disk space warning (by default, exit on error). -Exec : Duplicate instance (by default, display generated commands).
Error management
Errors passing arguments
This type of message is generated:
Lack 'instance' parameter, Usage: sqwora_RmanClone.ksh [-h] -I <instance> -IS <instance> -US <hostname> -T <Type> [+ options] For full help : sqwora_RmanClone.ksh -h
If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:
No send mail because you are in connected mode !!! Lack 'instance' parameter
If you are not connected to a terminal, the error message appears and is sent by mail to the address contained in the variable $gvsqw_GlobalMail (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_oracle : " (See help customize this variable).
Execution errors
Whether you are or not connected to a terminal, the error message appears and an email containing a summary of treatment errors is sent to the address contained in the variable $gvsqw_Mail_oracle (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_oracle : " (See help customize this variable).
Usage examples
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... #Standard help for script sqwora_RmanClone.ksh: $gvsqw_OraBin/sqwora_RmanClone.ksh -h #Display online help for this script $gvsqw_OraBin/sqwora_RmanClone.ksh -Locale en -h #Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale) $gvsqw_OraBin/sqwora_RmanClone.ksh -s #Display usage examples for this script $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> #Generate commands but don't execute them ! $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -Exec #Makes RMAN clone $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -UUS 'dba_42' -Exec #Source unix user here 'dba_42' (by default, same as target) $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -IgnoreDiskWarning -Exec #Ignore disk space warning (by default, exit on error) $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -CopyOnly -Exec #Make only the copy of backups and quit. $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -Before $Home/scripts/XXX.ksh -Exec #Script to execute before clonning. $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -After $Home/scripts/XXX.ksh -Exec #Script to execute after clonning. $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -P <NumericValue> -Exec #Run sqwora_RmanClone.ksh script with a parallel degree of '<NumericValue>' #Use by default the variable gvsqw_NbThreadXXX in $gvsqw_OraBin/../etc/sqwora_GlobalVar.cfg #You can change this default on all your environnement if you set this variable #in configuration file $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec #Add the mail list to the default address managed by the variable gvsqw_GlobalMail $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -SendReport -Exec #Send the log by email at the end of the treatment even if there is no error $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -NoMail -Exec #Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error) $gvsqw_OraBin/sqwora_RmanClone.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -T <Type> -FRT <NumericValue> -Exec #Force return code to '<NumericValue>' on error (if no error, "exit 0!") #You can also force return code of this script on all your #environnement if you set the variable: $gvsqw_ForcedReturnCodeScript_sqwora_RmanClone=<NumericValue> #in configuration file $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg