1. 苏葳的备忘录首页
  2. 数据库

Sybase中清除数据库日志的命令dump tran

sybase  dump tran在Sybase中,dump database是备份数据库的命令,相应的dump transcation命令通常用于备份日志,但更常用于清除日志(不作备份)。以下的两条命令是dump tran清除日志的两个例子,稍有区别。但都只用于清除日志的不活动部份,所有已经提交或回退的日志,都属于不活动的日志,而最近的未提交的日志就是活动部份。而若有事务正在运行,则执行以下命令可能会报错:

dump tran database_name with truncate_only

截断日志而不形成备份副本。

dump tran database_name with no_log

截断已填充至其容量的日志,仅作为最后一种解决方法。

而对于with no_log这种清理方式的”最后一种方法“是什么意思呢?假设数据库日志已满,因dump tran命令本身也要写入日志,所以写不进日志时就会无法执行。此时with no_Log就会派上用场。但with no_log并不执行一些并发性检查,所以有可能造成数据库问题,以至于with no_log的执行会被作为一个错误记入数据库服务端的错误日志文件里。

所以sybase警告,仅在dump transaction或加上with truncate_only已经无法执行时才用with no_Log命令。无论何时,不要用update insert delete修改syslogs表。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/531.html

发表评论

邮箱地址不会被公开。 必填项已用*标注