NetBackup下ORACLE恢复测试方案实例解析

之前写过一篇《数据丢失与灾难恢复---运维风险谈》,有网友留言说能否介绍一下恢复测试方面的内容,下面是结合企业环境给出的一个ORACLE恢复测试方案的实例解析,方便大家了解。

一、NetBackup 包括服务器和客户机软件:
1、Server服务器软件驻留在管理存储设备的计算机上。
■ Master Server主服务器管理备份、归档和还原。主服务器负责为 NetBackup 选择介质和设备。通常,主服务器包含 NetBackup 目录库。该目录库包含内部数据库,内部数据库中包含有关 NetBackup 备份和配置的信息。
■ Media Server介质服务器允许 NetBackup 使用它们所挂接的存储设备,从而提供额外的存储区域。介质服务器还可以通过分配网络负载来提高性能。介质服务器也可以称为设备主机。
2、 Client客户机软件驻留在包含要备份的数据的计算机上(服务器也包含客户机软件,并且可以备份)。通常也包括数据库。
3、网络结构拓扑图:
 

 


4、NetBackup 系统的工作方式
备份期间,客户机通过网络将备份数据发送到 NetBackup 服务器。NetBackup 服务器管理在备份策略中指定的存储类型。在还原期间,用户可以先浏览,然后选择要恢复的文件和目录。NetBackup 查找选定的文件和目录,并将它们还原到客户机上的磁盘中。

二、NetBackup测试环境准备
NetBackup服务器端实施前提环境
1、高于2G的 CPU、 4G内存配置,Windows Server 2003/2008 x64操作系统
2、确保已经在系统上测试了操作系统最新的修补程序和更新程序。
3、确保将屏幕分辨率至少支持 1024x768 和 16bit 色彩。
4、确保在测试 NetBackup 前所有的介质和机械手设备均已连接、配置并能为系统所识别。

NetBackup客户端实施前提环境
1、保证客户端可以通过网络正常连接访问NetBackup Windows主服务器
2、保证ORACLE 开启ARCHIVE LOG,即归档模式RMAN备份
3、明确下列信息:
IP地址:
ROOT用户名/密码:
Oracle测试路径:
Oracle SID:
Ch00和Ch01通道链接情况:
链接 Oracle 数据库和 SBT 库(仅适用于带有 RMAN 的 Oracle 数据库)
保证测试用客户端和数据库版本在NETBACKUP兼容性列表里面
三、NetBackup数据的恢复流程
注意恢复前,请先执行ORACLE数据库的备份策略并确定备份的成功完成。 


这里讲述的恢复主要是
1、 ORACLE数据库恢复;
2、 NetBackup的catalog恢复; 
 
1、ORACLE数据库恢复
 首先,需要正确安装和配置NetBackup客户端和oracle agent,关于安装与配置的过程,在这里就不详述了,参见官方文档。这里我们默认客户端和oracle agent正确安装配置,并且安装了正确版本的Oracle软件。
 注意:在配置NBU的bp.conf文件时,CLIENT_NAME一项的一定要是原来的备份源服务器的主机名;
 在恢复数据文件之前,先要使用NetBackup客户端恢复一些配置文件:
1、oracle用户的.profile。此文件也可以根据实际情况进行编写;
2、oracle数据库的pfile(init<SID>.ora)或spfile(spfile<SID>.ora)。Oracle的sfile或spfile文件里面记载这包括controlfile存放位置等信息,如果是pfile则可以直接以文本方式查看,如果是spfille则需要使用sqlplus查看;
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> start nomount;
SQL> show parameter control_files   //查看controlfile位置
SQL> show parameter user_dump_dest   //查看udump位置
SQL> show parameter background_dump_dest  //查看bdump位置
SQL> show parameter archive    //查看archive的信息

3、oracle数据库的password文件(orapw<SID>)。
4、oracle数据库的controlfile到pfile或spfile中指定的目录,需要说明的是,这里的controlfile是在每一次rman备份结束后以文件方式备份到服务器上的;
5、对应建立bdump和udump的目录,建立archive的目录。
在root用户下运行恢复shell脚本开始恢复数据文件,另外注意对应的存放数据文件的目录一定要拥有足够的空间,具体数据文件可以在sqlplus中查询到:
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> select * from dbfile;  //查看数据文件的信息

使用NetBackup客户端恢复可用的archive log文件到指定的位置。
 

关于archive log的信息可以通过sqlplus来查询:
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> archive log list   //查询archive log信息

接下来需要recover数据库:
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> startup mount
SQL> recover database until cancel using backup controlfile; //recover数据库,在询问时输入“AUTO”

完成recover数据库后就可以启动数据库了:
SQL> alter database open resetlogs;

数据库成功打开后,需要检查一下TEMP临时表空间是否存在如果没有还需要进行添加。
SQL>ALTER TABLESPACE "TEMP" ADD TEMPFILE '/oracle/DEV/bossdata3/temp_1/temp.data1'  SIZE  500M
当然,最好使用企业管理器(OEM)界面添加,因为这样更加直观。

经过以上步骤,就成功的恢复了oracle数据库。


2、恢复NetBackup的catalog
NetBackup的catalog记录着所有数据备份的详细信息,没有catalog则无法定位存放在磁带上的数据。正是由于catalog的重要性,一方面将catalog存放在具有raid保护的磁盘上,另一方面及时备份catalog。当NetBackup的catalog损坏时就可以利用备份来恢复catalog。
恢复时就是执行bprecover命令来直接进行恢复。
# bprecover –r –dpath /export/home/backup/catalog1
这样就成功的恢复了catalog。

四、测试
测试人员对应用进行测试,确保恢复后的数据都正常可用,最后做好评估和文档汇报。
 

本文出自 “滴水穿石孙杰” 博客,谢绝转载!

你可能感兴趣的:(NetBackup,实例解析,ORACLE恢复测试方案)