日志空间满,引起无法给表添加新字段

今天给一张表添加新字段,怎么也添加不上去,后来用sql语句写,看了报错信息才知道是日志空间满了。
所以收集了一些资料,如下:
         SYBASE ASE的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。清除log可用dump transaction 命令;或者开放数据库选项trunc log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。

Server Cache Memory中日志页总是先写于数据页:

如果数据库开放trunc log on chkpt选项,则ASE在数据库系统执行checkpoint时自动清除log。但用户自己写入执行的checkpoint命令并不清除log,即使trunc log on chkpt选项开放。只有在trunc log on chkpt选项开放时,ASE自动执行checkpoint动作,才能自动清除log

数据库的log是不断增长的,必须在它占满空间之前清除。前面已经讨论过,清除log可以开放数据库选项trunc log on chkpt,使数据库系统每隔一段时间间隔自动清除log,还可以执行命令dump transaction 来清除log.trunc log on chkpt 选项同dump transaction with truncate_only 命令一样,只是清除log而不保留log到备份设备上。所以如果只想清除log而不做备份,可以使用trunc log on chkpt 选项及dump transaction with truncate_only,dump transaction with no_log 命令。若想备份,应做dump transaction database_name to dumpdevice

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

dbcc checktable (syslogs) 可以看见日志情况:

*** 注意:日志段上保留的空间是 2 (0.03 MB)0.16%

*** 注意:日志段上的可用空间是 1250 (19.53 MB)97.66%

表包含 1041 数据行。

 

用快速方法来判断transaction log 满的程度。

select data_pgs(8doampg) from  sysindexes where id=8

 

开放trunc log on chkpt选项(或者右击数据库,选择‘属性’,再选择‘选项’)

sp_dboption ttms_upload ,trunc,true

 

清除LOG日志

dump transaction  dbname  with truncate_only


解决办法: dump transaction  ttms_upload  with truncate_only

 

转载于:https://www.cnblogs.com/zyl-8183/archive/2007/01/11/618041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值