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. rxjava 调用retrofit执行网络请求的过程

    retrofit流程图 -1.RxJava调用Retrofit,从requestGtPushSaeUserInfo()中获得被观察者observable,然后new一个观察者向它订阅   0.从业务中 ...

  2. 同时发出 ajax 拿到正确的返回值问题

    方案 大概意思就是前端在data里面 传一个标示给后台,  后台再ajax返回的时候携带这个标示

  3. Qt Creator 模块QtSql

    在新建Qt Gui Application时,没有弹出模块选择页, 可以手动在pro文件中增加. 比如要选中QtSql模块,(目前我没有找到哪里可以修改要选中的模块), 我是手动在pro文件中增加了一 ...

  4. 使用Junit进行Java单元测试

    1.新建一个Number类,该类中包含两个函数,求和.求差 2.在eclipse上安装Junit 右键test工程,选择“Properties”→“Java Build Path”→“Librarie ...

  5. linux下文件解压

    这几天要学THINKPHP框架了,于是从网上下载了一个压缩包,后缀是.zip的,解压方法为 unzip ###.zip 随便把linux下的.rar方法也写下来,这两个都不常见. unrar    e ...

  6. MySQL-with rollup函数运用

    如果想在下面这个表下面添加一行 总计 数据行SQL代码怎么实现 并且根据9月金额进行城市降序 总计置于底部呢 MySQL提供了 group by with rollup 函数进行group by 字段 ...

  7. 2018-2019-1 20165212 《信息安全系统设计基础》第八周学习总结(pwd)

    2018-2019-1 20165212 <信息安全系统设计基础>第八周学习总结 一.知识点总结 1.三种并发方式 构造并发程序的方法有三种: 进程 线程 I/O多路复用 进程:用内核来调 ...

  8. c++中for的四种用法

    #include <algorithm> #include <vector> #include <iostream> using namespace std; in ...

  9. hadoop之 安全模式及SafeModeException

    问题: hadoop启动的时候报错 HTTP ERROR 500 Problem accessing /nn_browsedfscontent.jsp. Reason: Cannot issue de ...

  10. 事务的ACID和四个隔离级别

    在实际的业务场景中,并发读写引出了和事务控制的需求.优秀的事务处理能力是关系型数据库(特别是oracle等商用RDBMS)相对于正当风口的NoSQL数据库的一大亮点.但这也从另一方面说明了事务控制的复 ...