> 데이터 베이스 > MySQL 튜토리얼 > 中小型数据库 RMAN CATALOG 备份恢复方案(三)

中小型数据库 RMAN CATALOG 备份恢复方案(三)

WBOY
풀어 주다: 2016-06-07 17:31:26
원래의
1032명이 탐색했습니다.

在前两篇文章中描述了中小型数据库使用RMAN catalog设计备份与恢复方案,并给出了所有相关的脚本来从某种车程度上模拟Oracle Dat

在前两篇文章中描述了中小型数据库使用RMAN catalog设计备份与恢复方案,并给出了所有相关的脚本来从某种车程度上模拟Oracle Data Guard以减少硬件故障带来Prod服务器上数据库损失。在这边文章中主要描述Prod数据库的变迁在Bak server端如何进行恢复。

中小型数据库 RMAN CATALOG 备份恢复方案系列文章:

  • 中小型数据库 RMAN CATALOG 备份恢复方案(一)
  • 中小型数据库 RMAN CATALOG 备份恢复方案(二)
  • 中小型数据库 RMAN CATALOG 备份恢复方案(三)
  • 1、恢复前提

    按照前两篇文章的描述,我们制定了每天做一个level 0级备份并ftp整个备份集到Bak server。同时定时ftp Prod的归档日志到Bak server。

    其次是每天会对Bak server端的数据库做还原(restore)操作。因此对于Bak server实现数据恢复所要做的是应用归档日志(含定时ftp的归档日志)

    将数据库刷新到最新时刻。对于备份如恢复的间隔也可自行定义,如每2天做一次。下面是恢复的前提条件,否则需要手动备份或还原。

    使用RMAN备份脚本已经完成RMAN备份,,且备份被ftp到备份服务器

    使用RMAN恢复脚本已经在备份服务器成功进行了还原

    2、Prod DB上准备测试数据

    SQL> select * from v$version where rownum

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Release 10.2.0.3.0 - 64bit Production

    SQL> select instance_name,host_name from v$instance;

    INSTANCE_NAME    HOST_NAME
    ---------------- ---------------------------------------------
    Ak3210          N10db03p

    --为prod添加tablespace
    SQL> create tablespace tbs_tmp datafile '/u02/database/Ak3210/oradata/tbs_tmp.dbf' size 10m autoextend on;

    --基于新的tablespace添加表对象
    SQL> create table xy(seq varchar2(20),who varchar2(20),dt varchar2(20)) tablespace tbs_tmp;

    --插入数据
    SQL> insert into xy select 'FirstArch','Robinson',to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual;

    SQL> commit;

    --对当前日志归档
    SQL> alter system archive log current;

    --下面是生成的归档日志
    SQL> ho ls
    arch_818416637_1_157.arc

    --验证刚刚插入的记录是否存在于归档日志
    SQL> ho strings arch_818416637_1_157.arc | grep "FirstArch"
            FirstArch

    --再次插入新的数据
    SQL> insert into xy select 'SecnodArch','Jackson',to_char(sysdate,'yyyymmdd hh:mi:ss') from dual;

    SQL> commit;

    SQL> alter system archive log current;

    SQL> ho ls
    arch_818416637_1_157.arc  arch_818416637_1_158.arc

    SQL> ho strings arch_818416637_1_158.arc | grep "SecnodArch"
    SecnodArch

    --Author : Robinson Cheng
    --Blog  :

    --将归档日志文件复制到备份服务器
    SQL> ho scp *.arc 192.168.250.101:/u02/database/Ak3210/archive
    arch_818416637_1_157.arc                                      100%  34MB  34.2MB/s  00:00
    arch_818416637_1_158.arc                                      100%  12KB  12.0KB/s  00:00

    --Prod数据库的归档情况,当前Log sequence是159
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival            Enabled
    Archive destination            /u02/database/Ak3210/archive/
    Oldest online log sequence    157
    Next log sequence to archive  159
    Current log sequence          159
    SQL> col name format a60
    SQL> set linesize 160
    SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss';  -->查询归档日志
    SQL> select name,sequence#,status,COMPLETION_TIME from v$archived_log where status='A';

    NAME                                                          SEQUENCE# S COMPLETION_TIME
    ------------------------------------------------------------ ---------- - -----------------
    /u02/database/Ak3210/archive/arch_818416637_1_157.arc              157 A 20130731 16:34:30
    /u02/database/Ak3210/archive/arch_818416637_1_158.arc              158 A 20130731 16:35:42

    SQL> select * from xy;

    SEQ                  WHO                  DT
    -------------------- -------------------- --------------------
    FirstArch            Robinson            20130731 16:34:15
    SecnodArch          Jackson              20130731 16:35:35

    linux

    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