1、dump命令
这是sybase数据库中常用的备份命令,格式为
dump database QJMIS to “z:\qjmis20040324”
命令的含义是把用户数据库QJMIS备份到z盘的根目录下,备份文件名为qjmis20040324,在为备份文件命名的时候,最好加上日期,这样在恢复时能够很快找到该文件。QJMIS是我们本文中所用的用户数据库的名称。
此命令也可以备份master数据库,方法一样,master数据库的备份和用户数据库的备份同样重要,因为如果master 数据库遭损坏,数据库服务将无法启动,此时若有备份过的master数据库,恢复就会简单得多。
2、load命令
这是sybase数据库中常用的恢复命令,格式为
load database QJMIS from “z: \qjmis20040324”
命令含义是把备份数据库文件qjmis20040324恢复到QJMIS库里,做完此操作后,必须用online命令使该数据库处于在线状态,即online database QJMIS。对于普通的用户数据库,在多用户模式下也可以进行恢复工作,但在恢复时要保证除系统管理员外没有其他用户使用此数据库。对于master数据库,却要在单用户模式下才能用此命令进行装载。那如何进入单用户模式呢?
编辑处于Adaptive SERVER install目录中的RUN_SERVERNAEME ,例如你的数据库服务器名字为QJSERVER,那此文件名就为RUN_QJSERVER.bat,点右键编辑此文件,在文件尾插入-m标志和-T3608跟踪标志,保存后使用此文件来启动数据库即可进入单用户模式。
3、bcp命令
可以用此命令把源数据库里面的数据导出到文件中,也可以利用数据文件把数据导入目的数据库,格式如下
select "bcp QJMIS.." +name+ " out " +name+ ".bcp -Usa -Paaaa-SYDMIS -c -r \n" from QJMIS..sysobjects where type='U' order by name
导入时把相应的out改in 就可以了。
4、defncopy命令
可用此命令来从源数据库中把存储过程、视图、触发器、规则导出
格式为
select "defncopy -Usa -Paaaa –SYDMIS out" +name+ ".txt QJMIS" from QJMIS..sysobjects where type='P' or type='V' or type='TR' order by name
导入把out 换为in即可。
5、重建master数据库命令
对于sybase数据库来说,如果master数据库遭损坏,意味着数据库将无法启动,此时必须重建master设备。
对于12.5版本的Adaptive SERVER服务器来说,它并不使用bldmastr二进制程序来建立master设备,但可用dataserver二进制程序重建,格式为:
dataserver –d “x:\data\master.dat” –w master -b 800M
其中参数 –d 指出master数据库设备文件的位置,我们的master数据库设备文件放在x:\data目录之下;
-w 指定恢复的数据库是master数据库;
-b指定master设备文件的大小,当初在建库时,我们的master数据库设备空间为800M, 所以把空间指定为800M,在这里尤其需要加以注意,指定的master设备大小一定要和初始的master设备大小一致,否则,如果指定的master设备小于初始master设备,则当搜索本来属于master数据库的分配单元时,将找不到应该属于初始maser设备的空间,如果指定的master设备太大,则驻留在初始master设备末端后面的其它数据库会被错误的扫描,这将损坏它们,在运行过程中,master数据库经历了一个内部升级的过程,以重建master数据库。
对于Adaptive SERVER12.5以前的版本,就可以用bldmastr二进制程序来建立master设备,格式为:
bldmastr –d x:\data\master.dat –s409600 在x盘的data目录重建大小为800M(409600个2K页)的master数据库
上述两个命令dataserver、bldmastr的使用都是在NT环境中。
以上命令都是我在维护sybase数据库中经常使用到的,现把它写出来,供大家参考。