二、基于差异备份恢复7月20日星期四早上8:30分数据
1.查询所需要的归档日志(因为要返回20号刂8:30分的数据,所以控制 文件要晚于这个点,即取21号凌晨2点备份的控制文件)

bplist -C zhnsdfp -s -- -e -- -k oracle_zhnsdfp_0_97_seinescm_arch -t  -R -b -l  / |findstr "cnt"

2.基于Windows平台,要先创建一个实例,实例名可以根据你自己命名,Liunx平台可以直接创建一个pfile文件启动到nomount状态

3、Windows平台下创建好实例后,调整归档模式及目录,关闭数据库后可以将除了参数文件的其他数据库文件通通删掉

shutdown immediate 后删除以下文件:
删除归档文件G:\SEINESCM\ARCHIVELOG
删除数据文件:N:\SEINESCM_DB\   M:\DB_DATA\SEINESCMDB\
删除日志文件:D:\ORACLEDB\SEINESCM\REDO1.LOG、REDO2.LOG、REDO3.LOG
删除控制文件:D:\ORACLEDB\SEINESCM\CONTROL01.CTL、CONTROL02.CTL
删除临时文件:M:\DB_DATA\SEINESCMDB\TEMP03.DBF N:\SEINESCM_TEMPDB\TEMP10.DBF、TEMP11.DBF

--查询数据文件位置:
select name from v$datafile;
--查询日志文件位置:
select * from v$logfile;
--查询控制文件位置:
select name from v$controlfile;
--查看临时文件位置:
select * from v$tempfile;

4.开始还原控制文件

进入rman,数据库起到nomount利用备份文件进行控制文件还原

set oracle_sid=seinescm

rman target /

startup nomount;

run{
allocate channel ch00 type 'SBT_TAPE';
send 'nb_ora_serv=nbumaster01';
send 'nb_ora_client=zhnsdfp';
restore controlfile from 'cntrl_2064_1_949889225';
release channel ch00;
}

4.还原数据文件(开到mount状态),进行数据库还原到指定日期(时间点可以不写)

alter database mount;

run{
allocate channel ch00 type 'SBT_TAPE';
allocate channel ch01 type 'SBT_TAPE';
send 'nb_ora_serv=nbumaster01';
send 'nb_ora_client=zhnsdfp';
restore database
until time "to_date('2017/07/20 05:00:00','yyyy/mm/dd hh24:mi:ss')";
release channel ch00;
release channel ch01;
}

5.查询SCN号

sqlplus / as sysdba

alter session set nls_date_format='YYYYMMDD HH24:MI:SS';
set linesize ;
set pagesize; select THREAD#,SEQUENCE#,FIRST_TIME,COMPLETION_TIME from v$archived_log
where COMPLETION_TIME>to_date('20170719 00:00:00','yyyymmdd hh24:mi:ss')
and COMPLETION_TIME<to_date('20170720 10:00:00','yyyymmdd hh24:mi:ss')
order by SEQUENCE#;

6.还原归档日志

rman target /

--恢复脚本
run{
allocate channel ch0 type 'SBT_TAPE';
allocate channel ch1 type 'SBT_TAPE';
send 'NB_ORA_CLIENT=zhnsdfp';
send 'nb_ora_serv=nbumaster01';
restore archivelog sequence between and ;
release channel ch0;
release channel ch1;
}

恢复过程将回检索全备以来的归档日志到指定恢复时间的日志序列号,完成介质恢复后,用resetlogs模式打开数据库。

7.数据库恢复 :

还原完归档日志后利用控制文件进行数据库恢复,将数据库恢复 到20号早上8:30分

sqlplus / as sysdba

alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';
recover database until time '2017/07/20 08:30:00' using backup controlfile; alter database open resetlogs;

解决以下错误

这里报找不到归档日志序列的错误信息,领导为数据库的备份策略,周三周六全备,其他皆差异备份,所以需要还原全备以来的归档日志文件,

从日志序列到;

select THREAD#,SEQUENCE#,FIRST_TIME,COMPLETION_TIME from v$archived_log
where SEQUENCE#=''
order by SEQUENCE#; run{
allocate channel ch0 type 'SBT_TAPE';
allocate channel ch1 type 'SBT_TAPE';
send 'NB_ORA_CLIENT=zhnsdfp';
send 'nb_ora_serv=nbumaster01';
restore archivelog sequence between and ;
release channel ch0;
release channel ch1;
}
recover database until time '2017/07/20 08:30:00' using backup controlfile;
alter database open resetlogs;

