码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 关于 SAP HANA 数据库的死锁问题(deadlock)


    一个朋友在我的知识星球里提问:

    hana数据库发生死锁后,会自动解开吗?还是会等着自动超时后报错。

    笔者在 15 年的 SAP 开发生涯中对 HANA 数据库接触得比较少,这里只能根据网络上搜索出的一些材料来回答。

    首先,如果是 ABAP 服务器,当 SQL 语句执行时出现死锁,会立即出现运行时异常,终止当前程序的执行:

    关于 ABAP 死锁的介绍,参考笔者这篇文章:ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序。

    回到 HANA 数据库的死锁介绍。

    这篇文章采取了和 Jerry 上述文章里类似的思路,在 HANA 数据库里刻意制造一个死锁。

    在这个 SAP Note 1999998 - FAQ: SAP HANA Lock Analysis 里提到,

    死锁是两个或多个事务相互交叉锁定的情况,因此任何事务都无法继续进行。 通常死锁是由应用程序设计缺陷引起的,但在主键约束的上下文中也可能存在更多的技术死锁(这种情况请参考 SAP note 2429521)。

    当 HANA 数据库出现死锁时,实际行为取决于死锁类型:

    • Transactional Lock: 如果 SAP HANA 识别出基于事务锁的死锁,其中一个事务将被终止并发出以下错误消息:

    SQL error 133: transaction rolled back by detected deadlock

    这种行为不同于 Oracle 等其他数据库,后者的死锁只会终止当前的 DML 操作,而不是终止整个事务。

    • Internal Lock: 基于内部锁的死锁(详情查看 SAP Note 2304201)被视为 SAP HANA 的 issue,只能通过重启来解决。

    可以使用 HANA hdbcons 死锁检测器功能检查某些(但不是全部)internal lock,如 SAP Note 2222218 中所述:

    hdbcons ‘deadlockdetector wg -w -o .dot’

  • 相关阅读:
    精英荟聚,入海捉蛟 | 2022年全国水下机器人大赛线上赛圆满举办
    在UI设计中用什么样的字体?优漫动游
    MongoDB命令
    银行家算法程序模拟实现
    上市公司财务报表精讲系列一:黄山旅游
    【Go语言】Go项目工程管理
    SQL比较两次的字段集合,找出并返回差异,主要用于更新记录事件
    纷享销客CRM为虎邦辣酱的第二次增长插上数字化翅膀
    Python if-for-while使用
    井冈山大学专属中秋月饼
  • 原文地址:https://blog.csdn.net/i042416/article/details/128013089
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号