sybase备份与恢复及sybase常用语句

sybase备份有两种方式,一种是对单表进行备份,一种是对整个数据库进行备份

1、单表备份与恢复
只需要使用sybase提高的bcp命令就可以了:
 bcp的命令格式:
     bcp 数据库名..表名 in/out 文件名字 -Usa –Ppassword -S SERVERNAME –c
 解释:
  数据库名为要备份的数据库名字
  表名为要备份的表的名字
  in/out 备份用out,恢复用in
  文件名字:备份形成的文件或恢复需要的数据文件,要求包含文件的路径信息
  password:sa的口令
  servername:如本机器连接多个数据库服务器,则需要指定相应的数据库服务器

2、整个数据库的备份与恢复
这种方式相对比较复杂一点,需要在备份前启动sybase的备份服务,启动方式如下:
startserver -f RUN_SYBASE //启动SYBASE服务

 RUN_SYBASE:
  #!/bin/sh
  #
  # Master device path:   /home/sybase/data/master
  # Error log path:       /home/sybase/install/SYBASE.log
  # Directory for shared memory files:    /home/sybase
  # Adaptive Server name: SYBASE
  #
  /home/sybase/bin/dataserver \
  -d/home/sybase/data/master \
  -e/home/sybase/install/SYBASE.log \
  -M/home/sybase \
  -sSYBASE \
  
startserver -f RUN_SYBASE_BAK //启动sybase备份服务

 RUN_SYBASE_BAK:
  #!/bin/sh
  #
  # Error log path:       /home/sybase/install/SYB_BACKUP.log
  # Maximum number of network connections:        25
  # Maximum number of server connections: 20
  # Backup Server name:   SYB_BACKUP
  #
  /home/sybase/bin/backupserver \
  -e/home/sybase/install/SYB_BACKUP.log \
  -N25 \
  -C20 \
  -SSYB_BACKUP \

备份数据库方法:
dump database 数据库名 to 路径

恢复数据库方法:
load database 数据库名 from 路径

在恢复数据库前需要确保已经存在空的数据库了:
disk init
name="物理设备名",
physname="/home/sybase/data/aa.dat",
vdevno=8,  //用sp_helpdevice察看那些no还没有使用
size=5120 (每个单位是2K)

建立物理设备时要关注磁盘空间是否够用:
df -k

create database 数据库名 on 数据名=5120

数据库恢复后,是离线状态,需要手工online:
online database 数据库名

然后就是添加sybase的注册名和数据库的用户名:
sp_addlogin   "user","password"               //添加注册  
  go  
   
  use   数据库名  
  go  
   
  sp_adduser   "user"  
  go        

察看数据库中所有表的方法:
 Select   name   from   sysobjects   where   type='U'

要执行sybase的命令需要先登录sybase
 isql -Usa -P

posted @ 2007-07-12 11:42  永春  阅读(12554)  评论(0编辑  收藏  举报