##备库恢复主库controlfile方式
#HOW TO RESOTRE PRIMARY CONTROFILE FROM STANDBY CONTROFILE BACKUPSET.
#RMAN> restore PRIMARY controlfile from '<backuppiece>'
##每月1号执行
* * 1 * * su - oracle -c "sh /backup/bk_full_orcl.sh"
##脚本
#!/bin/bash
#This is rman full auto backup script
DBNAME=orcl
BACTIME=`date +%Y%m%d%I%M`
BACPATH=/backup
LGNAME='full_'$DBNAME'_'$BACTIME'.log'
export ORACLE_SID=$DBNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
rman log="$BACPATH/$LGNAME" append <<EOF
connect target /;
run{
allocate channel c1 device type disk maxpiecesize 20g;
allocate channel c2 device type disk maxpiecesize 20g;
allocate channel c3 device type disk maxpiecesize 20g;
allocate channel c4 device type disk maxpiecesize 20g;
backup as compressed backupset database format '$BACPATH/full_%d_%T_%s_%p.bak';
sql 'alter system archive log current';
backup archivelog all format '$BACPATH/arch_%d_%T_%s_%p.bak';
backup current controlfile format '$BACPATH/ctl_%d_%T_%s_%p.bak';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
crosscheck archivelog all;
crosscheck backupset;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt archivelog all completed before 'sysdate-3';
delete force noprompt archivelog all completed before 'sysdate-7';
list backup summary;
exit;
EOF