NBU5240备份系统还原数据库---Windows版
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版的更多相关文章
- NBU5240备份系统还原数据库--Linux版
利用NBU灾备系统数据库RMAN备份文件还原EHR数据库,将数据库还原到2017-7-10 10:00:00 linux centsos 6.6 原数据库版本 11.2.0.1 IP/hostnam ...
- 在ASP.NET中备份和还原数据库
昨天看了<C#项目实录>中的进销存管理系统,和其他书里讲的案例一样,无非也就是数据库增删查改,但是这个进销存系统中有一个备份和还原数据库的功能,蛮有兴趣的,看了一下代码,原来如此, ...
- ASP.NET中使用代码来进行备份和还原数据库
ASP.NET中使用代码来进行备份和还原数据库 SQL代码: 1 2 3 4 5 -- 备份数据库 backup database db_CSManage to disk='c:\backup.ba ...
- MSSQL - 备份和还原数据库
SQL语句备份和还原数据库:http://blog.csdn.net/liuhelong/article/details/3335687 1.MSSQL - SqlServer:此数据库处于单用户模式 ...
- 使用.net备份和还原数据库
原文:使用.net备份和还原数据库 CSDN网友的提问http://community.csdn.net/Expert/TopicView3.asp?id=4929678C#实现SQLSERVER20 ...
- mysql备份、还原数据库(命令行)
这里记录下MySQL如何通过命令行备份和还原数据库. 简单的三个步骤 方法很简单,可以分为三个步骤: 1.打开cmd控制台(命令行). 2.输入相应命令完成备份还原操作. 3.关闭cmd控制台. 就和 ...
- SQL语句备份和还原数据库
1,使用SQL最简单备份,还原数据库 1 /* 备份 */ 2 backup database Test to disk='D:/Test.bak' 3 /* 还原 */ 4 restore data ...
- Mysql命令行备份与还原数据库操作实例
无论是Windows还是Linux,都可以通过如下命令行形式备份Mysql数据库 备份命令: 在windows的DOS窗口命令行或linux的shell命令行,假设需要备份的数据库是advanced: ...
- Sql server 数据库的备份和还原数据库提示“ 加载的介质已格式化为支持 1 个介质簇,但根据指定的备份设备,应支持 2 个介质簇”
数据库备份和还原总结 在 "M:\2017-Pro\company\other\databak_2014-10\anquanbaowei_db_201704300200.BAK" ...
随机推荐
- 小记---------idea新手操作
加载jar包 file---project structrue ---modules---dependencies---- 点+号 选择idea软件的位置的lib 添加自带的jar包,or ...
- List<HashMap<String,String>> list, 根据hashmap中的某个键的值排序
来源https://blog.51cto.com/zhaodan/1725249 //可以使用Collections.sort(List list, Comparator c)来实现 这里举例hash ...
- Codeforces 1215E. Marbles
传送门 注意到 $a$ 的值的数量并不大,考虑状压 $dp$ 设 $f[S]$ 表示此时确定的数集合为 $S$ ,且按某种顺序从数列开头排列完成的最小交换次数 那么每个状态枚举最后一个填的数,加上代价 ...
- MUI沉浸式代码
var ben_immer = (function() { var immersed = 0; var ms = (/Html5Plus\/.+\s\(.*(Immersed\/(\d+\.?\d*) ...
- C#获取主机信息
获取主机信息 最近需要做一个配合集控系统收集各个终端设备的一些信息,大致需要收集终端设备的硬件信息,CPU.内存以及硬盘使用率等信息.网上查看了一番,使用WMI来获取这些信息是最方便的.实现代码如下: ...
- Android应用安全开发之源码安全
Android应用安全开发之源码安全 gh0stbo · 2016/01/21 10:24 0x00 简介 Android apk很容易通过逆向工程进行反编译,从而是其代码完全暴露给攻击者,使apk面 ...
- crm客户资源显示控制
为便于员工之间的良性竞争,避免恶意挖客户,对于不同的登录用户,在客户列表中只显示当用用户自己所拥有的客户列表. ---具体的,通过在列表显示界面的列表查询语句中增加根据用户id查询其对应的客户资源的条 ...
- springmvc中的数据传递
import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; impo ...
- handlebars杂记
1.{{{caption}}}三个花括号,可以解析 空格 变成 ‘空格’. 2.数据是posts:[{ }]数组时候,可以用{{posts.length}}取得其数组长度 3.handl ...
- Linux常用命令及Shell的简单介绍
一.linux命令 1.查看指令的参数搭配: man 指令名称 2.基础指令 ls 列出当前目录下的所有文档的名称(文档指的是文件和文件夹) 常用参数搭配: ls -l 列出文档详细信息 l ...