朋友公司数据库崩溃了,希望大家帮帮忙。硬件配置是sunE450+A1000(A1000阵列共8块盘),软件配置是solaris上sybase11.93数据库,
事情经过是这样的:我们去的时候,A1000一块盘亮黄灯,阵列的文件系统不能正常加载,没有最新的备份数据(最新的为4个月以前的数据备份)。处理方法:
1)拷贝文件:数据库文件全在阵列上,先抢救数据,谢谢老天可以只读mount 上文件系统,把该文件系统上的文件拷贝到别的目录下,再拷贝的过程中用户数据库用到的一个日志设备不能拷贝(估计损坏了);
2)修改可疑数据库,bcp out 出来数据(这才是最新的数据,这个过程中有一个大表丢失200条左右的数据) ;
3)重建用户数据库,数据库设备还是应用原来的(当然损坏的那个日志设备需要重建);
4)恢复数据库:load四个月以前的数据库,删除数据库里面的数据,bcp in数据,在bcp in的过程中有不少表的数据进不去,需要删除这些表,重建后才能bcp in 进去。很是奇怪!!!
5)遗留不明白的问题:数据恢复完,按说应该没问题了,可是在使用的过程中发现有些表只能查询数据,一条一条的插入数据也没问题,如果批量插入数据会报错误(An attempt was made to fetch logical page '6152192' for object '99' in database '5' from cache 'default data cache',Wrong logical page '4670896' was found in cache 'default data cache'. ) ,搞得只能重新建表,这是为何?请高手们指教;‘’99‘’问题是不是很难搞?