为什么有时候数据库事务日志满了,不能截断日志

为什么有时候数据库事务日志满了,不能截断日志,第1张

有两种情况,可能出现这个问题。一是应用系统给SQL Server发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。二是客户端向SQL Server发送了一个修改数量大的事务,清日志时,该事务还正在执行之中,此事务所涉及的日志只能等到事务结束后,才能被截掉。

对于第一种情况,只要督促用户退出应用或者提交事务,系统管理员便可清掉日志。因为给SQL Server发送Dump transaction with no-log或者with truncate-only,它截掉事务日志的非活跃部分。所谓非活跃部分是指服务器检查点之间的所有已提交或回退的事务。而从最早的未提交的事务到最近的日志记录之间的事务日志记录被称为活跃的。从此可以看明,打开的事务能致使日志上涨,因为在最早活跃事务之后的日志不能被截除。

对于第二种情况,道理也同上。只是在处理它时,需慎重从事。如果这个大事务已运行较长时间,应尽量想法扩大数据库日志空间,保证该事务正常结束。

1、首先cmd命令连接到数据库:有多个数据库需要指定连接的实例SID,最高权限连接到指定tbh:sqlplus /@tbh as sysdba。

2、连接到后,确定下是否是所需要处理的数据库,查看当前连接的数据库的sid。

3、确认是后,先关闭例程,再启动例程shutdown abort;startup mount。

4、查看下归档日志空间情况:select  from v$recovery_file_dest; 。

5、增加归档日志空间大小: alter system set db_recovery_file_dest_size=20G scope=both;(这里增加20G,可以自行调整),最后启动数据库:alter database open,就完成了。

您好,很高兴为您解答。 第一步:设定Sybase数据库自动截断日志: 方法一: [sql] isql -Usa -Ppassword -Ssybaseserver >sp_dboption database_name,"trunc log on chkpt",true >go >checkpoint >go方法二:在sybase central 数据库属性对话框

其实很简单,由于软件用的时间长了以后日志记录会非常多,为了不影响软件的使用速度,所以当日志记录达到一定数量后,系统就会建议做清理,如果你想要保留之前的数据,可以选择备份。不备份的话,原来的日志记录就会被彻底清除。

以上就是关于为什么有时候数据库事务日志满了,不能截断日志全部的内容,包括:为什么有时候数据库事务日志满了,不能截断日志、数据库MobUsers_DB的事务日志已满原因为LOG_BACKUP游戏登陆出现这个是怎么了、sybase事务日志已满,怎么清除等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9872512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存