昨天下午,客户那边的系统管理员给我电话,说有套系统的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. linux 学习笔记 Linux内核的四大功能简介

    一 内存管理 默认情况下,运行在Linux系统上的每个进程都有各自的内存页面:进程不能访问其他进程正在使用的内存页面. 内核维护着自己的内存区域 用户进程不能访问内核进程的内存 可以创建一些共享内存页 ...

  2. GCD多线程

    GCD本质线程自动管理指令包 GCD优点: 1.GCD 本身自带有线程锁的效果,能通过推迟昂贵计算任务并在后台运行它们来改善应用的响应性能. 2.GCD 提供了更易于使用的并发模型(效果方面类似于对锁 ...

  3. WebDriver: Getting it to play nicely with Xvfb

    http://www.markhneedham.com/blog/2011/12/15/webdriver-getting-it-to-play-nicely-with-xvfb/ Thoughts ...

  4. mysql 数据备份还原

    悲剧的一天,不小心将数据库删了... 命令行备份数据库 1.mysqldump命令进行备份.该命令将连接MySQL服务器并创建SQL转储文件,该文件包含了重新创建数据库所必需的所有SQL语句.该命令的 ...

  5. WPF 中的绑定方式

    1.元素间的绑定 xaml方式 <Slider Name="slider1" Value="20"/>        <TextBlock T ...

  6. uva - 133 The Dole Queue(成环状态下的循环走步方法)

    类型:循环走步 #include <iostream> #include <sstream> #include <cstdio> #include <cstr ...

  7. 用CentOS 7打造合适的科研环境

    http://seisman.info/linux-environment-for-seismology-research.html 这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个 ...

  8. android之硬件访问服务框架

    一.硬件接口描述文件aidl 新增\frameworks\base\core\java\android\os\ILedService.aidl 二.mk编译脚本 修改vi frameworks/bas ...

  9. float保留7位double保留15位之后的数字四舍五进

    public class $66 { public static void main(String agrs[]) { float a=(float) 1.123456789;//8位 System. ...

  10. maven打包技巧

    http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package/ "打包"这个词听起来比较土,比较正式的说法应该是"构建 ...