9 . 7 还原数据库

9 . 7 还原数据库
许多数据库管理员都惊讶于自己的数据库备份计划在恢复过程中总会出现问题。如果
说有一个有效的备份计划是重要的,那么拥有一个有效的还原计划则更加重要。SQL Server 允许在不同时间进行不同类型的备份,但它对于如何还原这些备份比较挑剔。大多数还原
计划中的关键问题是备份的顺序。本节将讲述还原的过程、如何准备数据库以供还原,以
及如何还原使用之前描述的策略备份的数据库。
9 .7 .1 还 原 过 程
还原过程由3 个阶段构成:数据复制阶段,在这一阶段中将数据页从备份媒体复制到
数据文件中;重做阶段,在这一阶段中将从日志备份或数据库备份的日志部分还原已提交
的事务记录;撤消阶段,在这一阶段中将从日志备份或数据库备份的日志部分回滚没有提
交的事务。
数据复制和重做阶段可以跨多个备份。例如,一个数据库首先使用完整备份进行备份,

然后使用差异备份,最后使用事务日志备份。要将该数据库还原到最近的状态,需要还原
完整备份,然后还原差异备份,作为数据复制阶段的一部分。差异备份的日志部分将是重
做阶段的幵始,然后是事务日志备份中已提交的事务。在所有提交的事务都被重新应用到
数据库中之后,撤消阶段就会开始,所有未提交的事务将会回滚,数据库也将在线。
每一阶段都和下一阶段相连。如果这一序列中丢失了任何备份,该过程就会停留在丢
失序列之前的备份的末尾。图 9-8显示了一个丢失或损坏的日志备份。虽然存在另外两个
正常的日志备份,但是由于晚上12:01记录的事务的影响,它们无法使用。事务日志备份
未知。数据库只能还原到上午9:00的事务日志备份的末尾。

9 .7 .2 延迟恢复
当还原一个备份序列(例如一个完整备份和一系列事务日志备份)时,撤消阶段和数据
库恢复将要延迟,以使每一个附加的备份都能够还原。数据库恢复之后,附加的备份就不
能应用了。要延迟恢复,必须在RESTORE DATABASE命令中指定NO RECOVERY选项。

原文地址:https://www.cnblogs.com/zhouwansheng/p/9441014.html

时间: 2024-11-09 01:49:38

9 . 7 还原数据库的相关文章

rman还原数据库数据库报错问题处理

报错1.数据库开启block change tracking ,恢复完成后打开因文件不存在报错. RMAN> alter database open resetlogs; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: ========

【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明

原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html   我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一般用一下两种方式来处理: 1.使用into outfile 和 load data infile导入导出备份数据 这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对于mysqldump比较灵活机动. 我们来看下面的例子:

SQLSERVER使用密码加密备份文件以防止未经授权还原数据库

原文:SQLSERVER使用密码加密备份文件以防止未经授权还原数据库 SQLSERVER使用密码加密备份文件以防止未经授权还原数据库 在备份数据库的时候,用户可以为媒体集.备份集或两者指定密码 在backup语句中,定义备份集密码和媒体密码为可选功能.使用密码可防止利用SQLSERVER工具未经授权地执行还原操作和在媒体中添加备份集. 如果指定了密码则用户还必须提供媒体密码才能执行这些操作 关于媒体集和备份集大家可以参考MSDN:http://msdn.microsoft.com/zh-cn/l

【RMAN】利用备份片还原数据库(中)

[RMAN]利用备份片还原数据库 [RMAN]利用备份片还原数据库(上): http://blog.itpub.net/26736162/viewspace-1621581/ 在上一篇blog中我们介绍了采用dbms_backup_restore来找回控制文件并恢复整个数据库的方法,本篇blog我们介绍采用创建临时库来找回控制文件的方法. 1.1.1  方法二:尝试采用创建临时库来找回控制文件 由于RMAN必须工作在MOUNT模式,所有的数据文件都丢失,无法通过只重建控制文件将其启动到MOUNT

SQL还原数据库

还原一个备份数据库的经历. 首先,手头上有工程文件及相应的数据库的备份. 步骤: 1.在工程文件里找到配置文件,我这个是在bin目录里找到config.ini 2.双击打开它,里面有一些数据库的相关信息 3.要改的东西 host=user=passwrd=cur_db= host是电脑名:user是数据库登录用户名:password是数据登录密码:cur_db是数据库名称 把这4个改成自己的就可以了 4.然后是打开SQL,登录,在左方选择“数据库”文件夹,右击,看到还“原数据库”,选择,弹出“还

还原数据库备份文件时,关于“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”的处理方式

好久没写博客了,最近在做毕设的权限管理模块,今天在还原数据库文件时,遇到了“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个.必须提供所有成员”这个错误,百度了一下,找到了原因和解决方式. 原因分析:1.备份的时候,旧路径没有删除,我添加了一个新路径,就无意中设置成了两个备份路径,SQL就会根据两个备份路径把备份文件分成两个.2.还原的时候源数据必须把两个备份文件都加载上.3.还原的新路径要手工修改成实际SQL的data文件夹路径.4.如果有同名数

mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法

mssql server 2005还原数据库bak文件,网站使用虚拟主机建站会经常遇到,一般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了.这种情况mssql server 2008也同样会出现,有时候会出现“备份集中的数据库备份与现有的xx数据库不同”的错误提示,本文也一并把解决方法说道说道. 第一部分,mssql server 2005(2008)还原数据库bak文件. 一.连接上数据库,右键数据库,选择新建数据库,输入你要还原数据库的名称. 二.确定后右

【RMAN】利用备份片还原数据库(上)

[RMAN]利用备份片还原数据库 群里有同学说把ORACLE_BASE目录删掉了,现在只有备份片和归档文件了,试问如何恢复.坑,,,,咋能这么干,ORACLE_BASE都敢删,,试着恢复了下,并且记录下来,当然软件安装部分就不记录了. 我再说说目前的情况,只有备份片和归档文件,且从文件名称是看不出dbname和dbid的,在这种情况下其实恢复控制文件是很重要的了,但是鬼知道备份片里边是不是有控制文件的备份呢?我们可能碰到的就是这样的情况,只有备份文件,其它的什么都不知道.我们且看这样的情况下如何

【RMAN】利用备份片还原数据库(下)

[RMAN]利用备份片还原数据库 [RMAN]利用备份片还原数据库(上): http://blog.itpub.net/26736162/viewspace-1621581/ [RMAN]利用备份片还原数据库(中):http://blog.itpub.net/26736162/viewspace-1621661/ 在上2篇blog中介绍了备份片中含有控制文件的备份的情况下,如何从备份集中找回控制文件的备份并恢复数据库,本篇blog来介绍下在备份片中没有控制文件的备份的情况下如何恢复数据库. 1.

MySQL在Windows和Linux下还原数据库

Linux下还原数据库代码: 1,创建一个空的数据库cddl mysql> create database cddl; Query OK, 1 row affected (0.00 sec) 2,还原数据库 [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] init.d]# mysql -h