美文网首页
NBU+ORACLE RMAN异机恢复

NBU+ORACLE RMAN异机恢复

作者: 个人精进成长营 | 来源:发表于2021-07-23 07:52 被阅读0次

     

    NBU+ORACLE

    RMAN异机恢复

    目录

    1.      背景概述    1

    1.1    目的    1

    1.2    方法    1

    1.3    数据库备份架构    1

    2.      恢复所需资源    2

    2.1    主机资源    2

    2.2    实施环境    2

    3.      数据库恢复步骤    3

    3.1    安装配置目标主机    3

    3.2    全库恢复    3

    3.3    目标主机-nbu恢复配置    3

    3.4    备份主机-备份参数文件和控制文件    3

    3.5    目标主机-修改参数文件和启动数据库到nomount状态    3

    3.6    目标主机-恢复控制文件    4

    3.7    目标主机-启动数据库到mount状态    5

    3.8    目标主机-restore数据库    5

    3.9    目标主机-recover数据库    5

    3.10  测试主机-以resetlogs方法打开数据库    11

    3.11  测试主机-验证数据    11

    4.      恢复结果    14

    [if !supportLists]1.   [endif]背景概述

    [if !supportLists]1.1   [endif]目的

    将经分数据库迁移到另外一台相同硬件相同操作系统的主机。

    [if !supportLists]1.2   [endif]方法

    RMAN异机恢复

    [if !supportLists]1.3   [endif]数据库备份架构

    [if !supportLists]1.        [endif]备份系统采用netbackup

    7.5备份软件;

    [if !supportLists]2.        [endif]备份存放在nbu一体机。

    [if !supportLists]2.   [endif]恢复所需资源

    [if !supportLists]2.1   [endif]主机资源

    需要准备恢复数据库的目标主机,最佳做法是恢复目标主机的硬件架构、操作系统版本和备份主机一致。

    恢复测试主机信息

    角色主机名IP地址操作系统

    目标机WEISI-DM2-IBM-P740-0310.48.111.87AIX 6.1

    备份主机WEISI-DM2-IBM-P740-0410.48.111.88AIX 6.1

    Nbu Server主机nbumaster10.48.111.134Suse 10 sp2

    [if !supportLists]2.2   [endif]实施环境

    软件版本

    Nbu for AIX7.5

    Oracle 11g11.1.0.7.8

    [if !supportLists]3.   [endif]数据库恢复步骤

    [if !supportLists]3.1   [endif]安装配置目标主机

    因为目标主机Oracle软件完全拷贝备份主机,目标主机与备份主机环境一致,目标主机能与备份主机网络连通。

    [if !supportLists]3.2   [endif]全库恢复

    利用nbu备份软件,调用原来所备份的数据库,使用数据库恢复工具RMAN,进行ORACLE 数据库系统的全库异机恢复。

    [if !supportLists]3.3   [endif]目标主机-nbu恢复配置

    因为目标主机与现网的备份主机架构相同,故只需在NBU SERVER上删除对所有客户端的限制,以及(在目标主机安装nbu client后,配置oracle agent,该操作由赛门铁克工程师操作)

    如下:

    在nbumaster执行如下命令:

    1、创建如下文件,删除对所有客户端的限制

    /usr/openv/netbackup/db/altnames/No.Restrictions

    2、允许客户端仅从特定的客户端还原

    /usr/openv/netbackup/db/altnames/WEISI-DM2-IBM-P740-03

    说明:WEISI-DM2-IBM-P740-03为允许执行重定向还原的客户端(目标客户端)的名称

    向该文件中添加 NetBackup for Oracle 源客户端的名称,即WEISI-DM2-IBM-P740-04。

    [if !supportLists]3.4  [endif]备份主机-备份参数文件和控制文件

                注意,此时停止nbu侧归档日志的备份,若有备份进程在运行,待归档备份结束后,禁用归档备份策略,

                 若没有归档备份,则发起备份,备份结束后,禁用归档备份策略

                 同时,提醒使用人员,减少对数据库的操作

    备份参数文件

    SQL> create pfile='/home/oracle/pfile_p740_04.ora' from spfile’;

    备份控制文件

    RMAN> backup current controlfile format ‘/home/oracle/contrl_p740_04.bak';

    拷贝参数文件和控制文件到p740-03主机

    $ cd /home/oracle/

    $ scp pfile_p740_04.ora contrl_p740_04.bkp  oracle@10.48.111.87:/home/oracle/

    [if !supportLists]3.5  [endif]目标主机-修改参数文件和启动数据库到nomount状态

                修改参数文件中control_files路径为实际的裸设备路径,修改后的参数文件如下附件所示:

                [if !vml]

    [endif]

    在目标主机上,以oracle用户登陆数据库,将数据库启动到nomount状态:

    $ hostname

    WEISI-DM2-IBM-P740-03

    $ cd $ORACLE_HOME/dbs

    $ pwd

    /oracle/db/products/dbs

    $ cat initJF.ora

    SPFILE='/dev/vx/rdsk/ora_dg/rvdata_jf_spfile'

    $ sqlplus / as sysdba

    SQL> create  spfile='/dev/vx/rdsk/ora_dg/rvdata_jf_spfile' from pfile='/home/oracle/pfile_p740_04.ora';

    SQL> startup nomount

    [if !supportLists]3.6  [endif]目标主机-恢复控制文件

    在目标主机上,执行以下脚本,使用工具rman来恢复数据库的控制文件:

    #!/bin/sh

    export PATH=/usr/bin:/etc:/usr/sbin:/sbin:/oracle/db/products/bin

    export ORACLE_BASE=/oracle/db

    export ORACLE_SID=JF

    export ORACLE_HOME=/oracle/db/products

    HOSTNAME=`hostname`

    if [ $HOSTNAME != "WEISI-DM2-IBM-P740-03" ];

    then exit;

    fi

    rman target / <

    RUN {

    ALLOCATE CHANNEL ch01 TYPE 'sbt_tape';

    SEND 'NB_ORA_SERV=nbumaster,NB_ORA_CLIENT=WEISI-DM2-IBM-P740-04';

    restore controlfile from '/cntrl_9362_1_853177513';

    RELEASE CHANNEL ch01;

    }

    exit

    EOFRMAN

    [if !supportLists]3.7  [endif]目标主机-启动数据库到mount状态

    在目标主机上,等控制文件恢复完成后,更改数据库到mount状态:

    RMAN> alter  database mount;

    database  mounted

    [if !supportLists]3.8  [endif]执行restore_jf.sh脚本,restore数据库

    [if !vml]

    [endif]

    [if !supportLists]3.9  [endif]目标主机-recover数据库

    [if !supportLists]1、  [endif]P740-03后台执行以下脚本,recover 数据库

     nohup ./recover_database_noparallel.sh >  ./rmanlog/ recover_database_noparallel.log &

    [if !vml]

    [endif]

    [if !supportLists]2、  [endif]对p740-04数据库在线日志进行切换

    [if !vml]

    [endif]

    [if !supportLists]3、  [endif]在p740-04数据库创建表,插入5行数据,提交

    create table test (a number);

    Insert into test values(1);

    Insert into test values(2);

    Insert into test values(3);

    Insert into test values(4);

    Insert into test values(5);

    Commit;

    select *  from test;

    [if !supportLists]4、  [endif]p740-04数据库再次进行在线日志切换

    [if !vml]

    [endif]

    [if !supportLists]5、  [endif]关闭p740-04数据库

    $ lsnrctl  stop

    $ ps -ef |  grep LOCAL=NO | grep -v grep | awk '{print $2}' |xargs kill -9

    alter system  switch logfile;

    alter system  archive log current;

    alter system  checkpoint;

    archive log  list;

    shutdown  immediate

    [if !supportLists]6、  [endif]拷贝归档日志到p740-03主机

    cd  /archivlog

    scp *.arcoracle@10.48.111.87:/archivlog

    10、注册归档日志

    $ rman target  /

    catalog  start with ‘/archivlog’;

    10、再次进行recover恢复

    RECOVER  DATABASE;

    11、若出现如下类似错误,只要确认22638为当前的在线日志,就没有问题,属于正常

    RMAN-06054:  media recovery requesting unknown archived log for thread 1 with sequence  22638 and starting SCN of 1551382714

    正常,联机日志丢失。

    12、重命名在线日志

           [if !vml]

    [endif]

    13、打开数据库

            alter database open resetlogs;

    14、检查test表数据

            Select * from test

    15、关闭数据库,然后启动数据库,再关闭数据库

             shutdown immediate

             startup

             shutdown immediate

    16、通知业务人员检查数据完整性和启动业务

    [if !supportLists]4.  [endif]恢复结果

            恢复后的数据库启动正常,且验证的数据和备份机的数据是一致,迁移成功。

    相关文章

      网友评论

          本文标题:NBU+ORACLE RMAN异机恢复

          本文链接:https://www.haomeiwen.com/subject/lsrcmltx.html