主页 > CDN > > 正文

全站加速_怎么租游戏服务器_高性价比

来源:胜利云 发布时间:2021-09-08 14:54 标签:性价比加速游戏服务器怎么全站
浏览:

全站加速_怎么租游戏服务器_高性价比

对于可能涉及的人…

对于对数据库表的某一行的任何写访问,数据库将在该行上设置物理独占写锁。在数据库提交或数据库回滚释放之前,此锁阻止对该行的任何其他写入访问。

我们如何在ABAP中看到这一点?

相当简单,编写一个程序:

数据(wa)=值scarr(carrid='XXX')。

从wa.插入西澳州的伤疤

DO 100000000时代.ENDDO.

消息"完成"键入"I"。

在一个内部会话中运行它。打开另一个内部会话并并行运行另一个程序:

数据(wa)=值scarr(carrid='XXX')。

从中删除scarrwa.插入来自华盛顿州的SCAR。

信息"完成"类型"I"。

只有在第一个程序完成时,会话2中的程序才会完成。

这与预期一致。第二个程序试图写入与第一个程序相同的行,因此被锁定。

您必须知道,这种锁定不仅发生在打开的SQL语句中,而且发生在对数据库表的所有写访问中。显然,所有编写本机SQL语句的人都是其他候选人。还有其他ABAP语句访问数据库表。最近,我无意中发现了导出到数据库。

内部会话1中的程序:

导出dummy='dummy'到数据库demo\u indx\u table(xx)ID'XXX'。

DO 100000000时代.ENDDO.

消息'Done'类型'I'。

内部会话2中的程序:

导出dummy='dummy'到数据库demo\u indx\u table(xx)ID'XXX'。

消息'Done'TYPE'I'。

如前所述,会话1中的程序锁定会话2中程序的并行执行,因为INDX TYPE数据库表中的相同行被访问。这可能会导致死锁情况,您可能没有预料到。

为了防止这种持久锁定甚至死锁情况,必须尽快释放写锁。这意味着,必须尽快进行数据库提交或数据库回滚。在经典的ABAP编程中,出现了大量的隐式数据库提交。E、 例如,dynpro屏幕的每次调用都会导致工作流程的展开和数据库提交。如果在写访问和数据库提交之间只有很短的时间,那么在日常生活中就不会意识到这种锁定。但是如果您有长时间运行的程序(正如我在上面用DO循环模拟的那样),并且在写访问之后不久没有数据库提交,那么您很容易遇到不需要的锁定情况。在我最近的案例中,我在使用ABAP单元进行并行模块测试时遇到死锁情况:无屏幕->无隐式数据库提交

因此,通常情况下:如果存在对数据库表的同一行进行并行写访问的危险,避免写访问后长时间运行的进程,而不需要数据库提交。

在上述示例中,您可以防止死锁,例如:

数据(wa)=值scarr(carrid='XXX')。

从中删除scarrwa.插入来自wa的scar.

调用函数'DB\u COMMIT'。

DO 100000000时代.ENDDO.

消息'Done'类型'I'。

EXPORT dummy='dummy'到数据库demo\u indx\u table(xx)ID'XXX'。

调用函数"DB\U提交"。

DO 100000000时代.ENDDO.

消息'Done'类型'I'。

通过调用session1程序中的函数模块DB\u COMMIT,触发显式数据库提交。会话2中的程序在会话1中的程序的剩余部分长时间运行期间不再被锁定。

在每次写入访问之后进行此类调用不是规则。当然,一个好的事务模型无论如何都应该防止应用程序中的死锁。但是,如果您在特殊情况下遇到死锁,例如在不受干净事务模型控制的帮助程序中,这样的显式数据库提交会很有帮助。

如果死锁只发生在自动测试期间,您还可以考虑在测试运行期间使用锁对象。一个涉及写访问的测试可以使用SAP的入/出队列机制来锁定和释放表行,并在一行已经被锁定的情况下做出适当的反应。

有趣的话题。

我必须说我从来没有仔细考虑过,因为我总是在事务级处理锁(不要碰到这种内部DB锁定)机制)。

