您的位置:首页 > 其它

简单介绍一下我自己编写的Sybase恢复工具

2009-11-18 21:49 253 查看
----------------------------------------------------------------------------

---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;

---- 转载务必注明原始出处
:
http://blog.csdn.net/andkylee

---- 关键字: 数据库 恢复 sybase 设备 页面 工具 dat

----------------------------------------------------------------------------



今年七月份,不小心将PC笔记本电脑上的另一个数据库的备份文件B恢复到了一个在线数据库A里了(两个都是实验用数据库!)。库B比库A要小很多。向多方(包括sybase technical)咨询都说没有办法只能通过备份文件来恢复。但是,我感觉应该有种办法吧!难道sybase公司都没有办法?如果这样,我将一个小的备份文件load到一个大的数据库里面,难道这个大数据库也只能用备份来恢复吗?

突然产生了一种想法,能不能打开sybase的设备文件看看里面都存了一些什么样的数据?能读取一点数据也是收获啊!

于是,在接下来的三个月时间里我花了很大的精力来研究sybase的内部数据结构,用VB编写读取程序,并反复测试修改。最后,基本形成两个小工具。

1.能够从Sybase数据设备上提取数据的:READ_SYBDEVICE

2.从日志设备上提取日志信息的:LOG_ANALYZER_ASSISTANT (暂时叫这两个名字,以后可能会改)

下面为两个工具读取出来的数据截图:

一、下图为读取的Sybase数据库内页面上的数据(页号:165621,表名:FLOWREC1,右上部显示页面上的十六进制数据,下部分是FLOWREC1在页面165621上的数据)





二、下图为从日志设备上提取的日志信息(包括:页号,页内偏移,可用行号,日志类型OP,会话ID,列宽度,日志操作时间,SUID,UID,SPID,以及日志信息内容等)。针对插入(OP=4)、删除(OP=5)、更新(OP=9)能够逆向写出相应的SQL语句。





在后面的文章中,我会介绍这两个小工具的使用方法!

可以提供SYBASE数据库文件修复

(1)系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏得备份文件情况下得恢复.

(2)误delete数据恢复、误删除表恢复(drop)、truncate表恢复 等.

(3)各种sybase错误的修复.

(4)sybase数据库被标记为可疑,不可用等情况.

(5)sybase数据库中数据文件出现坏块情况下的恢复.

(6)sybase数据库无数据文件但有有日志的情况下的恢复.

(7)sybase数据库只有设备数据文件 没有任何日志的情况下的恢复.

(8)sybase数据文件被误删除情况下的恢复.

(9)磁盘阵列上的sybase数据库被误格式化情况下的恢复.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: