当前位置:   article > 正文

Networker 8.2异机恢复Oracle 11g RAC集群环境

oracle networker 恢复

Networker 8.2异机恢复Oracle 11g RAC集群环境

本文是一篇迟来的博文,写这篇博文源于近日在整理技术笔记时,看到2年前写的EMC Networker 8.1异机恢复Oracle 11gR2数据库的操作笔记(测试的是假如生产数据库服务器崩溃宕机,而将备份数据恢复到备用数据库服务器)。虽然去年EMC就已推出了Networker 9,但本文可能多少还有一点参考价值,便稍加整理后发了出来。

一、测试环境

计算机名

IP地址

操作系统

角色

安装软件

Bakserver

172.16.3.18

RedHat 6

备份服务器

EMC Networker 8.2.2

dm01db01

172.16.0.177

RedHat 5

生产数据库服务器(源数据库)

Oracle 11g R2、

lgtoclnt-8.2.2-1.x86_64.rpm(Networker客户端)

lgtonmda-8.2.2-1.x86_64.rpm

(Networker数据库模块)

oracletesta

172.16.0.69

RedHat 6

测试数据库服务器(目标数据库)

Oracle 11g R2、

lgtoclnt-8.2.2-1.x86_64.rpm(Networker客户端)

lgtonmda-8.2.2-1.x86_64.rpm

(Networker数据库模块)

注:测试数据库服务器的Oracle版本、实例名、Oracle相关目录、创建数据库时ASM路径及权限必须和生产数据库服务器一致。

二、测试数据库服务器准备

1、安装配置Oracle数据库,其中版本、实例名、相关目录及权限均需要和生产数据库服务器一致,这部分操作不是本文重点故略过。

2、安装Networker客户端及数据库模块,版本需与生产数据库服务器一致。

(1)解压networker客户端安装包配置好yum源并生成缓存,解决安装包依赖问题。

(2)安装Networker客户端

clip_image002

(3)如果恢复数据量较大最好使用SAN存储网络恢复,需要安装存储节点客户端。

clip_image004

(4)启动Networker客户端

clip_image006

(5)解压NMDA8.2.2数据库模块安装包

(6)安装NMDA8.2.2数据库模块

clip_image008

3、链接库文件,切换到oracle用户进入到/$ORACLE_HOME/lib/,然后执行以下命令:

ln –s /usr/lib/libnsrora.so libobk.so

切换root用户 nsrorara -i oracle 模块启用

clip_image010

4、确保归档已开启

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /oradata/arch

Oldest online log sequence     363

Next log sequence to archive   365

Current log sequence           365

5、打开控制文件自动备份

[oracle@oracletesta ~]$rman target /

RMAN> configure controlfile autobackup on;

RMAN> configure controlfile autobackup format for device type 'sbt_tape' to '/NMDA_%F/'

6、做好hosts解析,确保备份服务器、目标数据库服务器之间能互相解析。

7、创建SAN网络存储节点(这里省略具体步骤)

(1)首先配置SAN网络交换机,将虚拟带库或者物理带库,设备光口和主机HBA卡光口划zone

(2) 再到虚拟带库添加主机连接信息并分配驱动器

(3)最后在Networker 创建存储节点,并扫描设备

clip_image012

(4)配置在Networker 库管理重新配置库,勾选分配的驱动器并启动配置

clip_image014

clip_image016

8、在Networker控制台操作,新客户端向导

(1)输入客户端名称,并按默认选择传统客户端

clip_image018

(2)点击选择Oracle

clip_image020

(3)选择目标池为Data Domain存储中的池

clip_image022

(4)按默认选择第一项

clip_image024

(5)填写相关目录路径,以及用户名、实例名(按照Oracle用户环境变量填写)

clip_image026

(6)选择浏览策略和保留策略,以及远程访问标识*@*

clip_image028

(7)选择添加到的组,默认已经勾选了default组,记得要去掉勾选。此处是要备份时才需要,我们现在只是为了恢复数据库而创建客户端,并不是要添加进组中进行备份,所以后面创建完客户端后需要从组中删除此客户端

clip_image030

(8)选择创建的SAN存储节点

clip_image032

(9)这样就完成了客户端的创建,可以恢复数据了。

clip_image034

三、异机恢复过程

1、通过Networker查询存储集,确认要恢复的日期,例如从DataDomain存储中恢复6月14号的备份数据

clip_image036

clip_image038

2、找到上图框处选中的这个存储集,记下这个存储集的名称

3、数据库的恢复操作必须在测试数据库服务器(即目标机)上进行,需要使用RMAN命令进行恢复

