·等级考试 ·水平考试 ·语言编程 ·IT技术 ·网站建设 ·信息安全 ·办公自动化
广告服务
联系方式
加入收藏夹
设置首页
栏目导航: 您现在的位置: 才智教育_IT资源站 >> 办公信息化 >> 数据恢复 >> 文章正文
恢复Sybase SQL Anywhere 数据库
作者:OFFICE组    文章来源:校资料室    点击数:    更新时间:2008-5-11

  Sybase SQL Anywhere是Sybase公司开发的一种小型数据库产品,有单用户版和多用户版,可安装在Win95、Win98、NT、Netware等平台。SQL Anywhere的SQL语句基本上和Sybase Adaptive Server一致;而且功能也相当强;PowerBuilder5.0以上的版本都自带一个SQL Anywhere。因此,对使用笔记本或单机的开发人员来说,选择SQLAnywhere作为数据库来开发应用程序是十分方便的,故SQLAnywhere得到了普遍的应用。但是突然断电或不正常关机都有可能破坏SQL Anywhere的数据,由此造成很大的损失,下面就来介绍一种恢复被破坏的数据库的方法。

  SQL Anywhere数据库由后缀分别为.db和.log的两个文件组成。其中.db的文件是用来存放数据库信息(包括表结构、视图、数据等)。而.log文件是个日志文件,用来记录用户每一次对数据库有影响的操作,例如创建或删除表、视图、触发器等对象,插入、删除、修改表中的数据等。所以只要把.log文件的内容转换成一条条的SQL语句,然后再建一个空的数据库,再执行这些SQL语句,则恢复数据的问题就解决了。Sybase公司提供了几个实用程序来完成以上功能。

  现假设数据库系统文件分别名为mydb.db和mydb.log。如果mydb.db已被破坏。现在创建一个新的数据库,假设文件分别名为new.db和new.log。

  用Sybase提供的dbtranw.exe,DB32W.EXE,rtsqlw.exe等实用程序来完成恢复工作,步骤如下表。

  步骤命令功能

  1.Dbtranw-r-k-ymydb.logdb.sql把.log文件的内容转换成的SQL语句

  2.Attrib-rmydb.db修改只读文件mydb.db的属性为可写

  3.Attrib-rmydb.log修改只读文件mydb.log的属性为可写

  4.Copynew.dbmydb.db用新的空库文件覆盖被破坏的旧库文件

  5.Copynew.logmydb.log用新的日志文件覆盖旧的日志文件

  6.DB32W.EXE-dmydb.db启动数据库SQLAnywhere

  7.Rtsqlw -q-c"userid=dba;password=sql"readdb.sql执行从.log文件中倒出来的SQL语句

  其中第一步的功能是把旧的日志文件转换成SQL语句,并放在一个名为db.sql的文件中,特别注意它只能在第五步之前操作,否则日志文件会被new.log所覆盖,而导致无法恢复数据。最后一步的功能是从文件db.sql中读取SQL语句并执行,假设数据库的用户名为dba,而口令为sql。有关各个命令及参数据的更详细的用法可以查看相应的帮助。在此提醒用户注意:.log文件不能随便删除,否则恢复的数据就不完整。




  • 上一篇文章:

  • 下一篇文章:


  • 才智计算机教育资源站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何学习建议。
    在百度中搜索恢复Sybase SQL Anywhere 数据库的相关内容]   [在狗狗中搜索恢复Sybase SQL Anywhere 数据库的相关内容]
    关于才智教育 - 广告服务 - 联系方式 - 加入收藏夹 - 设置首页 - 违法不良信息举报中心 - 北京网络行业协会 -友情连接 -
    Copyright © 2005-2008 Ahczedu.com Inc. All rights reserved. 才智科技发展有限公司 版权所有
    ICP备案号:皖ICP备07003070号

    cncz@qq.vip.com 热线电话: 015905520789