• 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;
    

      第七步:

        重新备份数据

        

  • 相关阅读:
    Systemd入门教程:命令篇(转)
    Systemd入门教程:实战篇(转)
    Linux守护进程的启动方法(转)
    Ubuntu 16.04安装Chrome浏览器时提示:N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
    Ubuntu 16.04使用timedatectl进行管理时间(UTC/CST)(服务器/桌面)
    Ubuntu 16.04没有/etc/default/rcS文件的UTC设置选项的问题解决
    CentOS 6.9系统时间和硬件时间设置(转)
    Ubuntu 16.04使用“从互联网自动获取”时间无法写入硬件BIOS的奇怪问题
    MySQL中in子查询会导致无法使用索引问题(转)
    MySQL性能分析及explain的使用(转)
  • 原文地址:https://www.cnblogs.com/kingle-study/p/10454803.html
Copyright © 2020-2023  润新知