前言
在Oracle数据库备份恢复中,大部分应用场景是采用赛门铁克NBU来进行oracle数据备份恢复,但也有使用EMC NetWorker 数据库备份及异机恢复。本人通过实际生产环境配置整理成文,讲述如何使用EMC networker新增备份数据库客户端配置及数据库备份、数据恢复演练。
- Linux系统安装NetWorker Client
1、安装NetWorker Client客户端
安装包:
lgtoclnt-8.1.1.6-1.x86_64.rpm
yum localinstall lgtoclnt*.rpm
2、启动network服务
service networker start
3、解压安装数据库模块
tar -xf nmda16_linux_x86_64.tar
rpm -ivh lgtonmda-1.6.0.2-1.x86_64.rpm
4、添加数据库库文件
ln -s /usr/lib/libnsrora.so $ORACLE_HOME/lib/libobk.so
- 设置Oracle 备份脚本
1、设置Oracle备份脚本及配置文件(默认位置:/nsr/apps/config)
a.从模板文件中复制一份修改:
cp nmda_oracle.cfg nmda_oracle_oral.cfg
需要设置的内容为以下三项,请根据实际修改:
b.编辑RMAN备份脚本,示例如下;
vim oracle_fullbak.sh
2、Console端添加备份策略(配置—组—客户端)
a.添加组
b.添加客户端
存储集:RMAN:/nsr/apps/config/oracle_fullbak.sh
配置文件:nsrdasv -z /nsr/apps/config/nmda_oracle_oral.cfg
设置完成后手动启动备份测试,如下图:
- 恢复Oracle数据库至异机
1、在恢复主机上安装数据库软件(不建实例)
过程略
2、设置oracle用户环境变量
export ORACLE_SID=oral
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/11.2.0
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:.
3、备份主库的参数文件到恢复主机
创建参数文件
create pfile=’/home/oracle/initoral.ora’ from spfile;
从源机复制pfile至目标机,DBA根据测试环境实际情况修改以下几个方面:
1)数据库内存大小修改匹配目标机
2)控制文件位置
3)RAC或单机模式
4、创建数据库密码文件
orapwd file=orapworal password=***** entries=2 force=y
5、启动数据库到nomount状态
sqlplus / as sysdba
startup nomount
6、在networker控制台查询存储集
7、恢复控制文件,将数据库启动到mount状态
在Oracle用户下执行:rman target / nocatalog cmdfile=restore_ctl.sh
脚本内容如下:
请根据实际情况替换名字,其中:
DBID是数据库ID
NSR_SERVER是灾备服务器的名字
NSR_CLIENT是原备份客户端,Oracle恢复的源机
NSR_DATA_VOLUME_POOL是备份池的名字
启动数据库到mount状态
执行数据库启动命令:startup mount,如下图:
8、恢复数据文件
执行重命名日志文件
在oracle用户下执行:sqlplus / as sysdba
执行数据文件恢复脚本
在Oracle用户下执行:rman target / nocatalog cmdfile=restore_datafile.sh
脚本内容如下:
9、执行数据库recover
执行recover,恢复并应用归档日志
在Oracle用户下执行:rman target / nocatalog cmdfile=recover_db.sh
本例中源数据库为RAC环境,归档日志存放在ASM共享存储中,通过一个节点备份,因此恢复也通过一个节点恢复。
脚本内容如下:
open数据库
sqlplus> alter database open resetlogs;
至此,完成数据备份及及异机恢复。