昨天下午,客户那边的系统管理员给我电话,说有套系统的SYBASE数据库最近有点怪,总是时不时莫名其妙地就忽然卡死,有可能一下子就自动恢复了,也有可能后面一直卡住,只好重启。根据客户反映的状况,初步判断可能的原因:1、数据库的日志空间满了,导致所有进程被挂起。2、临时数据库(tempdb)空间满,导致所有进程全部都挂起。3、出现大面积的阻塞,导致绝大部分的进程都被阻塞了,处在无响应的状态。4、连接数(number of user connections)达到上限,导致新的连接无法得到响应。

    没几分钟,客户那边就发了日志跟数据库的XXX.cfg配置文件过来了。经过对日志文件进行分析,发现数据库几乎一直都在日志文件里刷出这样的信息:Attempt by user 39 to dump xact on db ABC with NO_LOG。该日志是在执行dump transaction XXX with no_lo的时候才会发生的操作,因此基本可以判断肯定是跟ABC库的日志段的情况有关系了。
    经过与客户初步进一步沟通后,决定直接到现场进行排查。到了现场以后,通过查看日志段的情况:sp_helpsegment ‘logsegment',发现日志信息存在问题,居然可用空间已经变成了负数。再进一步检查该数据库的相关选项,发现该数据库已经打开了自动截断日志的开关,再加上日志段的可用信息已经错误,导致了数据库一直不断地想去尝试执行dump transaction XXX with no_log去截断日志。
        问题解决办法:修正日志段可用页数的错误,重算日志段的可用信息。
        解决过程:
        1、打开系统表更改的开关.    sp_configure 'allow update',1
        sp_configure "allow updates", 1 
   go 
        2、修改数据库状态
  1>use master
  2>go
  1>update sysdatabases 
  2>set status = -32768 
  3>Where name="ABC" 
  4>go
       3、关闭数据库
       4、在启动文件中最后一行回车换行并添加启动参数:-T7408
       5、重启数据库
       6、关闭系统表更改的开关.    sp_configure 'allow update',0
       7、恢复数据库正常状态:
       8、修改数据库状态
  1>use master
  2>go
  1>update sysdatabases 
  2>set status = 0
  3>Where name="ABC" 
  4>go
       9、手工截断日志:dump transaction ABC with truncate_only
       10、检查是否恢复正常:sp_helpsegment ‘logsegment'

Sybase ASE无响应的又一个情况的更多相关文章

  1. [httpd] httpd server 在低负载的情况下对SYN无响应

    如题: 两台client通过load balance访问httpd server.两个client交互访问.load balance处于fullnat模式. server在低负载情况下,常常对某一个c ...

  2. 使用multiprocessing解决PyMuPDF不支持多线程加载导致的界面卡死无响应问题,及一个PyQt5实现的简易PDF阅读器例子

    最近在用PyMuPDF实现一个PDF阅读器,发现PyMuPDF在加载某些epub时耗时非常长,有的长达10几秒,会导致界面卡死无响应. 尝试用多线程后台加载,发现还是不能解决问题,和作者交流(issu ...

  3. 一个服务io占满,服务器无响应

    (1).服务器io占满,服务无响应, sar -q -f  /var/log/sa/sa28 上图显示plist-sz 增加了一倍 plist-sz 说明:进程列表中的进程(processes)和线程 ...

  4. 使用isql连接Sybase ASE数据库的常见错误及处理方式

    使用isql连接Sybase ASE数据库 Sybase ASE客户端工具中有一个比较实用的命令行工具isql.利用isql可以对ASE数据库服务器进行几乎所有的管理维护工作. 下面用isql工具连接 ...

  5. 分析案例:应用服务无响应,任务管理器中发现大量w3wp僵尸进程----等待异构系统WebService返回值

    问题描述:       某二次开发的项目反馈,不定期出现应用服务器无响应的情况,登录服务器发现任务管理器中有大量的w3wp僵尸进程. 分析过程: 针对同一进程每隔15秒抓取dump,连续抓取3个,对比 ...

  6. 调用startActivityForResult,onActivityResult无响应的解决办法

    三种情况: 1.执行startActivityForResult,没等到被调用的 Activity 返回,onActivityResult() 就被执行了.找了很久,终于通过小道消息得知,这与 Act ...

  7. SQL阻塞原因造成系统多功能无响应的分析解决思路

    最近遇到一个sqlserver项目,月底会出现多个财务相关功能出现不定期操作无响应问题 通过查询SQL阻塞信息,定位到阻塞源头spid.该会话的状态.等待事件及执行的SQL脚本 根据spid查询该会话 ...

  8. eclipse启动无响应,停留在Loading workbench状态,或老是加载不了revert resources

    做开发的同学们或多或少的都会遇到eclipse启动到一定程度时,就进入灰色无响应状态再也不动了.启动画面始终停留在Loading workbench状态.反复重启,状态依旧. 多数情况下,应该是非正常 ...

  9. VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案

    今天在VS2010 sp1+sql server 2008 R2+Win7操作系统下测试ADO.NET 实体数据模型时 ,遇到这样一个问题. 首先建好实体模型,然后"根据模型生成数据库&qu ...

随机推荐

  1. StringBuilder 用法和div获取

    StringBuilder strHtml = new StringBuilder(); strHtml.Append("<tr>"); strHtml.Append( ...

  2. Linux上安装Squall

    Squall是Storm之上的类SQL查询工具,能够将类SQL语句转换成topology,然后提交给Storm运行. 安装Squall前要先安装Java和sbt(simple build tool), ...

  3. .Net 两个对像之间的映射

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. Totime iOS购物APP

    是为时光仓公司量身定做的一款移动app,根据本公司的要求,开发一款支持移动端购买的App.该项目主要包括六个大模块:商场特卖,特卖专场,时光商盟,个人中心,收藏,购物车. 1. 商场特卖——分为热卖商 ...

  5. spark下测试akka的分布式通讯功能

    采用的spark版本为1.1.0 scala版本为2.10.4 编写scala类文件myactors.scala: package bluejoe import akka.actor._ import ...

  6. sql的游标使用(转)

    游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: ...

  7. xadmin学习笔记(一)——编程准备

    前言 xadmin是GitHub上的开源项目,它是Django admin的超强升级版,提供了强大的插件系统,丰富的内置功能,以及无与伦比的UI主题,使管理系统的实现变得异常简单.详情请参见官方网址. ...

  8. 多个UITableView横向切换的简单实现(有点类似网易新闻)

    实现多列表切换,位置监控,置顶等功能. 方法一: 创建一个TableView,在切换的时候请求各类目需要的数据,然后刷新列表,通过动画模拟出滑动效果. #import <UIKit/UIKit. ...

  9. PHP执行过程

    PHP执行过程     任何一种语言的源代码计算机都没有办法直接执行,需要转换成计算机能够识别的机器指令. PHP也是一门高级语言,也需编译(解释) PHP的解析过程: 1.请求源代码,进行词法解析, ...

  10. Java实战之02Hibernate-08二级缓存

    十四.Hibernate的二级缓存 1.Hibernate的缓存结构 2.由于二级缓存被多线程共享,就必须有一定的事务访问策略 非严格读写:READ UNCOMMITTED 读写型:READ COMM ...