综合
首页 > > 正文

连错库误删100多张表


2017-05-29

作者: AnySQL.net, 转载时请务必以超链接形式标明文章原始出处和作者信息.
链接: http://www.anysql.net/aulmydul/fast_recover_100_tables.html

炎炎厦日, 容易让人头脑发晕, 做错事情. 某地某位开发人员连错了数据库, 本来要连到测试库进行表重建的, 连到了产品库, 过了几分钟后, 猛然惊醒, 已发现删除了一百来张表, 业务立马被中止, 一堆人被拖到惊惶失措中.

在事件发生后, 立马联系本站, 决定用AUL去恢复数据, 事发情景如下:

1, 事发后立马停止数据库.
2, 数据库在归档方式下, 删表归档文件还在.
3, 开发人员可以提供准确的重建表的语句.
4, 数据文件有十多GB, 有五万个存放在LOB中的图片.

了解上述情况后, 立马让客户准备远程连接环境, 先是拷贝AIX上的数据文件到Windows上, 由AUL进行跨平台恢复; 然后是将Windows机器挂到Internet上, 由我进行远程操作; 约好晚上八点半开始, 经过三个小时的紧张恢复, 数据全部搞定. 步骤如下:

1, 从归档日志中找到删除的表的信息.
2, 扫描所有的数据文件, 生成Extent Map.
3, 在新的库中建立空表, 以便借用表结构.
4, 进行大部份表的数据恢复.
5, 再次扫描所有文件, 查找LOB索引段头块.
6, 恢复带LOB的少量表.

能这么顺利完成任务, 也超出我自已的意料之外, 最主要的是删除表时的归档文件还在, 以及能提供准确的重建表的SQL语句, 以及AUL多年恢复Drop类操作的经验基础上的良好设计.

系统分类:编程语言 >> C#

本站为纯公益性文化知识交流分享网站,旨在促进文化知识学习、交流与传播。
此文章资料由本站转载于互联网,转载目的在于分享、传播文化知识。仅供学习、研究使用。版权归作者本人所有, 如果侵犯了您的版权和隐私权,请您将文章资料的网址发送到邮箱xuehuile@126.com,本站将马上删除。
违法、违规与不良信息投诉举报邮箱xuehuile@126.com,如果您发现不良信息,请您将文章资料的网址发送到邮箱,本站将马上删除。
此文章资料网址:http://m.xuehuile.com/blog/b3aa74d358134994b570f09100eb2027.html