免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3642 | 回复: 6
打印 上一主题 下一主题

死锁问题求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-25 14:47 |只看该作者 |倒序浏览
10可用积分
现在我要从文件中读入数据到表中,因数据量较大,采用多进程操作数据库,但是一直死锁,报以下错误,SQL error(-211)--ISAM error(-154)。 其中数据库为10.0,锁级别为行锁。我想既然为行锁,并且设置有10秒等待时间,为什么还会有这个错误?谢谢!

论坛徽章:
0
2 [报告]
发表于 2009-08-25 14:58 |只看该作者
-211 不能读取系统目录<目录表>;。

数据库服务器在处理大多数语句时参照系统目录表。当不能读取这些重要的表时就产
生了严重的错误。检查伴随的ISAM错误代码以获得更多的信息。错误的影响取决于正
在执行的语句和特定的表,如下所示。

* CREATE TABLE语句,systabauth不能读取;该表可以被建立,但不能象正常
情况一样授权给PUBLIC。

* DROP TABLE语句,systables不能读取;不做任何动作。

* DROP TABLE语句,sysviews不能读取;该表将被取消,但任何依赖于该表的
视图将不能被自动取消。

* DROP VIEW语句,sysviews不能读取;不做任何动作。

* DROP INDEX语句,systables或sysindexs不能读取;不做任何动作。

* DROP SYNONYM语句,systables或syssynonyms不能读取;不做任何动作。

* DROP DATABASE语句,systables不能读取;不做任何动作。

* START DATABASE语句,systables不能读取;不做任何动作。

* DATABASE语句,systables或sysusers不能读取;该数据库不被选中
(没有当前数据库,后来的操作见错误-349)。

其它语句可能在错误被侦测出来之前已经部分完成了。滚回当前的事务并调查错误的
原因。使用实用工具bcheck或secheck(INFORMIX-OnLine的tbcheck或INFORMIX-
OnLine动态服务器的oncheck)来检查或修复索引。如有必要,从备份和逻辑日志磁带
上恢复数据库。

论坛徽章:
0
3 [报告]
发表于 2009-08-25 15:19 |只看该作者
问题是我做的都是select、update、insert操作,怎么引起这个错误呢?

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
4 [报告]
发表于 2009-08-25 15:28 |只看该作者
-154    ISAM error: Lock Timeout Expired.

This network operation has been suspended, awaiting a response from
another database server, for the maximum duration allowed. The local
database server assumes that a distributed deadlock exists and that
this user request is awaiting a resource that was locked by a user in a
different system, which is awaiting a resource that this user owns.
Roll back the current transaction, and retry it after a delay. If this
error occurs frequently, ask the database server administrator to adjust
the length of the deadlock time-out interval.

This code is also returned when an explicit wait time limit expires;
that is, if you have SET LOCK MODE TO WAIT 3, and your request is
queued for more than 3 seconds for a lock, the operation ends with this
ISAM error code.

论坛徽章:
0
5 [报告]
发表于 2009-08-25 15:35 |只看该作者
恩,是设置的行锁,等待时间为5秒。一个进程做插入操作,其它进程在做更新时报的错,SQL error(-244)--ISAM error(-154)

论坛徽章:
0
6 [报告]
发表于 2009-08-25 15:52 |只看该作者
是不是一个进程的事务没有提交,锁没有解除,其它进程就不能做插入和更新等操作,所有才产生这个错误?如果是这样,就不能用多进程对同一个表做操作了吗?

论坛徽章:
0
7 [报告]
发表于 2009-08-26 16:17 |只看该作者

回复 #6 yyqq88_2008 的帖子

表是行级锁还是页级锁?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP