设为首页 收藏本站
查看: 1216|回复: 0

RMAN 备份案例-shell 脚

[复制链接]

尚未签到

发表于 2018-8-30 09:20:14 | 显示全部楼层 |阅读模式
  RMAN 备份案例-shell 脚
  通过shell 结合RMAN建立数据库的备份,可以简化数据库备份的工作,以下为一个备份案例:
  
  系统环境:
  操作系统:RedHat EL6
  Oracle: Oracle 11gR2
  
  本方案结合RMAN的Catalog DB建立备份,通过Catalog DB可以很方便的存储RMAN的备份脚本,方便备份的调用。
   DSC0000.jpg
  备份案例:
   DSC0001.jpg
  1、删除obsolete bakcup script
  ------按照备份保留策略,删除recovery windows 15 天以上的备份(obsolete)
  create global script global_del_obso comment 'A script for obsolete backup and delete it'
  {
  crosscheck archivelog all;
  delete noprompt expired archivelog all;
  allocate channel ch1 device type disk;
  delete noprompt obsolete recovery window of 15 days;

  >  }
  2、backup controlfile script
  ------备份控制文件
  create global script global_bkctl comment 'A script for backup control file'
  {
  allocate channel ch1 device type disk;
  backup as compressed backupset
  current controlfile reuse
  format='/dsk4/backup/backupctl.ctl'
  tag='bkctl';

  >  }
  3、backup archivelog script
  -----备份归档日志
  create global script global_arch comment "backup archivelog and then delete it" {
  allocate channel ch1 device type disk;
  allocate channel ch2 device type disk;
  sql "alter system archive log current";
  set limit channel ch1 readrate=10240;
  set limit channel ch1 kbytes=4096000;
  set limit channel ch2 readrate=10240;
  set limit channel ch2 kbytes=4096000;
  backup as compressed backupset
  format='/dsk4/backup/arch_%d_%U'
  tag='bkarch'
  archivelog all delete input;

  >
  >  }
  对于数据文件建立增量备份
  4、backup datafile script(level 0)
  ------增量备份 0级
  create global script global_inc0 comment "backup database as incrmental level 0"{
  execute global script global_del_obso;
  allocate channel ch1 device type disk;
  allocate channel ch2 device type disk;
  set limit channel ch1 readrate=10240;
  set limit channel ch1 kbytes=4096000;
  set limit channel ch2 readrate=10240;
  set limit channel ch2 kbytes=4096000;
  backup as compressed backupset
  incremental level 0 database
  format='/dsk4/backup/inc0_%d_%U'
  tag='inc0';

  >
  >  execute global script global_arch;
  execute global script global_bkctl;
  }
  5、backup datafile script(level 1)
  ------差异备份 1级
  create global script global_inc1 comment "backup database as incrmental level 1"{
  execute global script global_del_obso;
  allocate channel ch1 device type disk;
  allocate channel ch2 device type disk;
  set limit channel ch1 readrate=10240;
  set limit channel ch1 kbytes=4096000;
  set limit channel ch2 readrate=10240;
  set limit channel ch2 kbytes=4096000;
  backup as compressed backupset
  incremental level 1 database
  format='/dsk4/backup/inc1_%d_%U'
  tag='inc1';

  >
  >  execute global script global_arch;
  execute global script global_bkctl;
  }
  6、backup datafile script(level 1 cumulative)
  ----累积增量备份 1级
  create global script global_inc1_cu comment "backup database as incrmental cumulative level 1"{
  execute global script global_del_obso;
  allocate channel ch1 device type disk;
  allocate channel ch2 device type disk;
  set limit channel ch1 readrate=10240;
  set limit channel ch1 kbytes=4096000;
  set limit channel ch2 readrate=10240;
  set limit channel ch2 kbytes=4096000;
  backup as compressed backupset
  incremental  level 1 cumulative database
  format='/dsk4/backup/inc1_%d_%U'
  tag='inc1';

  >
  >  execute global script global_arch;
  execute global script global_bkctl;
  }
  7、list scripts
  ------查看catalog 库里的备份脚本
  RMAN> list script names;
  List of Stored Scripts in Recovery Catalog
  Global Scripts
  Script Name
  Description
  -----------------------------------------------------------------------
  global_arch
  backup archivelog and then delete it
  global_bkctl
  A script for backup control file
  global_del_obso
  A script for obsolete backup and delete it
  global_inc0
  backup database as incrmental level 0
  global_inc1
  backup database as incrmental level 1
  global_inc1_cu
  backup database as incrmental cumulative level 1
  RMAN>
  8、test scripts
  ------测试执行备份脚本
  run{
  execute global script global_inc0;
  execute global script global_inc1;
  execute global script global_inc1_cu;
  }
  9、建立RMAN连接Tartget DB和Catalog DB脚本及备份脚本
  1、连接 target and  catalog db
  [oracle@rh6 script]$ cat connect.rcv
  connect target sys/oracle@test1;
  connect catalog rman/rman@cuug;
  2、连接到target and catalog db ,执行备份
  [oracle@rh6 script]$ cat inc0.rcv
  @@/home/oracle/script/connect.rcv
  run{
  execute global script global_inc0;
  }
  [oracle@rh6 script]$ cat inc1.rcv
  @@/home/oracle/script/connect.rcv
  run{
  execute global script global_inc1;
  }
  [oracle@rh6 script]$ cat inc1_cu.rcv
  @@/home/oracle/script/connect.rcv
  run{
  execute global script global_inc1_cu;
  }
  [oracle@rh6 script]$
  10、shell 备份脚本
  [oracle@rh6 script]$ cat inc0.sh
  nohup $ORACLE_HOME/bin/rman cmdfile=/home/oracle/script/inc0.rcv log=/home/oracle/script/inc0.log append &
  [oracle@rh6 script]$ cat inc1.sh
  nohup $ORACLE_HOME/bin/rman cmdfile=/home/oracle/script/inc1.rcv log=/home/oracle/script/inc1.log append &
  [oracle@rh6 script]$ cat inc1_cu.sh
  nohup $ORACLE_HOME/bin/rman cmdfile=/home/oracle/script/inc1_cu.rcv log=/home/oracle/script/inc1_cu.log append &
  11、crontab 备份计划
  [oracle@rh6 script]$ crontab -l
  0 0 * * 0 sh /home/oracle/script/inc0.sh
  0 0 * * 1 sh /home/oracle/script/inc1.sh
  0 0 * * 2 sh /home/oracle/script/inc1.sh
  0 0 * * 3 sh /home/oracle/script/inc1.sh
  0 0 * * 4 sh /home/oracle/script/inc1_cu.sh
  0 0 * * 5 sh /home/oracle/script/inc1.sh
  0 0 * * 6 sh /home/oracle/script/inc1.sh


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558738-1-1.html 上篇帖子: 跨站平台XSS SHELL的使用方法 下篇帖子: shell中的for循环用法很多
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表