sybase数据库系统作为c/s构架的主流产品在我国有着广泛的应用,因此,对sybase系统的维护也显得至关重要。笔者在对sybase系统维护工作中,总结了一些技巧和经验,现介绍给大家。
1.实现开机时自动装载sybase数据库
原先要使sybase sql server启动,一般需要先以sybase用户登录,然后运行$sybase/install目录下的startserver命令启动sybase_xxxx服务进程和syb_backup_xxxx备份服务进程。
要实现unix系统启动时就能在后台装载sybase的功能,我们可在/etc/rc2.d/目录下新建一文件s99sybase,内容如下:
sybase=/usr/sybase
path=$path:$sybase/bin
export $sybase $path
$sybase/install/startserver -f $sybase/install/run_sybase_xxxx > /dev/null
$sybase/install/startserver -f $sybase/install/run_syb_backup_xxx >/dev/null
然后修改sybase的权限,重启系统即可。
2.实现关机时自动卸载sybase数据库
为保证sybase系统的正常运行,每次在关闭unix系统时要先结束sybase sql server 的服务进程,从减轻系统管理人员操作的角度出发建立一用户halt,修改/etc/passwd文件,将halt用户的uid改为0(或其他可运行shutdown的用户id),在/usr/halt/.profile中添加以下语句:
sybase=/usr/sybase
dsquery=sybase_xxxx
path=$path:$sybase/bin
export sybase dsquery path
isql -usa -pabcabc -ihalt.sql > /dev/null
shutdown -y -g0
其中“abcabc”为sa用户的口令,halt.sql是一简单的文本文件,内容如下:
shutdown
go
这样每次只要以halt用户登录,就实现了自动卸下sybase数据库,然后关闭unix系统。
3.sybase库备份技巧
一般对sybase库进行备份都用磁带作介质进行,但还有一更好的方法,即先备份到硬盘上然后经压缩,拷贝到磁带上,这样便于恢复,多了一个备份拷贝,同时也节省了备份时间。具体实现步骤如下:
(1)建立磁盘备份设备
运行isql,以sa进入sybase系统,运行如下内容:
sp_addumpdevice "disk",disk_bkupdevice ,/tmp/dumpdb ,2
go
这样就在sybase中建立了一个名为“disk_bkupdevice”的备份设备,它对应unix系统下的/tmp/dumpdb文件。
(2)创建备份用户
以root身份进入unix系统,新建用户backupdb,并归属于sybase组。
(3)修改相关文件
在/usr/backupdb/.profile中添加以下语句:
sybase=/usr/sybase
dsquery=sybase_xxxx
path=$path:$sybase/bin
export sybase dsquery path
rm /tmp/backupdb.z
echo"开始备份sybase数据库…"
isql -usa -pabcabc -ibackup.sql > /tmp/dbbackup.log
echo"硬盘备份完成,正在压缩备份的数据文件…"
compress /tmp/backupdb
echo "正在将备份的压缩数据拷入磁带…"
tar c8v /tmp/backupdb.z
echo "备份完成!"
其中"abcabc"为sa用户的口令,backup.sql是一简单的文本文件,内容如下:
dump database db_main to disk_bkupdevice
go
备份的执行日志被记录在/tmp/dbbackup.log中,当然系统管理员也可通过查看$sybase/install/backup.log获知备份日志。
这种备份方法要求硬盘空间足够大,这点请系统管理员在为unix建分区时特别注意。
在sco open server 5.0.4、sybase 11.0.3平台上,以上几个小技巧已应用成功,为笔者的日常维护节省了许多时间,取得了非常好的效果。