您的位置:首页 > 数据库 > Oracle

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

2012-12-05 10:51 447 查看
之前写过一篇《数据丢失与灾难恢复---运维风险谈》,有网友留言说能否介绍一下恢复测试方面的内容,下面是结合企业环境给出的一个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。

四、测试

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

本文出自 “滴水穿石孙杰” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: