yueyaoyao 发表于 2008-04-22 11:08

急:数据库异常

os:aix 5.3
db:ase 12.5.2

使用sp_who可以看到有很多如下类型的进程,以前没有过,显然不太正常:
status         dbname         cmd
sleeping      tempdb         EXECUTE
sleeping      tempdb         EXECUTE
sleeping      tempdb         EXECUTE
sleeping      tempdb         EXECUTE
sleeping      tempdb         EXECUTE
sleeping      tempdb         EXECUTE
......

应用系统运行缓慢,某些前台应用甚至无法登录至系统。
可以排除os资源方面的原因,也可以排除数据库连接数限制方面的原因。
因为在前台应用程序中使用了临时表,因此怀疑是tempdb的问题。但是从后台看,tempdb的空间是足够的(4G),不存在空间不够用的问题,同时也给tempdb绑定了1G的命名高速缓存。
百思不得其解,因为近期数据库未进行过配置更改,前台应用基本上也没有什么改动。
请各位同仁指教,谢谢。

li_lsl 发表于 2008-04-22 12:35

我的系统也曾经碰到类似问题,后来是在AIX中停止SYBASE的进程。然后再重新启动ASE。ase重启后工作正常。

yueyaoyao 发表于 2008-04-22 12:44

已经重启过好几次了,重启后用一段时间后还是会出现同样的问题。

li_lsl 发表于 2008-04-22 13:11

我的系统是AIX5.3 ,4CPU,16GB内存。分配给ASE12.5.3 3CPU,8GB内存。150K的LOCK,2K的connect

chuxu 发表于 2008-04-22 13:41

sp_lock看呢?

tianyanwei 发表于 2008-04-24 09:02

sp_object_stats看一下有没有争用

sean_server 发表于 2008-04-26 02:14

还是关注一下lock

qiangxg 发表于 2008-04-28 10:16

我说一下我遇到的情况。tempdb被占满,重启后能够正常使用一段时间,但是过不多久又出问题。

事实上是应用中需要用到一张表。那张表的数据那段时间增加的厉害,在应用过程中涉及到那表的操作,把tempdb占满了。

当时的做法是先扩tempdb。然后找时间删除那张大表中的若干记录,并做成定时任务。这样下来就好了。

flybean 发表于 2008-04-28 13:16

创建工作表了,检查SQL,为什么会有这么大的(工作表)数据量

yueyaoyao 发表于 2008-04-28 21:25

已经观察几天了,数据库方面及应用方面都做了少许调整,但是情况依旧。
tempdb上不存在空间的问题,一直跟踪着,4G的空间,业务最繁忙的时候也不过用了几百M.
那些进程在sybase 控制台中无法kill掉,即使客户端都已经退出依然存在,只有重新启动数据库才行。
我特意察看了一些那些进程所执行的sql,都是很简单的语句,也都不涉及太大的数据量。但是基本都持有排他表锁,这样就影响了
应用中的一些功能的使用(有些操作根本无法进行,譬如无法打开某个特定功能窗口,或者某种操作总是保存失败等)。
由于这些进程的存在,还可能很快达到用户连接数限制,致使客户端无法登陆。
另外还有一个比较奇怪的现象。某一时刻,在应用程序中使用一数据库用户无论如何都不能登陆,但是如果换作使用另一个数据库用户却马上
可以登陆(不是连接限制的问题,这两个不同的用户也仅仅是名字不同而已),实在无法解释。
我现在已经认为问题不在数据库和应用了,可能在其它方面,譬如主机或者网络,准备从这些方面着手去解决这个问题。
页: [1] 2
查看完整版本: 急:数据库异常