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_984_1_946173555';
release channel ch00;
} 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/06/07 11:16:41','yyyy/mm/dd hh24:mi:ss')";
release channel ch00;
release channel ch01;
}
--------------------------------
sqlplus / as sysdba alter session set nls_date_format='YYYYMMDD HH24:MI:SS';
set linesize 160;
set pagesize; select THREAD#,SEQUENCE#,FIRST_TIME,COMPLETION_TIME from v$archived_log
where COMPLETION_TIME>to_date('20170602 23:00:00','yyyymmdd hh24:mi:ss')
and COMPLETION_TIME<to_date('20170607 20:00:00','yyyymmdd hh24:mi:ss')
order by SEQUENCE#; 68305-68827 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 68305 and 68827;
release channel ch0;
release channel ch1;
} -----------------------
sqlplus / as sysdba

alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';
recover database until time '2017/06/07 11:16:41' using backup controlfile; alter database open resetlogs;

二、基于差异备份恢复6月7日11:35分数据

1.查询所需要的归档日志

bplist -C zhnsdfp -s 2017-6-7 -e 2017-6-9 -k oracle_zhnsdfp_0_97_seineebs_arch -t 4 -R -b -l  / |findstr "cnt"

2.shutdown immediate 后删除数据库文件和归档日志文件。
删除C:\app\fast_recovery_area\SEINEEBS\control02.ctl和C:\app\fast_recovery_area\SEINEEBS\ARCHIVELOG\2017_06_20

3.开始还原控制文件

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_984_1_946173555';
release channel ch00;
}

4.还原数据文件

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/06/07 11:16:41','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 160;
set pagesize; select THREAD#,SEQUENCE#,FIRST_TIME,COMPLETION_TIME from v$archived_log
where COMPLETION_TIME>to_date('20170602 23:00:00','yyyymmdd hh24:mi:ss')
and COMPLETION_TIME<to_date('20170607 20:00:00','yyyymmdd hh24:mi:ss')
order by SEQUENCE#; ---68305-68827 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 68305 and 68827;
release channel ch0;
release channel ch1;
} -----------------------

 

6.恢复数据库

-----------------------
sqlplus / as sysdba alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';
recover database until time '2017/06/07 11:35:00' using backup controlfile; alter database open resetlogs;

三、基于全备(利用全备文件恢复数据库,还原7.22号的数据)

7.22凌晨进行全备,现需还原7.22号全备后的数据

1.查询所需要的归档日志,shutdown immediate 后删除以下文件:

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

2.利用备份文件进行控制文件还原,

rman target /

startup nomount;

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

3.进行数据库还原

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;
release channel ch00;
release channel ch01;
}

4,进行数据库恢复

run{
allocate channel ch00 type 'SBT_TAPE';
allocate channel ch01 type 'SBT_TAPE';
send 'nb_ora_serv=nbumaster01';
send 'nb_ora_client=zhnsdfp';
recover database
release channel ch00;
release channel ch01;
}

解决如下:

还原到最后报错,这是因为没有还原到数据库当前日志,可以根据指定的SCN号打开数据库

5.最后用resetlogs模式打开数据库。进行数据验证

alter database open resetlogs;

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

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

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

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

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

  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. js设计模式中发布与订阅实现观察者模式例子

    <script> var pubsub = {}; (function(q) { var topics = {}; subuid = -1; q.publish = function(to ...

  2. 让IE兼容console——“由于出现错误80020101而导致此项操作无法完成”的解决方案

    问题描述 经测试发现问题只出现在: 1.原生IE8(其他版本IE模拟出的IE8无此问题) 2.从打开IE8没有开启过F12(曾经开启过又关闭的无此问题) IE8报错“由于出现错误80020101而导致 ...

  3. java生成doc和jar

    生成doc帮助文档. 第一步,需要有一个java类,里面封装了各种方法 第二部,给类和方法添加注释文档 注释文档格式: /** * */ @author 作者 @version 版本 @return ...

  4. BZOJ3296:Learning Languages(简单并查集)

    3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 436  Solved ...

  5. 949. Largest Time for Given Digits

    Given an array of 4 digits, return the largest 24 hour time that can be made. The smallest 24 hour t ...

  6. 函数前修饰const与函数名后修饰const

    #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #inc ...

  7. linux Posix 信号量 一

    信号量是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语. linux提供两种信号量,“内核信号量”和“用户态进程信号量”,“用户态信号量”又分为“Posix”,“System V”信号 ...

  8. decimal类型运算注意点

    代码如下: //货币类型的两个数基本运算 Console.WriteLine("错误的写法"); - ); ; - ) / ; Console.WriteLine(errorNum ...

  9. mysql 统计一个列不同值的数量

    SELECT count(status = 0 OR NULL) AS a, count(status = 1 OR NULL) AS b, count(status = 2 OR NULL) AS ...

  10. Java separatorChar 如何在Java里面添加 \

    Java手册 separatorChar public static final char separatorChar 与系统有关的默认名称分隔符.此字段被初始化为包含系统属性 file.separa ...