Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1213130
  • 博文数量: 212
  • 博客积分: 10450
  • 博客等级: 上将
  • 技术积分: 1957
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-23 09:00
文章分类

全部博文(212)

文章存档

2012年(1)

2011年(16)

2010年(11)

2009年(9)

2008年(22)

2007年(36)

2006年(117)

分类: Sybase

2008-11-28 17:07:29

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

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

1> use master
2> go
1> checkpoint
2> go
1> dump tran master with no_log
2> go
00: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 on
db master with NO_LOG
00:00000:00011:2006/02/22 14:53:38.06 server  Attempt by user 1 to dump xact on
db master with NO_LOG was successful
00: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_only

  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:\sybase\data\master_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)

阅读(1602) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~