NBU5240是一个基于系统文件和多种数据库备份的灾备系统,灵活性比较高。下面具体记录如何利用该系统的备份文件进行数据库还原。(基于业务场景)

公司某业务部门突然发现前台系统数据有异常,已经是几天前的跑出来的数据了,要求IT部门后台核实。FP系统前台数据利用测试机返回到13号中午跑完的时间。

数据库也要相应的返回到13号下午的数据。系统对于FP数据库是周六全备,周日不做备份策略,其他时间均为差异备份。客户端做的一系列还原操作都要安装NBU客户端工具读取主服务器上的备份文件,因为惯例用主机名称,所以要做好的HOSTS文件的识别(IP-HOSTNAME)。

C:\Users\Administrator>bplist -C zhnsdfp -s 2017-6-13 -e 2017-6-15 -k oracle_zhn
sdfp_0_97_seinescm_arch -t 4 -R -b -l  / |findstr "cnt"
-rw------- SYSTEM    SYSTEM       16252928 Jun 15 02:21 cntrl_1214_1_946693032:\

-rw------- SYSTEM    SYSTEM       16252928 Jun 14 02:49 cntrl_1202_1_946608342:\

-rw------- SYSTEM    SYSTEM       16252928 Jun 13 02:40 cntrl_1182_1_946521390:\

因为要求的是返回中午14-15点的数据库,所以控制文件的备份时间要晚于这个点,即取14号凌晨2点备份的控制文件

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

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

接着将数据库启动到NOMOUNT状态,利用RMAN脚本还原控制文件

还原好控制文件后,将数据库启动到mount状态,进行数据库还原到13号restore要加具体的时间点,下面漏了具体的时分秒,基于具体时间点的恢复,还原数据文件也要指定上(YYYY/MM/DD HH24:MI:SS)

还原好数据库之后,根据时间带出归档日志序列还原归档文件

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('20170613 14:00:00','yyyymmdd hh24:mi:ss')
and    COMPLETION_TIME<to_date('20170613 15:00:00','yyyymmdd hh24:mi:ss') order by SEQUENCE#;

恢复归档文件

还原完归档日志文件后利用控制文件进行数据库恢复,将数据库恢复到13号下午14:20分

这里报找不到归档日志序列109672的错误信息,在困惑了好久之后突然想起该数据库的备份策略,周六全备,其他皆差异备份,所以需要还原全备以来的归档日志文件,

从日志序列109672到110181;

还原完后,再次进行数据库恢复

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

SYS@seinescm>alter database open resetlogs;

数据库已更改。

SYS@seinescm>select status from v$instance;

STATUS
------------------------
OPEN

SYS@seinescm>archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            M:\test
最早的联机日志序列     1
下一个存档日志序列   2
当前日志序列           2
SYS@seinescm>