霍斯特凯勒一个博客的伟大标题。我差点笑着从椅子上摔下来,而且今天剩下的时间都有耳虫。

克里斯蒂安

我不喜欢承诺不,我喜欢它……

确实是一个非常有趣的案例。

我认为没有多少开发人员(和测试人员)意识到这个问题。

Kris

我在标准SAP功能模块中面临死锁问题

PRICAT表中存在死锁,SAP的Oracle支持团队正在调查,他们希望我更改提交,添加一些等待。问题是,它的标准SAP代码,在升级之前运行良好。

阿米特

嗯,很有趣!!

干杯,

Kripa Rangachari.

非常有趣的霍斯特!

谢谢分享!

BR,德国云服务器,

拉斐尔·帕切科。

它让我想起了我的第一个ORA-00060…

我是物理学家,学到了其他东西…

无论这篇文章是关于什么,物理学家统治!

嗨,霍斯特,

我不是一个算盘手,物联网公司排名,所以我可能遗漏了一些关于导出到数据库语句的信息。我不太明白你的第二个场景和第一个场景有什么不同,为什么会出现死锁。这不是很漫长的等待吗?毕竟,会话1中的进程是否最终成功完成,云服务器设备,然后在等待会话1完成之后才允许执行会话2中的进程?还是使用共享内存对象会导致死锁情况,而不是第一个示例的直接表写入?

干杯,

马特

嗨马特,

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 谷歌云_mysql中间件_免费领
    谷歌云_mysql中间件_免费领

    谷歌云_mysql中间件_免费领

    现在工作场所正在发生重大变化。我们协作、计划项目和管理工作量的方式正在改变,如果企业没有做好准备,它们将很快被抛在后面。准确地理解是什么...

  • 域名交易_阿里云翼_企业级
    域名交易_阿里云翼_企业级

    域名交易_阿里云翼_企业级

    通常认为搅动器是一个漏水的桶。你有多少顾客?你损失了多少?你留了多少钱,漏了多少钱?让我们把顾客流失看作是导致医生就诊的原因,比如偏头痛...

  • 金山云_华为云台_怎么申请
    <strong>金山云_华为云台_怎么申请</strong>

    金山云_华为云台_怎么申请

    在我们发布通知(以前是Engage)后的四个月里,我们在后端做了大量的改进。大多数更新在UI中不可见。相反,我们的客户可能已经注意到他们发送的电子...

  • 云主机_深圳企业网站设计_评分榜
    <strong>云主机_深圳企业网站设计_评分榜</strong>

    云主机_深圳企业网站设计_评分榜

    更新:有本文的更新版本。阅读"RPA如何转换数据迁移"(2019年出版)。 在本文中,数据迁移被定义为将数据从旧的遗留系统移动到新的替换系统。通常,...

  • 域名备案_已备案未注册的域名_最新活动
    <strong>域名备案_已备案未注册的域名_最新活动</strong>

    域名备案_已备案未注册的域名_最新活动

    今天是Skype推出十年来的日子,Skype是一款免费的互联网通话应用,用户已超过3亿。Skype是一家来自爱沙尼亚的初创公司,来自点对点文件共享应用Kazaa的开...

云储存

更多 >
  • <strong>数据库_北京网站建设_安全稳定</strong>
    数据库_北京网站建设_安全稳定

    9月17日,SAP大学联盟大中华区负责人杨珍妮(Jenny Yang)为西安电子科技大学学生做了SAP讲座。学生80人,教授1人。演讲者简要介绍了SAP ERP,并举例说明了...

  • <strong>域名解析_阿里云个人邮箱_速度快</strong>
    域名解析_阿里云个人邮箱_速度快

    我叫Bruno Cavestro,是一个技术极客,对SAP BusinessObjects customization充满热情。当我发现SAP Lumira时,我立刻爱上了它的扩展机制。但是,我浏览了一些关于SAP...

云储存消息队列_美国服务器ip_代金券
云储存域名注册_天翼云盘电脑版_便宜的
云储存数据库_服务器系统有哪些_返现
云储存网站服务器_美国免费虚拟主机_测评
云储存云主机_外网无法访问服务器_企业级