相信大家都被数据库日志空间大小困扰过,因为空间不足,数据库操作会卡住甚至锁住,对于生产环境极其危险,那么如果所使用的日志空间不够怎么办? 方案一: 方案二: 方案三: 方案四: 方案五:
背景
解决方案
扩容,将数据库空间日志扩大即可,emmm,我知道这是废话,但是条件允许能扩则扩。
sql语句优化,比如清表truncate替代delete,这样可以减少日志输出。
关闭局部事务,很多操作,比如批量更新某个字段,其成功与否对第二次更新并没有什么影响。
比如数据库某字段需要将所有标识改为1,第一次失败并不需要回滚,再运行于一次即可。
将业务层事务进行拆分,比如先删除再增加的操作,可以让其在action层控制。其中删除使用一个事务,增加使用一个事务。当删除成功后再启用增加操作。当然,这个逻辑也可以写在业务层,但是如果用spring的声明事务配置(xml),则需要对特定的serivce类关闭事务拦截,推荐使用注释@Transactional配置关闭事务控制。
将语句:dump transaction 数据库名称 with truncate_only写进程序,在操作前后执行,可以清除空闲的日志空间。这个操作是没有危险性的,在清除前会判断并发操作。只是这个方法不会备份日志,这意味着万一数据库出现数据问题,将无法通过事务日志来找回数据。
6.方案六:
最后一招语句:dump transaction 数据库名 with no_log。这个语句与方案五相比危险性高很多,它不会做并发检查,通常被用于最后一招。
它的好处是如果其他dump transaction语句不能使用,它依旧可以清除日志。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算