远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

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

今年七月份,不小心将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上的数据)

读取的Sybase数据库内页面上的数据

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

Sybase ASE的恢复工具支持ASE v11.0, v11.5,v11.9.2,v12.0,v12.5.x,v15.x等各个版本,支持little endian以及big endian,支持cp850,iso_1,cp936,eucgb,utf8等国内常用的多个字符集。

关于从Sybase ASE设备文件中提取对象包含的页面不外乎两种方法。

第一:依次扫描页面获取页头控制信息中记录的对象ID;

第二:根据分配页追踪到对象的OAM页,再从OAM页上分析出对象占用的页面。

另 外,已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具,支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。恢复Sybase SQL Anywhere的工具在国内应该算首创。

Sybase IQ 15.1操作导致系统崩溃

最近项目上要用sybase IQ,抓紧时间研究一下。

在pc上安装了sybase IQ 15.1,版本号为:Sybase IQ/15.1.0.5027/090611/P/GA/MS/Windows 2003/ [32bit or 64bit]/2009-06-11 18:23:35

用sybase central连接iq服务器,在操作的时候遇到了一个致命的导致系统崩溃的错误。后来问题解决了,在此记录一下这个错误情况。

在sybase central的左边树形列表中定位到“过程和函数”列表上面,然后查找到过程“sa_get_user_status”,单击“sa_get_user_status”,就会出现一个严重警告的对话框。对话框的标题是:Microsoft Visual C++ Runtime Library ,内容为:Progarm D:\sybase\IQ-15_1\bin32\iqsrv15.exe
This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information.

这个时候点确定,有弹出一个严重错误对话框。标题:iqsrv15.exe - 应用程序错误 ,内容:应用程序发生异常 unknown software exception (0x40000015),位置为0x0d9812e5。
要终止程序,请单击“确定”。

要调试程序,请单击“取消”。

最后点完确定,任务栏右边的IQ的图标也消失了。这个时候IQ服务算是崩溃了。看来sybase central这个客户端的一个小小的错误也能导致一个IQ服务崩溃啊!

解决的方法:

打上最新的IQ的补丁。截止到2010年3月,最新的iq15.1 for windows的补丁是在2010.1release的 sybase IQ 15.1 ESD #2

我打完补丁后select @@version 查询结果为:

Sybase IQ/15.1.0.5034/091215/P/ESD 2/MS/Windows 2003/32bit/2009-12-15 07:10:40

到此问题解决。个人感觉,IQ的测试部门工作太差劲了。测试的时候挨着点一下就能发现的问题,还要补丁来解决。

Sybase电话面试经验

转自招聘网站上某位网友的Sybase公司电话面试的经验。希望对那些想应聘到Sybase公司的朋友有所帮助。目前,在招聘网站www.51job.comwww.zhaopin.comwww.chinahr.com

来源:http://sybase.dajie.com/discuss/topic/14149/detail

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

好象没人贴过美国电面的东西,我就随便写写啦。

星期二早上7点的时候一个印度人打过来,首先我简单的自我介绍,然后他问了一些基本
的操作系统,算法复杂度的问题,然后数据库相关的,我英语回答的很糟糕的,而且
一直听不明白他在讲什么,他可能也很失望,就问我平时上课是用中文还是英文的,平
时在什么情况下接触英文之类的问题,我还解释说这是我第一次英文面试……(因为我
只面过2家公司)。最后只好就转到我做过的项目上去问了,他说
这样我可以比较familiar,然后palapala……跟他解释一通,可能还没解释的完全清楚,
他说他interview的时间快到了,他要结束了,他要让我等下一个面试。然后结束了,看
了下时间7:40。

第二个面试的人没等后,后来中午接到上海这边office的电话,说第二个人那天有事,
他们接到通知的时候没来的及通知我,然后就重新约了时间再面试。

早上又6点多起来,等电话。上来跟我道歉一下,然后就说今天面试我在解释不清楚的时
候可以说中文,我就知道今天是中国人啦,暗喜一下。上来基本重复了前天的介绍,然
后他就开始问项目相关,给他解释用到的二个我专业的方法,一个比较简单,英文解释
清楚了,另一个比较复杂,我就换到中文给他解释了。然后就问我对数据库系统的熟悉 
程度,解释一通后,他就又问如果让我来设计一个dbms,我会怎么设计,palapala……
瞎侃一通,这一段又是用中文……,然后就是编程语言方面的几个基本问题。最后就是
问我为什么想来这里工作啊,然后个人优缺点,teamwork里面碰到的一些问题,这一段
我们竟然讨论了大概十五分钟。over……,让我问问题,我就问了两个,然后88。幸亏
是中国人,然后我感觉我在介绍我的项目和最后一部分,回答的还是比较好的。

虽然我没什么面试经验,但我面试的时候就是突出自己的精通的地方,不会的地方直接
说sorry。

http://sybase.dajie.com/discuss/topic/2640/2/list