SybaseSQLAnywhere数据库
- 格式:pdf
- 大小:88.26 KB
- 文档页数:1
SybaseSQLAnywhere数据库
Sybase SQL Anywhere数据库
Sybase SQL Anywhere是Sybase公司开发的种⼩型数据库产品,有单⽤户版和多⽤户版,可安装在Win町、Win98、N T、Netware等平台。
SQL Anywhere 的SQL语句基本上和JSybase AdaptiveServer致;⽽且功能也相当强;PowerBui1der5.0以上的版本部⾃带个SQL Anywhere。
因此,对使
⽤笔记本或单机的开发⼈员来说,选择SQL Anywhere作为数据库来开发应⽤程序是⼗分⽅便的,故SQL Anywhere 得到了普遍的应⽤。
但是突然断电或不正常关机都有可能破坏SQL Anywhere 的数据,由此造成很⼤的损失,下⾯就来介绍种恢复被破坏的数据库的⽅法。
SQL Anywhere 数据库由后缀分别为db和10g 的两个⽂件组成。
其中.db 的⽂件是⽤来存放数据库信息(包括表结构、视图、数据等)。
⽽.1og⽂件是个⽇志⽂件,⽤来记录⽤户每⼀次对数据库有影响
的操作,例如创建或删除表、视图、触发器等对象,插⼊、删除、修改表中的数据等。
所以只要把.1og⽂件的内容转换成⼀条条的S Q L i吾句,然后再建⼀个空的数据库,再执⾏这些S Q L 语句,则恢复数据的问题就解决了。
Sybase公司提供了⼏个实⽤程
序来完成以上功能。
现假设数据库系统⽂件分别名为mydb.db和mydb.1ogo 如果mydb.db已被破坏。
现在创建个新的数据库,假设⽂件分别名为new.db和new.1ogo
⽤Sybase提供的dbtranw.exe,DB32W.EXE,rtsq1w.exe等实⽤程序来完成
恢复⼯作,步骤如下表。
步骤命令功能
1. Dbtranw-r -k-y mydb.10g db.sq1把.1og⽂件的内容转换成的S Q
L语句
2.Attrib-r mydb.db修改只读⽂件mydb.db的属性为可写
3. Attrib-r mydb.1og 修改只读⽂件mydb.10g 的属性为可写
4. Copy new.dbmydb.db⽤新的空库⽂件覆盖被破坏的旧库⽂件
5. Copy new.10g mydb.10g ⽤新的⽇志⽂件覆盖旧的⽇志⽂件
6. DB32W.EXE -d mydb.db启动数据库SQL Anywhere
7. Rtsq1w q -c"userid⼆dba;password⼆sq1"readdb.sq1执⾏从.1og ⽂件
中倒出来的S Q L 语句
其中第步的功能是把旧的⽇志⽂件转换成S Q L语句,并放在
个名为db.sql的⽂件中,特别注意它只能在第五步之前操作,否则⽇志⽂件会被new.log所覆盖,⽽导致⽆法恢复数据。
最后步的功能是从⽂件db.sql中读取SQL语句并执⾏,假设数据库的⽤户名为db a,⽽⼝令为sql。
有关各个命令及参数据的更详细的⽤
法可以查看相应的帮助。
在此提醒⽤户注意:.log⽂件不能随便删除,否则恢复的数据就不完整。