在具有重组契约的表上拒绝的选择查询正在同一表上执行

2020-08-15 23:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我的客户端环境中,...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我的客户端环境中,具有DRL(未分区)的表在执行时已进行重组,同时,当我尝试执行选择操作时,该表被拒绝。 ASE 15.7 SP136 sp-lock.txt

个人环境-我试图通过在测试环境中的示例数据库中创建一个表-Test(a,b和100万行,没有索引)来复制同一表,并触发了reorg compact。 同时,我可以在表Test上执行选择,更新,删除和插入操作,尽管我看到sp_lock的锁类型为Test上的reorg SPID的Ex_intent。 ---附上细节。 测试:16.0 SP03 PL08

因此,我想在下面进行澄清。
1. reorg compact的实际行为是什么?
2.为什么sp_lock显示Ex_intent并仍允许Select和DML? ---通过保留DRL和DPL进行了相同的检查。
3.为什么在生产环境中只有一个选择操作失败了?
4. 15.7 SP136上的reorg compact是否存在任何已知问题?

请告知。

关于,
Dilip Voora

sp-lock.txt (7.9 kB)
4条回答
spaceman01
2020-08-16 00:48

以下是实际帖子的答案。

1. reorg compact的实际行为是什么?a)每当在数据行锁定表上首先执行reorg compact时,它将 带有Ex_intent锁,表明它是排他锁,只是不允许出现任何冲突的表级锁(如共享,更新锁)。
b)Reorg compact通过扫描范围来完成其工作。
c)如果reorg compact找到转发的行,则即使它在扩展区中的页面上工作,它也会排它地锁定整个表。 br> d)在第3步中,如果在同一张表上触发了选择查询(全表,范围查询,来自同一范围reorg compact的数据当前正在运行)),则将使用sh_intent锁定,并允许其读取数据 直到reorg契约已处理到一定程度,并将通过等待事件150移至阻塞状态。
e)一旦reorg契约释放了独占表表,select查询将继续处理。

2。为什么sp_lock显示Ex_intent并仍允许Select和DML?
Ex_intent只是告诉获得的进程可能请求排他锁(先删除后插入),并避免其他表级 锁。

Sh-intent本质上是一个共享锁,即使将ex_intent锁放在表上,也可以从行或页中读取数据

3。为什么在生产环境中选择操作失败了?
选择实际上由于阻塞而超时(在上面的步骤4中进行了解释),我们的车间认为超时有所减少(为避免税收, 根据中央银行关于超时交易的规定。

谢谢!

一周热门 更多>