Networker 8.1异机恢复Oracle 11gR2

前端之家收集整理的这篇文章主要介绍了Networker 8.1异机恢复Oracle 11gR2前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

一、测试环境@H_502_3@

计算机名
IP地址
操作系统
角色
安装软件
Bakserver
10.1.1.4
RedHat 6
备份服务器
EMC Networker 8.1.1
DB1
10.1.1.5
RedHat 6 生产数据库服务器(源数据库

Oracle 11g R2、@H_502_3@

lgtoclnt-8.1.1.2-1.x86_64.rpm(Networker客户端)@H_502_3@

lgtonmda-1.6.0.2-1_x86_64.rpm@H_502_3@

(Networker数据库模块)
@H_502_3@

TestDB02
10.1.1.6
备用数据库服务器(目标数据库

注:备用数据库服务器的Oracle版本、实例名、Oracle相关目录及权限必须和生产数据库服务器一致。@H_502_3@

本文原始出处:江健龙的技术博客http://www.jb51.cc/article/p-ggtkqwot-bbz.html@H_502_3@


@H_502_3@

二、备用数据库服务器准备@H_502_3@

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


@H_502_3@

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

(1)解压networker客户端安装包@H_502_3@

wKioL1gcmwLznEJ4AAAcLAcnxwM318.png

@H_502_3@

(2)安装Networker客户端@H_502_3@

wKiom1gcmwORHpLXAAAsbtHPNpA284.png

@H_502_3@

(3)启动Networker客户端@H_502_3@

wKioL1gcmwPRV3JeAAALe5A4Ph8772.png

@H_502_3@

(4)解压NMDA1.6数据库模块安装包@H_502_3@

wKioL1gcmwTAWLg8AAAXnVFJPSU345.png

@H_502_3@

(5)安装NMDA1.6数据库模块@H_502_3@

图片5-1.png" alt="wKioL1gdmbqhHIhoAABV5kdqKM8761.png" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://s3.51cto.com/wyfs02/M02/89/CD/wKioL1gdmbqhHIhoAABV5kdqKM8761.png">@H_502_3@
@H_502_3@

3、链接文件,切换到oracle用户进入到/database/system/db/lib,然后执行以下命令:@H_502_3@

ln �s/usr/lib/libnsrora.so libobk.so@H_502_3@

wKiom1gcmwXSftHAAAANnFKeams879.png

@H_502_3@

4、确保归档已开启@H_502_3@

sql>archive log list;@H_502_3@

Database log mode Archive Mode@H_502_3@

Automatic archival Enabled@H_502_3@

Archive destination /oradata/arch@H_502_3@

Oldest online log sequence 363@H_502_3@

Next log sequence to archive 365@H_502_3@

Current log sequence 365@H_502_3@

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

RMAN> configure controlfile autobackup on;@H_502_3@

RMAN> configure controlfile autobackup format fordevice type sbt to '%F';@H_502_3@


@H_502_3@

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


@H_502_3@

7、在Networker控制台操作,新客户端向导
@H_502_3@

wKioL1gcmwazhnw9AABslkZovJE816.png

@H_502_3@

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

wKiom1gcmweyix7BAACeEMG6zsA839.png

@H_502_3@

(2)点击选择Oracle@H_502_3@

wKioL1gcmwihYq41AACCHA8DjGE209.png

@H_502_3@

(3)选择目标池为Data Domain存储中的池,按默认选择IP@H_502_3@

wKiom1gcmwmgtaPtAABpdrJ8t4A040.png

@H_502_3@

(4)按默认选择第一项@H_502_3@

wKioL1gcmwrg2CXFAABQIrKNRI0084.png

@H_502_3@

(5)填写相关目录路径,以及用户名、密码和实例名@H_502_3@

wKioL1gcsGGAx5QDAAB31uM9ViE796.png

@H_502_3@

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

wKioL1gcmwzS0ldIAABVEdhEUsM746.png

@H_502_3@

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

wKioL1gcmw2iW6t1AABg3zaWW9I750.png

@H_502_3@

wKiom1gcmw-DeN-mAABuIkEErHQ723.png

@H_502_3@

(8)完成客户端的创建@H_502_3@

wKiom1gcsqjhtzENAAB-RVTfre0872.png

@H_502_3@

wKioL1gdmlyBZYMlAAB2kgH-Hv4857.png

@H_502_3@

wKiom1gcmxORjMEoAAAXAsCnX_c525.png

@H_502_3@

(9)于只需要创建为networker客户端,并不需要加入组,故从组中删除(加入组是为了定时执行备份)
@H_502_3@

wKiom1gcmxGS-7xYAAAUpXrPmxs110.png

@H_502_3@

注:如果是要在组中参加定时备份,则需要右击修改客户端向导,做如下2处修改@H_502_3@

wKioL1gcmxKAXF_QAABPxUKH5s0895.png

@H_502_3@

wKioL1gcmxPAsRGmAABcPUEMyb8178.png

@H_502_3@


@H_502_3@

三、异机恢复过程@H_502_3@

本文原始出处:江健龙的技术博客http://www.jb51.cc/article/p-ggtkqwot-bbz.html@H_502_3@

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

wKiom1gcmxWQksRqAACo3E3R0Bk919.png

@H_502_3@

wKioL1gcmxeDPyxcAAFfF1E207o439.png

@H_502_3@


@H_502_3@

2、找到上图红框处的这个存储集,记下这个存储集的名称@H_502_3@

wKioL1gcmxjQZu_CAAAEVEgemaY706.png

@H_502_3@


@H_502_3@

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

(1)启动数据库到nomount模式@H_502_3@

[oracle@TESTDB02 ~]$sqlplus /nolog@H_502_3@

sql*Plus: Release 11.2.0.4.0 Production on Tue Nov 2514:18:59 2014@H_502_3@

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

sql> conn / as sysdba@H_502_3@

Connected to an idle instance.@H_502_3@

sql> shutdown immediate@H_502_3@

ORA-01109: database not open@H_502_3@

sql>create pfile='/database/system/db/dbs/ma.ora' from spfile;@H_502_3@

File created.@H_502_3@

sql>startup nomount pfile='/database/system/db/dbs/ma.ora';@H_502_3@

ORACLE instance started.@H_502_3@

Total System Global Area 1603411968 bytes@H_502_3@

Fixed Size 2253664 bytes@H_502_3@

Variable Size 1006636192 bytes@H_502_3@

Database Buffers 587202560 bytes@H_502_3@

Redo Buffers 7319552 bytes@H_502_3@


@H_502_3@

(2)查出源数据库db1的DBID,然后将目标数据库的DBID设置和源数据库的DBID一样@H_502_3@

[oracle@TESTDB02 ~]$ rman target /@H_502_3@

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

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

connected totarget database: MA (not mounted)@H_502_3@

RMAN> set dbid=2362817816;@H_502_3@

executing command: SET DBID@H_502_3@

(3)使用RMAN脚本恢复spfile@H_502_3@

RMAN>@H_502_3@

run{@H_502_3@

allocatechannel s1 type 'sbt_tape';@H_502_3@

send'NSR_ENV=(NSR_SERVER=BAKServer,NSR_CLIENT=db1,NSR_DATA_VOLUME_POOL=Oracle)';@H_502_3@

restorespfile from 'c-2362817816-20141127-01';@H_502_3@

releasechannel s1;@H_502_3@

}@H_502_3@

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

allocated channel: s1@H_502_3@

channel s1: SID=63 device type=SBT_TAPE@H_502_3@

channel s1: NMDA Oracle v1.6.0@H_502_3@

sent command to channel: s1@H_502_3@

Starting restore at 27-NOV-14@H_502_3@

channel s1: restoring spfile from AUTOBACKUPc-2362817816-20141127-01@H_502_3@

channel s1: SPFILE restore from AUTOBACKUPcomplete@H_502_3@

Finished restore at 27-NOV-14@H_502_3@

released channel: s1@H_502_3@

(4)使用RMAN脚恢复controlfile@H_502_3@

run{ @H_502_3@

restorecontrolfile from 'c-2362817816-20141127-01';@H_502_3@

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

channel s1: restoring control file@H_502_3@

channel s1: restore complete,elapsed time:00:00:07@H_502_3@

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

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


@H_502_3@

(5)mount数据库@H_502_3@

RMAN>sql ' alter database mount';@H_502_3@

sql statement: alter database mount@H_502_3@


@H_502_3@

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

run {@H_502_3@

restoredatabase;@H_502_3@


@H_502_3@

执行RMAN脚本后输出如下,可以看到数据文件已经成功restore:
@H_502_3@

wKiom1gcmxngARGxAAB_v6ESrys833.png

@H_502_3@

(7)通过RMAN脚本Recover数据库,不需要指定时间点,RMAN会根据控制文件的记录去找@H_502_3@

recoverdatabase;@H_502_3@

}@H_502_3@

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

wKioL1gcmxqDwQCIAAATJhp8Tu4104.png

@H_502_3@


@H_502_3@

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

send'NSR_ENV=( NSR_SERVER=BAKServer,SimSun;">recoverdatabase until sequence 4295;@H_502_3@

这次就recover成功了@H_502_3@

@H_502_3@

wKioL1gdmySzh95DAAA518YAXLc230.png


@H_502_3@

打开数据库,并resetlogs@H_502_3@

RMAN> exit@H_502_3@

RecoveryManager complete.@H_502_3@

[oracle@TESTDB02 ~]$ sqlplus /nolog@H_502_3@

sql*Plus:Release 11.2.0.4.0 Production on Fri Nov 28 09:52:25 2014@H_502_3@

Copyright(c) 1982,Oracle. All rightsreserved.@H_502_3@

Connected.@H_502_3@

sql> alter database openresetlogs;@H_502_3@

Databasealtered.@H_502_3@

sql> exit@H_502_3@

Disconnectedfrom Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bitProduction@H_502_3@

With thePartitioning,OLAP,Data Mining and Real Application Testing options@H_502_3@


@H_502_3@

注:如果没有备份归档日志,而是只备份了数据文件,则在完成restore database后,不用执行recover操作,而做如下3步操作:@H_502_3@

1、编辑前面创建的pfilevi /database/system/db/dbs/ma.ora增加一行参数:_allow_resetlogs_corruption=true@H_502_3@

2、从该创建spfile@H_502_3@

sql>create spfile from pfile='/database/system/db/dbs/ma.ora';@H_502_3@

@H_502_3@

3、执行sql语句开库:@H_502_3@

sql>alterdatabase open resetlogs;@H_502_3@


(10)启动监听
@H_502_3@

[oracle@TESTDB02 ~]$ lsnrctl@H_502_3@

LSNRCTLfor Linux: Version 11.2.0.4.0 - Production on 28-NOV-2014 09:55:06@H_502_3@

Copyright(c) 1991,SimSun;">Welcometo LSNRCTL,type "help" for information.@H_502_3@

LSNRCTL> start@H_502_3@

Starting/database/system/db/bin/tnslsnr: please wait...@H_502_3@

TNSLSNRfor Linux: Version 11.2.0.4.0 - Production@H_502_3@

Systemparameter file is /database/system/db/network/admin/listener.ora@H_502_3@

Logmessages written to /database/system/diag/tnslsnr/TESTDB02/listener/alert/log.xml@H_502_3@

Listeningon:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TESTDB02.it.com)(PORT=1521)))@H_502_3@

Listeningon: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))@H_502_3@

Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TESTDB02.it.com)(PORT=1521)))@H_502_3@

STATUSof the LISTENER@H_502_3@

------------------------@H_502_3@

Alias LISTENER@H_502_3@

Version TNSLSNR for Linux: Version11.2.0.4.0 - Production@H_502_3@

StartDate 28-NOV-2014 09:55:08@H_502_3@

Uptime 0 days 0 hr. 0 min. 0 sec@H_502_3@

TraceLevel off@H_502_3@

Security ON: Local OS Authentication@H_502_3@

SNMP OFF@H_502_3@

ListenerParameter File/database/system/db/network/admin/listener.ora@H_502_3@

ListenerLog File /database/system/diag/tnslsnr/TESTDB02listener/alert/log.xml@H_502_3@

ListeningEndpoints Summary...@H_502_3@

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TESTDB02.it.com)(PORT=1521)))@H_502_3@

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))@H_502_3@

Thelistener supports no services@H_502_3@

Thecommand completed successfully@H_502_3@

LSNRCTL>stop@H_502_3@

Thecommand completed successfully@H_502_3@


@H_502_3@

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

猜你在找的Oracle相关文章