NBU5240备份系统还原数据库--Linux版
linux centos 6.6 oracle 11.2.0.3 集群环境
1.53 oraclea 1.54 oracleb
在linux操作系统root用户下安装好NBUcilent ,Linux安装软件包NetBackup_8.0_CLIENTS2.tar.gz
在master备份服务器的hosts表上解析客户端的主机名称和IP
在客户端的hosts表上解析备份服务器的主机名称和IP
切换到oracle用户下,执行该脚本,并且在.bash_profile文件下添加环境变量:PATH=$PATH:/usr/openv/netbackup/bin/:/usr/openv/netbackup/bin/goodies:/usr/openv/netbackup/bin/admincmd:/usr/openv/volmgr/bin:/usr/openv/pdde/pdcr/bin
[root@oraclea ~]# su - oracle
[oracle@oraclea ~]$ /usr/openv/netbackup/bin/oracle_link
Sun Jul 9 11:52:15 CST 2017
All Oracle instances should be shutdown before running this script.
Please log into the Unix system as the Oracle owner for running this script
Do you want to continue? (y/n) [n] y
LIBOBK path: /usr/openv/netbackup/bin
ORACLE_HOME: /home/u01/app/oracle/product/11.2.0/db_1
Oracle version: 11.2.0.3.0
Platform type: x86_64
Linking LIBOBK:
Moving 64-bit libobk.so to libobk.so.back
ln -s /usr/openv/netbackup/bin/libobk.so64 /home/u01/app/oracle/product/11.2.0/db_1/lib/libobk.so
Done
Please check the trace file located in /tmp/make_trace.14473
to make sure the linking process was successful.
使用bplist 命令读取相关备份文件(注意时间格式,可用bplist -h获取)
bplist -C oracle-db1 -s 07/08/2017 -e 07/09/2017 -k oracle_oracle-db1_0_17_arch -t 4 -R -b -l /
注意箭头处,-C后面加的是客户端名称,无论你在哪台机做恢复,-C后面的名称都加原客户端主机名称,即数据库所在服务器的主机名称,而不是加当前的
读取完备份文件后,根据需求将数据库还原到2017年七月8日早上的7点钟
首先自己新建pfile文件或直接从原数据库服务器拷贝参数文件并修改相关路劲和参数,接着起到nomount状态
利用rman恢复管理器还原控制文件
还原后,开到mount状态
RMAN> mount database;
进行数据库还原 restore要加具体的时间点,下面漏了具体的时分秒,基于具体时间点的恢复,还原数据文件也要指定上(YYYY/MM/DD HH24:MI:SS)
在恢复主机或生产主机上执行归档日志查询。更据数据库备份的时间点和恢复的时间点确定需要恢复归档日志的最大和最小2个序列号
从显示结果来看,我们要恢复的时间点包含在这里面,所以我们还原这部分的归档文件
这里要注意一下,因为是集群所以要双线程恢复归档日志
还原的时候报错指示要这个归档序列,周六做的是全备,周五做的备份显示是在8号陵城08分结束的,所以要往前恢复
再往前还原
完成介质恢复,用resetlogs打开
到这里就完成恢复了
因为在是集群环境,所以我们要把恢复好的数据库和实例添加到集群环境中去,即用srvctl几种管理
关闭数据库shutdown immediate
[oracle@oraclea dbs]$ srvctl add instance -d racdb -i racdb1 -n oraclea
[oracle@oraclea dbs]$ srvctl add instance -d racdb -i racdb2 -n oracleb