前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留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 file#,checkpoint_change# from v$datafile_header;

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>
alterdatabase open resetlogs;

 

NBU Rman异机恢复Oracle的更多相关文章

  1. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  2. Linux平台下RMAN异机恢复总结

    下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准 ...

  3. RMAN异机恢复实验---转载

    一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 ...

  4. Oracle12c RAC RMAN异机恢复

    ######################################################## #编辑pfile文件initspdb.ora vi /oracle/app/oracl ...

  5. oracle rman异机恢复

      Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...

  6. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例

    测试环境:     操作系统  :  Red Hat Enterprise Linux ES release 4 (Nahant Update 4)   VMWARE     数据库     :  O ...

  7. rman异机恢复,全部恢复和增量恢复

    1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...

  8. RMAN异机恢复步骤及故障处理

    一.測试机安装OS+Oracle Software.包含配置oracle用户.组和环境变量(略) 二.開始异机恢复 1. 复制源库最新备份集.初始化參数.password文件到測试机 [oracle@ ...

  9. Oracle RMAN 异机恢复一例

    背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...

随机推荐

  1. 记canvas画笔笔迹的多次优化过程

    我们的项目是面向学校老师的教学软件,所以肯定少不了互动白板的功能,而这个里面的画笔功能是由我来开发的,下面介绍这个过程中遇到的问题以及解决方法. 首先给大家明确下由于软件中的画布可以自由移动,会超出屏 ...

  2. 11- jmeter主要元件

    元件分类 HTTP请求默认值(请求行,请求头,空行,消息体) HTTP信息头管理器: HTTPcookie管理器(1.更真实的模拟用户行为 ,多个请求的关联.第一个请求没有cookie第二个就带了co ...

  3. 【vue环境】vue : 无法加载文件 C:\Users\1111111\AppData\Roaming\npm\vue.ps1,因为在此系统禁止运行脚本

    在用脚手架搭建vue项目时,提示:无法加载文件 C:\Users\1111111\AppData\Roaming\npm\vue.ps1,因为在此系统禁止运行脚本 这是你笔记本禁止运行脚本,解决办法 ...

  4. Windows核心编程笔记之作业

    创建作业,并加以限制 HANDLE WINAPI CreateJob() { BOOL IsInJob = FALSE; DWORD ErrorCode = NULL; // 不能将已经在作业中的进程 ...

  5. 【jQuery】精细学习记录

    [jQuery]精细学习记录 基础 基本语法: $(选择器).action(回调函数); $/jQuery //jQuery核心函数 $(选择器) //获得的jQuery对象 jQuery核心 - j ...

  6. 使用Layui、Axios、Springboot(Java) 实现EasyExcel的导入导出(浏览器下载)

    实现EasyExcel的导入导出(浏览器下载) 实现三个按钮的功能,但是却花费了一天的时间包括总结. 使用到的技术:springboot layui axios EasyExcel mybatis-p ...

  7. SSM项目使用Spring提供的测试

    在测试类上添加注解@RunWith(SpringJUnit4ClassRunner.class)和@ContextConfiguration(locations = {"classpath: ...

  8. python之xlwt

    python写excel----xlwt 写excel的拿点不在构造一个workbook的本身,二是填充的数据,不过这不在范围内,在写excel的操作中也有棘手的问题, 比如写入合并的单元格就是比较麻 ...

  9. 基于ray的分布式机器学习(一)

    基本思路:1.对数据分块,使用多个worker分别处理一个数据块,每个worker暴露两个接口,分别是损失计算的接口loss和梯度计算的接口grad:2.同时定义full_loss和full_grad ...

  10. 测试报告$\alpha$

    pytorch可视化编程网站VisualPytorch NAG \(\alpha\)版本发布了!点击网址访问:VisualPytorch 一.测试查虫(bug detection) 测试贯穿了开发.集 ...