Sybase数据库维护是每一个DBA的重要工作,作为C/S构架的主流产品,Sybase数据库在我国有着广泛的应用,因此,对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平台上,以上几个小技巧已应用成功,为笔者的日常维护节省了许多时间,取得了非常好的效果。
【编辑推荐】