二、基于差异备份恢复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. timer Compliant Controller project (4)layout and gerber, paning

    1 LAYOUT 2 Gerber 3 CAM350-Paining

  2. php http build query

    http_build_query (PHP 5, PHP 7) http_build_query — 生成 URL-encode 之后的请求字符串 说明¶ string http_build_quer ...

  3. contentType 'text/xml; charset=UTF-8' conflicts问题

    Resin升级到3.1.3后,有同事发现原来在Resin 3.0.xx下成功运行的部分jsp文件(输出xml格式文件)编译出错: 1234567 500 Servlet Exception XXXXX ...

  4. ubuntu16.04 tensorflow pip 方式安装

    首先,需要知道   tensorflow  1.5版本以上包括 1.5版本  的GPU类型都是需要安装  cuda9.0的,  tensorflow-gpu  1.4版本是可以使用cuda 8.0. ...

  5. 7-13 求链式线性表的倒数第K项(20 分)

    给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式 ...

  6. Python ---- list和dict遍历

    refer to: http://www.cnblogs.com/icejoywoo/p/3531869.html 对于python3, 可能有不一样之处,   refer to: http://do ...

  7. linux shell获取用户输入

    一.获取用户输入1.基本读取read命令接收标准输入的输入,或其它文件描述符的输入.得到输入后,read命令将数据输入放入一个标准变量中.[root@rac2 ~]# cat t8.sh #!/bin ...

  8. vim自定义配置之代码折叠

    vimConfig/plugin/codeFold-setting.vim "--fold setting-- set foldmethod=syntax " 用语法高亮来定义折叠 ...

  9. 智能家居入门DIY——【六、使用OneNet后台处理数据】

    OneNet使用起来要比lewei50复杂一些,它没有前台需要自己开发.命令下发也和之前介绍的lewei50有一些区别,这里着重介绍一下使用MQTT协议来进行通讯. 一.准备 1.Esp8266开发板 ...

  10. 在NOILINUX下的简易VIM配置

    位置:/etc/vim/vimrc 建议使用gedit来进行配置.即使用命令:sudo gedit /etc/vim/vimrc set mouse=a " Enable mouse usa ...