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

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客户端

Pasted Graphic 1.png

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

Pasted Graphic 4.png

(4)启动Networker客户端

Pasted Graphic 2.png

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

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

Pasted Graphic 3.png

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

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

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

Pasted Graphic 5.png

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 创建存储节点,并扫描设备

Pasted Graphic 15.png

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

Pasted Graphic 16.png

Pasted Graphic 17.png

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

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

Pasted Graphic 6.png

(2)点击选择Oracle

Pasted Graphic 7.png

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

Pasted Graphic 9.png

(4)按默认选择第一项

wKioL1gcmwrg2CXFAABQIrKNRI0084.png

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

Pasted Graphic 10.png

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

Pasted Graphic 11.png

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

Pasted Graphic 12.png

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

Pasted Graphic 13.png

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

Pasted Graphic 14.png

三、异机恢复过程

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

Pasted Graphic 18.png

Pasted Graphic 20.png

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会根据控制文件的记录去找

Pasted Graphic 21.jpg

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

Pasted Graphic 22.png

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

Pasted Graphic 23.png

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

Pasted Graphic 24.png

这次就recover成功了

Pasted Graphic 25.png

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

猜你喜欢

转载自www.cnblogs.com/sosql/p/11024960.html