attach detach fragement 优先执行

本文介绍在IDS11.5XC6中对分片表进行attach/detach操作时如何解决锁等待超时的问题。通过设置FORCE_DDL_EXEC参数,可以在其他会话访问表时强制执行DDL操作,并给出具体的操作步骤及可能产生的副作用。

当我们需要对分片表进行attach/ detach分片管理维护时,执行该DDL语句操作分片表时,若有其他session正在访问该表,则会出现锁等待超时错误。

在很多情况下,我们需要经常对分片表进行attach/detach操作,但是我们的数据库应用系统必须保证7*24小时运行,我们经常会遇到对分片表进行attach/detach操作,而表正在被其他session访问,而我们优先执行attach/detach操作。

IDS 11.5XC6版本提供的新特性可以满足我们的要求。

 

session 1

> BEGIN;
Started transaction.
> select * from  batch_post_id  where 1=1;

#transaction not commit;

 

seesion 2

 

> ALTER FRAGMENT ON TABLE batch_post_id INIT
> FRAGMENT BY ROUND ROBIN IN dbs1, dbs2;
242: Could not open database table (cosmo.batch_post_id).
113: ISAM error: the file is locked.
Error in line 1
Near character position 78

 

解决方案:

 

> SET ENVIRONMENT FORCE_DDL_EXEC '10';
Environment set.
> ALTER FRAGMENT ON TABLE batch_post_id INIT
> FRAGMENT BY ROUND ROBIN IN dbs1, dbs2;
Alter fragment completed.

 

session 1

> COMMIT;
458: Long transaction aborted.
12204: RSAM error: Long transaction detected.

 

session1 将会提示long transaction 错误,本属于IDS目前的实现情况。

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值