ASA突然断电或者死机冷启动后数据库破坏的问题

cqdj 2008-05-23 10:59:07
ASA突然断电或者死机冷启动后数据库破坏的问题
问题描述:我们开发的系统(java+Spring+swing)的客户端是选用的ASA作为客户端的数据库,对数据库的启动,我们详细情况是这样的: String driver, url;
driver = ianywhere.ml.jdbcodbc.IDriver";url="jdbc:odbc:dsn=dsn_local";Class.forName(driver);
DriverManager.getConnection(url);,其中dsn_local是一个ODBC数据源:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\dsn_local]
"AutoStop"="Yes"
"Compress"="No"
"DatabaseFile"="C:\\PROGRA~1\\Fbprj\\FDatabase\\sybase.db"
"DatabaseName"="v60c"
"Driver"="C:\\PROGRA~1\\Fbprj\\FDatabase\\dbodbc9.dll"
"Start"="dbeng9.exe -m"
"EngineName"="sybase"
"Integrated"="No"
"PWD"="sql"
"UID"="dba"
但在实际使用过程中,用户正在使用程序的时候出现死机,或者突然断电,数据库几乎百分之百的被破坏,不能使用,请问各位大侠,怎么来解决这个问题呢?
先谢谢了!

...全文
143 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
WellSoft 2008-10-16
  • 打赏
  • 举报
回复
我一个客户用ASA,运行5年未出现问题.
iihero 2008-09-04
  • 打赏
  • 举报
回复
经验:
在生产环境,一定要带日志运行ASA 服务器,这样出了问题,数据库至少还可以恢复。
hero_girl 2008-09-02
  • 打赏
  • 举报
回复
不熟,路过学习
洛卓思学 2008-08-29
  • 打赏
  • 举报
回复
有log的时候可以恢复。。
kendon_wang 2008-07-30
  • 打赏
  • 举报
回复
顶!!
beliveb 2008-07-26
  • 打赏
  • 举报
回复
帮不了你 来关心下 呵呵
ckc 2008-07-02
  • 打赏
  • 举报
回复
数据库没有带日志运行吧,有了.log的asa应该说是挺不错的,不是这么容易出问题的
snowstorms 2008-07-01
  • 打赏
  • 举报
回复
正如楼上所说,其实sql anywhere是相当优秀的数据库,碰到断电的情况sql anywhere比较容易损坏的应该是日志而不是数据库文件本身。可以尝试在操作后多加一个CHECKPOINT试试看,可能有一定帮助。
洛卓思学 2008-06-26
  • 打赏
  • 举报
回复
好多年了,遇到有4次。只能使用log文件来恢复了。
leo_11 2008-06-26
  • 打赏
  • 举报
回复
使用:
{ dbsrv | dbeng } 如下参数,或许有所帮助。

-a filename 应用指定的事务日志文件。
-f 在没有事务日志的情况下,强制启动数据库。

其实一般来讲突然的情况,不会使数据库文件就毁坏掉,
ASA 又不会在突然断电的一瞬间,
神经病般的发力,胡乱的在磁盘上乱写一通。

这种问题应该属于如下情况:

数据库在上次使用时不正常退出。在继续之前必须恢复数据库。

那么在正常启动不成功的情况下,
可以首先使用-f 的参数,然后再使用正常的方式进行数据库服务的启动。

-f 的参数进行了如下操作。

如果没有事务日志,数据库服务器会执行数据库的检查点恢复,然后终止,它不再继续运行。以后您可以在不使用 -f 选项的情况下重新启动该数据库服务器,以进行正常操作。

如果数据库所在的目录中有事务日志,该数据库服务器会执行检查点恢复,以及使用该事务日志进行恢复,然后终止,服务器不再继续运行。以后您可以在不使用 -f 选项的情况下重新启动该数据库服务器,以进行正常操作。


顺便说一句,asa还是强档强悍的dbms,
简单的DBF 和他不是一个级别,没有可比性。

下里巴言,仅供参考。
quanhj 2008-06-12
  • 打赏
  • 举报
回复
我也经常遇到这个问题.不过我觉得ASA还是不其他数据库要脆弱
没有办法我都是叫客户经常备份
WWWWA 2008-05-26
  • 打赏
  • 举报
回复
没有哪种数据库能做到非正常退出时,不损坏库、表、记录,只是损失多少、概率的问题。
WWWWA 2008-05-26
  • 打赏
  • 举报
回复
备份是不能从根本上来解决问题的

从技术上讲,还没有方法能够解决
突然断电或者死机冷启动数据库破坏,
只有经常备份。
wwwwb 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cqdj 的回复:]
我是想从技术上来解决问题。不是从管理上。备份是不能从根本上来解决问题的。
[/Quote]
在突然断电或者死机冷启动后,即使ORACLE、SYBASE数据库都要出现问题,配备UPS是个方法,
无论哪种数据库,经常备份都是好习惯。

从根本上来解决 突然断电或者死机冷启动数据库破坏 的方法除了恢复,还没有其它方法。
cqdj 2008-05-26
  • 打赏
  • 举报
回复
我是想从技术上来解决问题。不是从管理上。备份是不能从根本上来解决问题的。
cqdj 2008-05-26
  • 打赏
  • 举报
回复
废话,
CathySun118 2008-05-23
  • 打赏
  • 举报
回复
应该多做备份
wwwwb 2008-05-23
  • 打赏
  • 举报
回复
ASA数据库这么脆弱?DBF在这种情况下不一定会出现问题,
在执行什么操作?是否使用事务?
如果以前有备份用备份文件覆盖原文件即可,如果没有备份文件就只能重新建库了!

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