• oracle 备份恢复篇(二)---rman 增备恢复--不完全恢复


    一,环境准备

       全备脚本:

     1 export TMP=/tmp
     2 export TMPDIR=$TMP
     3 export ORACLE_BASE=/u01
     4 export ORACLE_SID=prod
     5 export ORACLE_HOME=/u01/oracle/db_1
     6 export ORACLE_TERM=xterm
     7 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
     8 export  LANG=en_US
     9 rman target / log /u01/backup/rman_full.log append<<EOF
    10 run
    11 {allocate channel c1 type disk;
    12 allocate channel c2 type disk;
    13 backup database filesperset 4 format '/u01/backup/full_%d_%T_%s_%p';
    14 sql 'alter system archive log current';
    15 sql 'alter system archive log current';
    16 sql 'alter system archive log current';
    17 backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
    18 backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
    19 crosscheck backup;
    20 crosscheck archivelog all;
    21 delete noprompt obsolete;
    22 delete noprompt  expired backup;
    23 delete noprompt  expired archivelog all;
    24 }
    25 EOF
    View Code

       增备脚本:

     1 export TMP=/tmp
     2 export TMPDIR=$TMP
     3 export ORACLE_BASE=/u01
     4 export ORACLE_SID=prod
     5 export ORACLE_HOME=/u01/oracle/db_1
     6 export ORACLE_TERM=xterm
     7 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
     8 export  LANG=en_US
     9 rman target / log /u01/backup/rman_full.log append<<EOF
    10 run
    11 {allocate channel c1 type disk;
    12 allocate channel c2 type disk;
    13 sql 'alter system archive log current';
    14 sql 'alter system archive log current';
    15 sql 'alter system archive log current';
    16 backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
    17 backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
    18 crosscheck backup;
    19 crosscheck archivelog all;
    20 delete noprompt  expired backup;
    21 delete  noprompt expired archivelog all;
    22 }
    23 EOF
    View Code

       实际环境..周日全备,其他增备

       周日全备数据:

       运行全备脚本.........

       周一增备:

       这天的数据写入特别多........

       create table test as select * from tab;
    
       create table a as select * from dba_users; 
    
       create table scott.emp1 as select * from scott.emp where rownum < 3;
    
       select * from scott.emp1;
       .....未完待续 不停的写
    .....写......写..... 晚上增备了

    sh 增备脚本.sh

        数据故障模拟:

          又一次删除:

    二,故障发现于处理

      第一步: 首先准备

       进入数据库....

       关闭数据库:>>>> shutdown abort

        启动到nomount状态

        进入备份目录查看最新的备份

        进入rman >>> rman target /

      第二步: 恢复控制文件,启动到数据库mount状态

         restore controlfile from '/u01/backup/ctl_PROD_20190301_724_1';

      第三步:  

       找到最新的归档集并注册

    RMAN> list backup;
    ......
    
    RMAN> catalog backuppiece '/u01/backup/arch_PROD_20190301_719_1';
    RMAN> catalog backuppiece '/u01/backup/arch_PROD_20190301_721_1';
    RMAN> catalog backuppiece '/u01/backup/arch_PROD_20190301_722_1';
    RMAN> catalog backuppiece '/u01/backup/arch_PROD_20190301_723_1';

      第四步:

       恢复数据

      第五步:

        恢复归档数据

     RMAN> recover database;

      第六步:

        打开数据库到resetlogs模式(重置redo)

    RMAN> alter database open resetlogs;
    

      第七步:

        重新备份数据

        

  • 相关阅读:
    教材代码完成情况测试P186(课上测试)
    教材代码完成情况测试P171(课上测试)
    团队作业(三):确定分工
    2018-2019-2 20175215 实验二《面向对象程序设计》实验报告
    20175215 2018-2019-2 第七周java课程学习总结
    类定义(课下选做)
    2018-2019 20175234 实验三《敏捷开发与XP实践》实验报告
    20175234 2018-2019-2 个人项目:数字黑洞(三):圣经数
    20175234 数据库MySQL(课下作业)
    20175234 2018-2019-2 《Java程序设计》第九周学习总结
  • 原文地址:https://www.cnblogs.com/kingle-study/p/10454803.html
Copyright © 2020-2023  润新知