首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InfiniDB:无法执行DDL/DML错误

InfiniDB:无法执行DDL/DML错误
EN

Stack Overflow用户
提问于 2013-08-02 19:44:02
回答 1查看 1.2K关注 0票数 2

当我试图在infiniDB上运行“Create”sql时,我会得到以下错误:

错误代码: 122 IDB-2010:无法执行DDL/DML,因为会话26正在更新另一个表。

Create没有什么特别之处,它是这样的:

代码语言:javascript
复制
CREATE TABLE table_name
(
 col_1 smallint,
 col_2 bigint,
 create_date datetime
) ENGINE = InfiniDB DEFAULT CHARSET=utf8;

为什么会发生这样的错误?

EN

回答 1

Stack Overflow用户

发布于 2015-02-18 11:57:28

这是因为InfiniDB使用的是一个表锁定模型(至少对于导入作业是这样),所以一次只能在一个表上运行一个修改。

在您的示例中,可能存在正在运行的作业或已崩溃的作业。如果cpimport分段故障,这就会被封顶。无论如何,使用命令检查锁状态:

代码语言:javascript
复制
root@big1:~# /usr/local/Calpont/bin/viewtablelock 
 There is 1 table lock

  Table                       LockID  Process   PID    Session   Txn  CreationTime              State    DBRoots    
  mydb.stats_test             4673    cpimport  20855  BulkLoad  n/a  Wed Feb 18 11:48:04 2015  LOADING  1,2,3,4,5 

如果您确信此进程不再运行,则可以杀死并清除它:

代码语言:javascript
复制
/usr/local/Calpont/bin/cleartablelock 4673
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18025005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档