Oracle RMAN 定时备份脚本 如何从备库备份中恢复主库

##备库恢复主库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

 

posted @ 2022-04-24 08:26  lizhao01  阅读(124)  评论(0编辑  收藏  举报