NBU5240备份系统还原数据库---Windows版的更多相关文章

  1. NBU5240备份系统还原数据库--Linux版

    利用NBU灾备系统数据库RMAN备份文件还原EHR数据库,将数据库还原到2017-7-10 10:00:00 linux centsos 6.6 原数据库版本 11.2.0.1  IP/hostnam ...

  2. 在ASP.NET中备份和还原数据库

        昨天看了<C#项目实录>中的进销存管理系统,和其他书里讲的案例一样,无非也就是数据库增删查改,但是这个进销存系统中有一个备份和还原数据库的功能,蛮有兴趣的,看了一下代码,原来如此, ...

  3. ASP.NET中使用代码来进行备份和还原数据库

    ASP.NET中使用代码来进行备份和还原数据库  SQL代码: 1 2 3 4 5 -- 备份数据库 backup database db_CSManage to disk='c:\backup.ba ...

  4. MSSQL - 备份和还原数据库

    SQL语句备份和还原数据库:http://blog.csdn.net/liuhelong/article/details/3335687 1.MSSQL - SqlServer:此数据库处于单用户模式 ...

  5. 使用.net备份和还原数据库

    原文:使用.net备份和还原数据库 CSDN网友的提问http://community.csdn.net/Expert/TopicView3.asp?id=4929678C#实现SQLSERVER20 ...

  6. mysql备份、还原数据库(命令行)

    这里记录下MySQL如何通过命令行备份和还原数据库. 简单的三个步骤 方法很简单,可以分为三个步骤: 1.打开cmd控制台(命令行). 2.输入相应命令完成备份还原操作. 3.关闭cmd控制台. 就和 ...

  7. SQL语句备份和还原数据库

    1,使用SQL最简单备份,还原数据库 1 /* 备份 */ 2 backup database Test to disk='D:/Test.bak' 3 /* 还原 */ 4 restore data ...

  8. Mysql命令行备份与还原数据库操作实例

    无论是Windows还是Linux,都可以通过如下命令行形式备份Mysql数据库 备份命令: 在windows的DOS窗口命令行或linux的shell命令行,假设需要备份的数据库是advanced: ...

  9. Sql server 数据库的备份和还原数据库提示“ 加载的介质已格式化为支持 1 个介质簇,但根据指定的备份设备,应支持 2 个介质簇”

     数据库备份和还原总结 在 "M:\2017-Pro\company\other\databak_2014-10\anquanbaowei_db_201704300200.BAK" ...

随机推荐

  1. Django查询数据库返回字典dict数据

    个人观点: 个人认为,在Django项目中, 开发团队为了让使用该框架的用户都使用自带的序列化功能,从而让框架中的SQL返回值很不直观,对于直接使用SQL语句的用户很犯难. 解决: from djan ...

  2. 18.AutoMapper 之条件映射(Conditional Mapping)

    https://www.jianshu.com/p/8ed758ed3c63 条件映射(Conditional Mapping) AutoMapper 允许你给属性添加条件,只有在条件成立的情况下该成 ...

  3. 解决 java.security.cert.CertificateException: java.lang.IllegalArgumentException: Invalid input to toASCII:

    使用 okhttp3 ,请求 一个 https 网站报错 , 类似这种 https://test_test.test.com , 百度不到问题 所以我写了这篇 给中文世界贡献一下如何解决 还是要学好英 ...

  4. leetcode957. N 天后的牢房

    8 间牢房排成一排,每间牢房不是有人住就是空着. 每天,无论牢房是被占用或空置,都会根据以下规则进行更改: 如果一间牢房的两个相邻的房间都被占用或都是空的,那么该牢房就会被占用. 否则,它就会被空置. ...

  5. Struts2.5以上版本There is no Action mapped for namespace [/] and action name [userAction_login] associated with context path []

    分析:Struts2在2.5版本后添加strict-method-invocation(严格方法访问),默认为true,不能使用动态方法调用功能,故需设为false struts.xml设置如下: & ...

  6. joomla core注入漏洞

    注入语句如下: payload1 = '/index.php?option=com_fields&view=fields&layout=modal&list[fullorder ...

  7. C++有静态成员变量的类继承

    声明和定义 1.变量的定义 变量的定义用于为变量分配存储空间,还可以为变量指定初始值.在一个程序中,变量有且仅有一个定义. 2.变量的声明 用于向程序表明变量的类型和名字.程序中变量可以声明多次,但只 ...

  8. 如何在Linux下安装Tomcat

    上篇文章写到了Linux下安装JDK1.8,这篇文章详细阐述一下 如何在Linux下安装Tomcat!!!有啥问题可以留言,博主每天都会看博客的. 准备步骤和方法和以前一样,博主用的工具是XShell ...

  9. element 表单校验失败自动聚焦到失败的input框

    1.在对应的input框上添加ref属性,直接根据ref就可精确地获取到元素 <el-form-item label="课程名称" :label-width="fo ...

  10. 【BZOJ1999】树网的核

    题目大意:题目过长,无法简单描述... 题解: 由于树网的核一定是树直径的一段,因此考虑先将直径取出,通过两次 BFS 即可.要求的东西是树上任意一点到这条取出的线段的距离的最大值,发现这个最大值有可 ...