Sybase master库日志管理

【字号: 日期:2023-11-19浏览:64作者:雯心

 Sybase master 库日志满了应该如何清除呢?可以通过以下的方法对 master库进行管理,如果确实没有足够的空间了,可以考虑对 master库进行扩容操作。

1、简单的情况下 dump trans with no_log 就可以了,master库一般不会满。

1> use master2> go1> checkpoint2> go1> dump tran master with no_log2> go00:00000:00011:2006/02/22 14:53:38.06 server WARNING: ***************************00:00000:00011:2006/02/22 14:53:38.06 server Attempt by user 1 to dump xact ondb master with NO_LOG00:00000:00011:2006/02/22 14:53:38.06 server Attempt by user 1 to dump xact ondb master with NO_LOG was successful00:00000:00011:2006/02/22 14:53:38.06 server WARNING: *************************** ;2、如果是windows平台,则找到RUN_your_server_name.bat

如果是Unix平台,则找到RUN_your_server_name文件

编辑上面的启动文件,在行尾加上 -T3067

然后使用启动文件启动数据库,启动后

dump tran master with truncate_onlyu

go

1)备份master数据库

dump database master to '备份路径及文件名'

2)停止sybase服务

shutdown

3)编辑sybase服务启动文件(在unix下一般是“RUN_服务名的文件,在windows下一般是“RUN_服务名.bat的批处理文件)。在启动文件的命令行最后加上 -T3607)

4)使用启动文件启动服务后,再dump tran master with truncate_only

5)这时dump清理日志一般多会成功。然后在停止shutdown服务,去掉-T3607,以正常方式启动服务

3、不行的话,则需要建立一设备来进行扩展或按以下方式重建:

1)备份master数据库

启动backup server,进入isql环境执行:

1>dump database master to '/sybase/master.dump'

2>go

(如果 不行的话 dump 日志 with no log)

hut down SQL/ASE Server

1>shutdown

2>go

2)创建新的足够大的master设备

$buildmaster -d -ssize(size以2K为单位)

例:$buildmaster-d/sybase/data/master.dat -s102400

3)修改RUN_servername文件

编辑RUN_server_name文件,-d参数指向新建的设备名。

4)单用户模式重启server

$startserver -f RUN_servername -m

5)执行installmaster脚本

6)由备份文件装载master数据库

1>load database master from '/sybase/master.dump'

2>go

7)修改sysdevices信息

sp_configure 'allow updates', 1

go

begin tran

go

update sysdevices set high = 102399 , phyname = 'e:sybasedatamaster_test.dat' where name = 'master'

go

(102399=200*512-1 master设备大小为200M)

commit tran

go

8)扩展master数据库

1>alter database master on master设备名称=size(此值以M为单位)

2>go

例:alter database master on master=10

将master数据库在master设备上扩展10M

这个操作比较危险,注意先做好备份(比如 GHOST)

相关文章: