案例:客户来电反映,系统崩溃,业务骤停。赶到现场后发现IBM 560正在运行,经询问后得知Sybase客户端无法连接。
解决过程:进系统,进数据库SP_WHO,发现全是SEELP。再看Sybase日志,原来日志已满.再这里可以使用简单快捷的"dump transaction database_name with no_log"来解决此问题,本文中我们将介绍两外两种解决方法。
处理方法有两个:
1.截断日志
2.添加日志空间
当下又不敢贸然截断日志,天知道他们在做些什么事务,还是给他们添加日志空间先再说.
建LV 并修改属性
mklv log_lv3 rootvg 3
chown sybase:sybase /dev/*log_lv3
建SYBASE设备并添加日志空间
1> disk init name="dev_log03",physname="/dev/log_lv3",vdevno=21,size=1024000
2> go
1> alter database xxxx log on dev_log03 = "2000M"
2> go
添加完之后再用SP_WHO一看,一切正常。
下面需要考虑日志为什么会满。开始检查并设置日志截断,先用sp_helpdb看一下,原来@#$%^状态是no options set,所以才会出现此现象,最后做如下设置即可。
use master
go
sp_dboption database name,trunc,true
go
use database name
go
checkpoint
go