C/C++教程

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

本文主要是介绍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

 

这篇关于Oracle RMAN 定时备份脚本 如何从备库备份中恢复主库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!