(1)创建临时参数文件pfile,并启动数据库到nomount模式(因为是RAC集群环境,必须将另一个节点数据也关闭)

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 2514:18:59 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> shutdown immediate

ORA-01109: database not open

查看原spfile路径

SQL>show parameter spfile;

SQL>'/u01/app/oracle/product/11.2.04/db_1/dbs/spfilePROD1.ora'

SQL>create spfile from pfile;

SQL>create pfile='/u01/app/oracle/product/11.2.04/db_1/dbs/ma.ora' from spfile;

File created.

SQL>startup nomount pfile='/u01/app/oracle/product/11.2.04/db_1/dbs/ma.ora';

ORACLE instance started.

Total System Global Area 1603411968 bytes

Fixed Size                  2253664 bytes

Variable Size            1006636192 bytes

Database Buffers          587202560 bytes

Redo Buffers                7319552 bytes

(2)查出源数据库dm01db01的DBID,(存储集名称中间NMDA_c-xxxxxxxxx9位数字就是DBid)然后将目标数据库的DBID设置和源数据库的DBID一样

[oracle@oracletesta ~]$ rman target /

Recovery Manager:Release 11.2.0.4.0 - Production on Wed Nov 19 14:49:36 2014

Copyright (c)1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected totarget database: MA (not mounted)

RMAN> set dbid=298958524;

executing command: SET DBID

(3)使用RMAN脚本恢复spfile

RMAN> RUN {

2> ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';

3> send 'NSR_ENV=(NSR_SERVER=bakserver, NSR_CLIENT=dm01db01.chinacoal.com)';

4> restore spfile to '/u01/app/oracle/product/11.2.04/db_1/dbs/spfilePROD1.ora' from '/NMDA_c-298958524-20190614-00/';

5> }

执行RMAN脚本后输出如下,可以看到spfile文件已成功恢复:

allocated channel: s1

channel CH1: SID=63 device type=SBT_TAPE

channel CH1: NMDA Oracle v8.2.2

sent command to channel: CH1

Starting restore

channel CH1: restoring spfile from AUTOBACKUP /NMDA_c-298958524-20190614-00/

channel CH1: SPFILE restore from AUTOBACKUPcomplete

退出rman,使用刚刚恢复的参数文件,启动到nomount模式

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup nomount

(4)使用RMAN脚本恢复controlfile

RMAN> RUN {

2> ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';

3> send 'NSR_ENV=(NSR_SERVER=bakserver, NSR_CLIENT=dm01db01)';

4> restore controlfile from '/NMDA_c-298958524-20190614-00/';

5> }

执行RMAN脚本后输出如下,可以看到控制文件已成功恢复:

allocated channel: CH1

channel CH1: SID=63 device type=SBT_TAPE

channel CH1: NMDA Oracle v8.2.2

sent command to channel: CH1

Starting restore at 27-NOV-14

channel CH1: restoring control file

channel CH1: restore complete, elapsed time:00:00:07

output filename=/database/dbdata/ma/control01.ctl

output filename=/database/system/fast_recovery_area/ma/control02.ctl

(5)mount数据库

RMAN>alter database mount;

sql statement:  alter database mount

(6)通过RMAN脚本还原数据文件,不需要指定时间点,RMAN会根据控制文件的记录去找

clip_image040

执行RMAN脚本后输出如下,可以看到数据文件已经成功restore,并开始recover

clip_image042

执行RMAN脚本后这时会提示报错找不到一个序列号为xxxx的归档,这是因为Oracle不会自动截断日志,会不断要求找下一个归档日志,因此需要在RMAN脚本中指定截断

clip_image044

(8)在recover脚本中添加until sequence 96772,再次使用RMAN脚本recover数据库

clip_image046

这次就recover成功了

clip_image048

(9)打开数据库,并resetlogs,这个报错是,数据库是以完整方式恢复,不需要resetlogs

RMAN> exit

RecoveryManager complete.

[oracle@oracletesta dbs]$ sqlplus / as sysdba

SQL> alter database openresetlogs;

ERROR at line 1:

ORA-01139: RESETLOGS option only valid after an incomplete database recovery

SQL> alter database open;

Database altered.

(10)启动监听

[oracle@oracletesta dbs]$ lsnrctl

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JUN-2019 18:37:17

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start

(11)至此,数据库已完成异机恢复,剩余的工作便是测试数据是否完整、正常,更改应用系统的数据库连接地址进行验证等。

转载于:https://www.cnblogs.com/sosql/p/11158657.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/321221
推荐阅读
相关标签
  

闽ICP备14008679号