zoukankan      html  css  js  c++  java
  • Oracle-11g 基于 NBU 的 rman 冷备份及恢复

    备份恢复环境:

    (1).源端:
    SUSE Enterprise Linux 11
    Oracle 11g 11.2.0.3.6(RAC)
    (2).目标端:
    SUSE Enterprise Linux 11
    Oracle 11g 11.2.0.3.6(RAC)
     
    冷备份及恢复情形:
    冷备份 odsdb 集群数据,并于出现故障时,在原集群环境下进行恢复。其中,odsdb 已配置 NBU 备份环境。
    NBU Master Server 的主机名为 xmn-nbu-master,NBU Media Server 的主机名为 xmn-5230。
     
    冷备份步骤:
    1.设置系统参数(oracle)
    $> export NLS_DATE_FORMAT=YYYY-MM-DD:hh24:mi:ss
    $> export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    $> export NB_ORA_CLIENT=odsdbsvr1
    $> export NB_ORA_SERV=xmn-nbu-master
    2.执行备份操作(oracle)
    首先以下列命令 rman target / catalog rman/rman@rman11g 连接目标库及恢复目录数据库。
    随后,执行以下脚本进行备份。
    RMAN> RUN{
    SHUTDOWN IMMEDIATE;
    STARTUP MOUNT;
    ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' parms="ENV=(NB_ORA_CLIENT=odsdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' parms="ENV=(NB_ORA_CLIENT=odsdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE' parms="ENV=(NB_ORA_CLIENT=odsdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    BACKUP FULL tag 'cold backup' filesperset 4 FORMAT 'ManualBackup%d_%s_%p_%t' DATABASE;
    RELEASE CHANNEL ch00;
    RELEASE CHANNEL ch01;
    RELEASE CHANNEL ch02;
    ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' parms="ENV=(NB_ORA_CLIENT=odsdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    BACKUP FORMAT 'ManualBackupCntrl_%s_%p_%t' CURRENT CONTROLFILE;
    RELEASE CHANNEL ch00;
    }
    3.备份SPFILE(oracle)
    登陆至 sqlplus 环境,执行以下语句备份 spfile。
    SQL> create pfile='/home/oracle/20151023pfile.ora’ from spfile;
    4.查看DBID(oracle)
    同样于 sqlplus 环境,执行以下语句确定数据库的 DBID。注意:应记住 DBID 以用于恢复。
    SQL> SELECT dbid FROM v$database;
    输出结果类似如下:
          DBID
    --------------------
    3412031686
     
    冷恢复步骤:
    1.删除数据库实例(oracle)
    通过 dbca 删除 instance,例如在图形界面删除。
    2.设置系统参数(oracle)
    $> export NLS_DATE_FORMAT=YYYY-MM-DD:hh24:mi:ss
    $> export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    $> export NB_ORA_CLIENT=odsdbsvr1
    $> export NB_ORA_SERV=xmn-nbu-master
    3.启动数据库至 nomount(oracle)
    利用备份的 pfile 参数文件覆盖原启动文件。
    $> cp /home/oracle/20151023pfile.ora /u01/app/oracle/product/11.2.0/db_1/dbs/initodsdb1.ora
    进入 sqlplus 环境,将数据库启动至 nomount 状态。
    SQL> startup nomount
    4.配置远程 AS SYSDBA/SYSOPER 登陆的密码文件(oracle)
    例如以下操作将 sys 密码改为 password。
    $> cd $ORACLE_HOME/dbs
    $> orapwd file=orapwodsdb1 password=password entries=5
    5.恢复控制文件(oracle)
    通过以下语句进入连接恢复目录数据库,并制定要恢复的数据库 DBID。
    $> rman rcvcat rman/rman@rman11g
    RMAN> set dbid=3412031686
    RMAN> connect target sys/password
    随后,通过以下脚本恢复控制文件。
    RMAN> run{
    allocate channel ch0 type 'sbt_tape'
    parms="ENV=(NB_ORA_CLIENT=odsdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    restore controlfile;
    release channel ch0;
    }
    6.启动数据库至mount状态(oracle)
    SQL> alter database mount;
    7.恢复数据库文件(oracle)
    通过以下语句进入连接恢复目录数据库,并以当前库为连接的目标库。
    $> rman rcvcat rman/rman@rman11g
    RMAN> connect target sys/password
    随后,运行以下脚本恢复数据库文件。
    RMAN> run{
    allocate channel ch0 type 'sbt_tape'
    parms="ENV=(NB_ORA_CLIENT=yxdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    allocate channel ch1 type 'sbt_tape'
    parms="ENV=(NB_ORA_CLIENT=yxdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    allocate channel ch2 type 'sbt_tape'
    parms="ENV=(NB_ORA_CLIENT=yxdbsvr1,NB_ORA_SERV=xmn-nbu-master)";
    restore database;
    switch datafile all;
    recover database;
    }
    8.启动数据库至 open 状态(oracle)
    SQL> alter database open resetlogs;
    9.重新配置监听(oracle)
    需要的话重新配置监听。
  • 相关阅读:
    English,The Da Vinci Code, Chapter 23
    python,meatobject
    English,The Da Vinci Code, Chapter 22
    English,The Da Vinci Code, Chapter 21
    English,The Da Vinci Code, Chapter 20
    English,The Da Vinci Code, Chapter 19
    python,xml,ELement Tree
    English,The Da Vinci Code, Chapter 18
    English,The Da Vinci Code, Chapter 17
    English,The Da Vinci Code, Chapter 16
  • 原文地址:https://www.cnblogs.com/autopenguin/p/6305797.html
Copyright © 2011-2022 走看看