首页 | 旧版 |中国计算机报 |中国电子报 |通信产业报 |计算机用户 |电脑教育报 |软件世界 |数字时代
高级检索
中计报首页 | 要      闻 | 中国信息化 | 网络与通信
技术与产品 | 导购与市场 | 地方专刊 | 周三刊(i周刊)
第15期 总第1686期
浏览往期
当前位置:首页>>赛迪媒体>中国计算机报>中国信息化
还原数据库文件的实战
作者:王淑江 

一个图片素材数据库发生了故障。工程师仔细检查数据库文件和日志文件的路径和大小后发现,既不是磁盘空间的问题,也不是数据库恢复造成的故障,基本确定是数据页损坏造成的。因此,需要启用数据库备份来还原故障数据库。

笔者是公司的数据库管理员,前几天就遇到一例图片素材数据库的故障。由于电源故障导致数次非正常启动服务器,图片素材数据库正常启动后显示“置疑”状态。故障发生时间为9∶30。

查找数据库故障原因

笔者首先检查了数据库文件和日志文件的路径和大小,显示正常;磁盘还有50GB的空间,不是磁盘空间的问题;没有执行数据库恢复操作,故也不是数据库恢复造成的故障。因此基本可以确定是数据页损坏造成的故障。笔者首先备份了系统分区以及数据库所在的数据分区,完整保存故障现场。然后停止数据库服务,把数据库文件以及日志文件保存到其他磁盘。笔者建议在测试环境中修复数据库,否则可能会进一步损伤数据库。在测试环境中,笔者将数据库文件和日志文件附加到服务器,发现提示信息显示的文件“d:\Data\Imes.mdf”的文件头不是有效的文件头,数据库文件损坏。因此需启用数据库备份还原数据库。

笔者仔细察看了数据库备份策略,图片素材数据库使用“数据库维护计划”创建备份策略:每天1∶30执行完整备份数据库,每个小时执行事务日志备份,备份后的数据库以及事务日志文件通过分布式文件系统自动同步到其他服务器中,也就是说数据库备份和文件备份有两个完整的副本。如果要将图片素材数据库还原到9∶30时的状态,根据备份策略以及数据库恢复条件,需要完成如下工作:备份最后一次事务日志备份(9∶00)后的日志,还原1∶30创建的完整备份数据库,还原每个小时的事务日志备份,还原最后一次事务日志后的日志备份,更改数据库的状态。

五步恢复数据库

笔者在恢复数据库时,喜欢使用“查询分析器”的脚本模式。因为脚本的恢复效率要高于“企业管理器”图形模式,当然读者可以选择自己熟悉的方法恢复数据库。

1. 备份最后一次事务日志后的日志备份。打开查询分析器,创建临时备份设备,然后备份事务日志,保存最后一次事务日志备份后生成的新日志。

2. 还原1∶30创建的完整备份数据库。还原每天1∶30创建的完整数据库备份。数据库还原后不能访问,但可继续恢复日志。恢复后的数据库状态为“正在装载”。

3. 还原9∶00之前每个小时事务日志备份。还原2∶00~9∶00的数据库事务日志备份,还原参数使用“NORECOVERY”。脚本如下:

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080200.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080300.TRN’

NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080400.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080500.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080600.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080700.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080800.TRN’

WITH NORECOVERY

RESTORE LOG Imes

FROM disk=‘e:\123\Imes_LOG

_200804080900.TRN’

WITH NORECOVERY

4. 还原最后一次事务日志后的日志备份。还原9∶00~9∶30生成的日志,该日志单独备份在新创建的备份设备中。

5. 更改数据库状态。所有日志文件还原后,数据库的状态为“正在装载”,用户不能正常访问数据库,需将其设置为正常模式方可访问。至此,数据库恢复完成。经过验证,数据库丢失几条数据,基本没有对业务系统造成影响。网络管理员在日常维护数据库的过程中,建议经常校验数据库。模拟数据库恢复环境,测试恢复脚本,保证数据库恢复脚本的准确性以及恢复效率。在恢复数据库时,笔者建议在非生产环境中恢复。恢复完成后,完整备份数据库,然后将数据库恢复到生产环境中。

赛迪网JAVA专区,JAVA开发者乐园!
相关文章
· 45纳米性价比产品首选(2008.04.29)
· 大屏幕的未来 公共显示和数字影院(2008.04.29)
· 从施耐德的角度诠释Viewty(2008.04.29)
· 让每台投影机都能无线(2008.04.29)
· P2P为IPv6带来应用机遇(2008.04.29)
·特别专辑

知识产权:除了“侵犯”,咱还能做什么?全文
专题:黄光裕配售股份套现19亿 为购三联商社?全文


· 专题:家乐福在中国遭抵制 您做出何种选择?
· 专题:三星李健熙逃税遭起诉 面临终身监禁
· 思科CEO钱伯斯第七次访华 中国将成战略市场
· 专题:“吸费电话”背后真相 仅为欺诈性宣传
· 专题:卓越亚马逊遭淘宝"收编" 易趣腾讯策反
· 专题:唐骏盛大再“卸甲” 10亿转会新华都
· 专题:荧光灯下的黑暗 GE被曝"血汗工厂"
· 专题:手机电视国标陷僵持 广电不睬新岸线
· 专题:廉价笔记本竞争白热化 厂商争卖白菜价
· 专题:首款绿色网游遭质疑 仍是“试验田”

·赛迪社区


·IT博客