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

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:41

布雷特,我同意您的观点,即获得排他锁的SPID将不接受任何其他表锁。 我复制了相同的场景并找到了以下内容。

1。 使用char(20); col 19 varchar(30),col20作为标识(10,0)创建了一个包含18列(col1,col2 ....,col18)的表,并通过在col19中指定''插入了30万行。/p>

2。现在用"这是我在reorg压缩表vs select上的测试"更新col19。

3。 步骤2之后,我在表上运行了optdiag,发现有3003条转发的行。
4。 在表上触发了reorg compact并立即检查了sp_lock,我按预期看到了" Ex_intent",reorg compact正在进行中
5。在另一个会话中,我从

中选择*,并且看到它处于处理状态并处于锁定状态 它获得的是Sh_intent。

6。从第三个会话开始,我再次使用第20列中的范围运行了一个选择查询,并按预期方式将它作为shared_intent-Blk进行查找,因为选择已在会话2的表上运行。 现在在刺我,

1。 即使有转发的行,我如何从会话2中进行选择查询也成功执行?

2。如果通过获取sh_intent锁进行重组压缩并选择操作(完全或范围操作)想要读取相同的行/页/范围,行为将如何? ---我希望在完成之前从整个表的会话2中选择一个等待事件150,这是我没有看到的。

关于,
Dilip Voora

一周热门 更多>

向帮助了您的知道网友说句感谢的话吧!