Lock time out! sybase 急急急!高手请帮忙!!!谢谢!

rover_sh 2002-12-13 10:58:29
我用delphi三层结构,后台数据库是unix的sybase,但是数据库记录太多,肯能到1千万的记录,查询返回超时,waring窗口如下:
Lock time out. ct_curor(CLOSE):user api layer:external error:A cursor must be opened befort command type can be initialized.
请教高手帮忙,我真的很急,因为礼拜一客户要验收了!拜托高手们了,谢谢,谢谢谢谢!!!!!!
...全文
30 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rover_sh 2002-12-13
  • 打赏
  • 举报
回复
程序是delphi写的三层数据库,sybase是11。3版本的,unix的服务器,在客户端返回的就是上面写出的错误,在数据库上执行返回下列错误:Msg 1105, Level 17, State 2:
Line 4:
Can't allocate space for object 'temp worktable' in database 'tempdb' because
the 'system' segment is full. If you ran out of space in syslogs, dump the
transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to increase
the size of the segment.
Msg 1510, Level 17, State 4:
Line 4:
Sort failed: Out of space in database 'tempdb'
再没有其他的信息了!谢谢您wanghai(汪海) ,我会试试的,分数会给的,谢谢!
wanghai 2002-12-13
  • 打赏
  • 举报
回复
加大锁数量,改为行级锁,给的信息太少,先这样试试
sp_configure "number of locks",biggervalue
sp_configure "lock scheme",0,datarows
wanghai 2002-12-13
  • 打赏
  • 举报
回复
MASTER库也太小了点吧,加大到200M
number of locks 设置成20万太夸张了,如果不支持行级锁根本不需要那么多
50000就够了
1000万数据不算多,如果存储过程多的话还需加大PROCEDURE CACHE,

rover_sh 2002-12-13
  • 打赏
  • 举报
回复
上面错了,是10000000以上的记录,不是10000000万的,sorry!
rover_sh 2002-12-13
  • 打赏
  • 举报
回复
如果不需要,那该如何处理那?如果我动态查询的条件多的话,就不会出现超时,但是礼拜一之后是会被导入10000000万的记录,我自己也不知道如何的了,银行的人现在也不知道怎么办,sybase的技术支持说让我扩大tmpdbs,number of locks 设置成20万!!!硬盘空间是被配成了sybase的裸设备的,
rover_sh 2002-12-13
  • 打赏
  • 举报
回复
我到客户那面试过了,客户的数据库被配成如下形式:
device_fragments size usage free kbytes
------------------------------ ------------- -------------------- -----------
master 2.0 MB data and log 1184
tempdbs 2000.0 MB data and log 2048000
templogdbs 2000.0 MB log only 2048000

(return status = 0)
你们说tmpdbs还需要扩大吗???
wanghai 2002-12-13
  • 打赏
  • 举报
回复
这个提示显然是tempdb太小导致的,你的应用程序里肯定用了许多排序,临时表等等处理,扩大就解决了
rover_sh 2002-12-13
  • 打赏
  • 举报
回复
恩,知道了,谢谢你们,我会给您们分数的,请等待◎!◎
hobbylu 2002-12-13
  • 打赏
  • 举报
回复
你这个信息是你的临时数据库太小了,你需要扩大tempdb的空间大小
rover_sh 2002-12-13
  • 打赏
  • 举报
回复
我试过了,不可以的,而且我的数据库不支持sp_configure "lock scheme",0,datarows,麻烦大侠们看看我的unix上的错误?是tmpdb太小的原因吗???还有我得number of locks 数值是20000的,原来就是两万的
mnlsdyl 2002-12-13
  • 打赏
  • 举报
回复
你必须扩充tempdb
建一个新设备,把空间分配给tempdb

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