NBU Rman异机恢复Oracle
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条件写的不是对,导致数据没插入,每天还从业务表中删除了。总之丢失了10天的业务历史数据,不巧的是客户突然要历史数据,呵呵。。祸不单行;
好了废话不多说,切入正题,rac 使用NBU netbackup 对数据库备份的,周日全备周一到周六增量
源主机HostA,目标主机HostB,NBUMaster主机nbuserver,Oracle_sid均为test,Oracle用户均为oracle。两台主机的操作系统、数据库版本、NBU软件版本一致。
1、增加nbuserver主机上文件
新建一个空文件,取消nbu的异机恢复限制
|
[nbuserver:root]# touch /usr/openv/netbackup/db/altnames/No.Restrictions |
2、编辑完后需要重启netbackup
|
[nbuserver:root]# /usr/openv/netbackup/bin/bp.kill_all [nbuserver:root]# /usr/openv/netbackup/bin/bp.start_all |
下面开始恢复步骤(均为oracle用户操作)
3、copy spfile
在HostA上test数据库的pfile(create
pfile from spfile)copy至HostB中的$ORACLE_HOME/dbs目录下,因为源库是rac
节点,所以pfile copy到目标主机后还需要修改一下参数配置,把集群相关的配置删除
|
[HostA:ora]# ll $ORACLE_HOME/dbs/inittest.ora |
4、HostB上,密码文件、相应的dump目录
[HostB:ora]#orapwd file=<fname> password=<password>entries=<users>
[HostB:ora]#mkdir $admin/test/*dump
5、启动数据库至nomount
|
[HostB:ora]# sqlplus '/as sysdba' SQL> startup nomount |
6、进行rman恢复
|
[HostB:ora]# rman target / |
7、set dbid(HostA上test库的dbid)
|
RMAN> set dbid=1203153859 executing command: SET DBID database name is "TEST" and DBID is 2091611406 |
查看HostA上的dbid
|
SQL> select dbid from v$database; |
8、恢复control file
|
[HostB:ora]# /usr/openv/netbackup/bin/bplist -S 'nbuserver' -C 'HostA' -t 4 -R -l / #查看nbuserver上的备份列表 |
查找周日的全备的控制文件
|
RMAN>RUN { 2> allocate channel D1 type 'sbt_tape' parms 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; 3> send 'NB_ORA_SERV=nbuserver,NB_ORA_CLIENT=HostA'; 4> RESTORE CONTROLFILE FROM 'cntrl_39324_1_784448328'; 5> RELEASE CHANNEL D1; 6> } |
9、控制文件修复成功,将库alter至mount状态
|
SQL> alter database mount; database mounted |
10、恢复数据库
|
RMAN> run { 2> allocate channel D1 type 'sbt_tape' parms 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; 3> send 'NB_ORA_SERV=nbuserver,NB_ORA_CLIENT=HostA'; 4> set until time '2017-07-01 00:00:00'; 5> restore database; 6> recover database; 7> RELEASE CHANNEL D1; 8> } |
11、恢复归档日志
|
sql>select file#,checkpoint_change# from v$datafile; sql>select checkpoint_change# from v$database; 查看当前文件的snc和系统snc不一致,需要日志文件恢复 sql>recover database using backup controlfile until time '2017-07-01 00:00:00'; 会提示需要的日志 rman>RUN { 1>allocate channel D1 type 'sbt_tape' parms 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64';
2>send 'NB_ORA_SERV=hb-manage-backup,NB_ORA_CLIENT=proddb-2';
3>restore archivelog from logseq 55459 thread 1; 4>RELEASE CHANNEL D1; 5>} 根据需要的日志点提示,再从NBU上恢复归档日志文件 恢复成功后继续介质恢复 sql>recover database using backup controlfile until time '2017-07-01 00:00:00'; 会提示需要的归档日志 auto 就行 |
12、打开数据库
|
SQL> |
NBU Rman异机恢复Oracle的更多相关文章
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- Linux平台下RMAN异机恢复总结
下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准 ...
- RMAN异机恢复实验---转载
一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 ...
- Oracle12c RAC RMAN异机恢复
######################################################## #编辑pfile文件initspdb.ora vi /oracle/app/oracl ...
- oracle rman异机恢复
Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
- rman异机恢复,全部恢复和增量恢复
1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...
- RMAN异机恢复步骤及故障处理
一.測试机安装OS+Oracle Software.包含配置oracle用户.组和环境变量(略) 二.開始异机恢复 1. 复制源库最新备份集.初始化參数.password文件到測试机 [oracle@ ...
- Oracle RMAN 异机恢复一例
背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...
随机推荐
- Android进程的so注入--Poison(稳定注入版)
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53869796 Android进程的so注入已经是老技术了,网上能用的Android ...
- php isset()与empty()的使用
PHP isset函数作用 isset函数是检测变量是否设置. 格式:bool isset( mixed var [, mixed var [, ...]] ) 返回值: 若变量不存在则返回FALSE ...
- 数据表格 layui.table
layui官网-表单 自动渲染 方法渲染 table.render,cols中的field是后台传递的data map.put("data",stuService.selectSt ...
- 虚拟机之 Parallels Desktop
去官网看看 在 Mac 虚拟机中跨多个操作系统开发和测试 访问 Microsoft Office for Windows 和 Internet Explorer 快速运行 Windows 应用不会减慢 ...
- gitlab + php自动部署
功能简介 本地往服务器推送代码之后,触发web钩子,服务器拉取刚刚推送的代码 步骤 1.在gitlab后台配置钩子 项目->编辑项目->Web钩子->新增钩子 2.在服务器端为www ...
- Servlet三大域对象
Servlet三大域对象的应用 request.session.application(ServletContext) ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器 ...
- HDU - 1789 Doing Homework again(贪心) ~~~学了一波sort对结构体排序
题目中因为天数和分数是对应的,所以我们使用一个结构体来存分数和截止如期. 一开始做这道题的时候,很自然的就想到对天数排序,然后天数一样的分数从大到小排序,最后WA了之后才发现没有做到"舍小取 ...
- java数组 简单了解
一.关于集合 1.数组,链表和哈希表(散列表)的存储方式 (1)传统的数组结构存储数据会在内存中开辟连续得空间,结合下标从而使得可以快速访问数据,但是删除和添加数据就很浪费资源 (2)链表不需要开辟连 ...
- 使用BeanUtils.copyProperties踩坑经历
1. 原始转换 提起对象转换,每个程序员都不陌生,比如项目中经常涉及到的DO.DTO.VO之间的转换,举个例子,假设现在有个OrderDTO,定义如下所示: public class OrderDTO ...
- [前端、HTTP协议、HTML标签]
[前端.HTTP协议.HTML标签] 什么是前端 """ 任何与用户直接打交道的操作界面都可以称之为前端 比如:电脑界面 手机界面 平板界面 什么是后端 后端类似于幕后操 ...