8、解决以上错误后,再次进行数据库恢复

sqlplus / as sysdba

alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';
recover database until time '2017/07/20 08:30:00' using backup controlfile; alter database open resetlogs;

NBU 还原windows ORACLE数据库(FP)的更多相关文章

  1. NBU 还原windows ORACLE数据库(BW)

    将0.92数据库还原到1.92,还原时间7月13日 1.查询所需要的控制日志 bplist -C bw-prd01 -s -- -e -- -k oracle_bw-prd01_0_92_arch - ...

  2. NBU 还原windows ORACLE数据库(EC)

    rman target / startup nomount; run{ allocate channel ch00 type 'SBT_TAPE'; send 'nb_ora_serv=nbumast ...

  3. NBU 还原LINUX ORACLE 数据库(EHR)

    一.E-HR数据库(全备)恢复 目录 一.E-HR数据库(全备)恢复... 1 1. 使用bplist 命令读取备份文件... 1 2. 启动到nomount状态... 2 3. 利用rman还原控制 ...

  4. NBU 还原LINUX ORACLE数据库(CRM)

    [root@oraclea ~]# su - oracle [oracle@oraclea ~]$ bplist -C oracle-db1 -s // -e // -k oracle_oracle- ...

  5. NBU 还原LINUX ORACLE RAC数据库(MIDDB)

    MIDDB集群数据库恢复 目录 MIDDB集群数据库恢复... 1 1.安装 NBUcilent 1 2.修改hosts文件... 2 3.修改hosts文件... 2 4.使用bplis读取备份文件 ...

  6. NBU 还原LINUX ORACLE RAC数据库(CRM)

    CRM集群数据库恢复 linux centos 6.6 oracle 11.2.0.3 集群环境 1.53 oraclea 1.54 oracleb 在linux操作系统root用户下安装好NBUci ...

  7. nbu还原集群数据库异常问题

    集群数据库软件均已安装完毕,现在想从NBU上还原数据库,但在还原控制文件报错 [oracle@oracle-db1 ~]$ rman target / Recovery Manager: Releas ...

  8. windows 10 下使用Navicat for oracle 数据库还原

    一.前期准备 1.安装windows 10系统 2.安装oracle 11g 数据库 3.安装PLsql(也不需要) 4.安装sqlplus(这个必须有) 5.使用下面这个东西新建数据库(不懂创建的话 ...

  9. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

随机推荐

  1. vuex: 简单(弹窗)实现

    在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时候 , 就遇到了这种问题 : 一个页面有很多表单 , 我试图将表单写成一个单文件组件 , 但是表单 ( 子组件 ) 里的数 ...

  2. kmp算法中的next数组实例解释

    假设求串′ababaaababaa′的next数组 模式串 a b a b a a a b a b a a 下标 1 2 3 4 5 6 7 8 9 10 11 12 1.前两位:next数组前两位一 ...

  3. 一起玩转mysql

    mysql安装 一起玩转mysql linux命令

  4. Entity Framework 入门

    Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架. Entit ...

  5. try...except语句

    try: 执行语句 except 执行语句有异常就执行这一步 else: 执行语句没有异常就执行这一步 finally 不管有没有异常,这一步就要执行

  6. 为什么要使用索引?-Innodb与Myisam引擎的区别与应用场景

    Innodb与Myisam引擎的区别与应用场景 http://www.cnblogs.com/changna1314/p/6878900.html https://www.cnblogs.com/ho ...

  7. [BZOJ5312]冒险

    bzoj CSAcademy description 一个序列\(a_i\),支持区间与一个数,区间或一个数,求区间最大值. \(n,m\le2\times10^5\) sol 线段树每个节点上维护区 ...

  8. prisma graphql 集成timescaledb

    prisma 官方文档说明了因为支持pg 所以相关的timescaledb.cockroachdb 应该也是支持的 但是测试之后timescaledb 支持cockroachdb有问题(事务处理模型支 ...

  9. python一条语句分析几个常用函数和概念

    前言 过年也没完全闲着,每天用一点点时间学点东西,本文为大家介绍几个python操作的细节,包含all.any.for in等操作,以及介绍我解决问题的思路. 一.开篇 先从我看到的一个简单的语句开始 ...

  10. posix对线程的调整

    fork 当多线程进程调用fork创建子进程时,从fork返回时,只有调用fork的线程在进程内存在(其他线程在子进程中不存在,好比调用pthread_exit退出,不再拥有私有数据destructo ...