我用过很多数据库,如access,fb,ib,sqlite3,mysql,在突然停电的情况下,都有不同几率引起数据库损坏,且是致命的,无法修复。如何最大限度防止突然停电引起数据库损坏?希望数据库高手把经验介绍一下,谢谢了。
解决方案 »
- 本人是个菜鸟,希望有人把with语句给我还原下,在把这些语句能给我祥解下!
- pointer Dll 函数传值问题
- 散分凑热闹
- Borland Delphi 2006武汉发布会见闻,顺带散分
- WebBrowser问题
- 如何将csdn的xml文件导入数据库中?在线等待。。。
- 为什么DELPHI的EXE文件在有些机子上可以运行,而有些机子上确不行?
- DELPHI 7 安装时的问题,请大家帮帮小弟!!!!
- 怎样在局域网中用access2000数据库
- 请问那里有好的编辑文本的类似于richview的控件。
- 使用Delphi编写的程序性能上怎么样?
- delphi 7 项目如何设置pre build及post build,我想在编译之前执行一段代码生成脚本。
解决办法当然就是UPS了
如果正在用数据库,突然断电,那没办法了;
只好用UPS了
不过想问问:UPS电也用完怎么办?不也等于停电?
说来说去都是UPS,我想讨论编程注意的问题,从程序上以最大限度防止突然停电引起数据库损坏。UPS不是个好办法。请大家从编程角度讨论这个问题。谈谈大家的经验。一年停电10多次很正常,如果你有100个用户,一年就是1000次停电。按10%损坏就有100个数据库损坏。如何从编程角度上来以最大限度防止突然停电引起数据库损。
===================================================================================LZ思路有问题,UPS是个最简单有效的好办法,用的人都说好!
除此之外,那就得用异地实时备份这样的复杂方案了。
说来说去都是UPS,我想讨论编程注意的问题,从程序上以最大限度防止突然停电引起数据库损坏。UPS不是个好办法。请大家从编程角度讨论这个问题。谈谈大家的经验。一年停电10多次很正常,如果你有100个用户,一年就是1000次停电。按10%损坏就有100个数据库损坏。如何从编程角度上来以最大限度防止突然停电引起数据库损。
===================================================================================电都没有了,还有什么样的编程是能跑起来的?
如果是无视硬件问题单从数据保护上来说,也就是注意实时备份吧
-------------
电都没有了,还有什么样的编程是能跑起来的?
如果是无视硬件问题单从数据保护上来说,也就是注意实时备份吧
and so on
我一般都不会用access,fb,ib,sqlite3,mysql作为数据库,主要原因就是他们停电很容易引起数据库的损坏,而且功能不够强大,Sql server用了好几年了,到目前为止还没有发现过停电数据库损坏的情况,比较稳定.
如果非要用access,fb,ib,sqlite3,mysql作为数据库,那么建议使用短连接,即用完马上要断开
程序解决可以考虑以下思路,首先是数据备份,增加备份频率,比如每小时或两小时,视数据库大小而定。
其次是注意及时关闭数据连结,突然断电造成的文件损坏90%是由于文件处于写入状态,所以对于数据连结一定要做好控制,第一,使用最新的数据驱动程序,目前应当是Jet4,连接数据库时指名使用jet作为引擎;第二,在不需要更新数据的时候一律使用只读锁,以减少文件写入的频率;第三,及时关闭数据连结,尽可能的降低打开文件的频率。
2、和电网公司的人拉好关系,要他们准备停电时就点一下你网页上的按钮,更新某个字段值;
3、在你的服务器上用一个程序即时监视网页所访问的值,并判断否自动关机。
个人感觉UPS + RAID就足够了,有条件的话再上个双机热备...
Ms SQL停电就不容易损坏吗?使用MSSQL来谈谈经验。
尽量减少数据库读写的时间...以降低停电时数据库文件打开的概率.
读数据尽可能的使用缓存数据.
尽量减少数据库读写的时间...以降低停电时数据库文件打开的概率.
读数据尽可能的使用缓存数据.
同意
1UPS
2磁盘阵列(硬件角度)
2实时复制(软件角度,不过多用了一台计算机)
无人值守系统,UPS能够起到的作用有限
该问题的解决需要依赖于数据库底层的文件存储结构机制,也就是冗余安全机制,MSSQL,ORACLE这方面做得很好
如果使用文件存储结构较为简单的数据库,不是采用冗余安全机制的数据库
可以使用双数据库来实现在应用层面的冗余安全机制
虽然在数据库级别没有提供冗余安全,但可在应用层面来自建双机冗余热备解决楼主问题的答案就是"双机热备"这个技术,去查一下相关资料和原理我们公司使用SQLite在嵌入式设备当中,需要很高的安全性
使用双数据库冗余,理论上是安全的,并经过上万次各种异常掉电测试,数据库总是可以安全
在实际上万个设备在各个项目中使用,均未出现冗余的两个数据库在微观上的同一时刻同时损坏的现象