数据库锁表的查询和处理

2023-11-08

如果遇到数据库锁表,通常需要用如下方法处理:

查看表的partnum情况:

oncheck  -pt  shjz_mzb:baf01|grep -i partnum

这个里面包含了多个分区的partnum,也包含了索引的partnum。

    Partition partnum              12584018 

    Partition partnum              12584029 

    Partition partnum              12584019 

    Partition partnum              12584024 

    Partition partnum              12584025 

    Partition partnum              12584031 

    Partition partnum              12584026 

    Partition partnum              12584027 

    Partition partnum              12584030 

    Partition partnum              12584028 

把每个partnum转成十六进制如下:

因为lock table里面记录的是十六进制,而不是十进制。

    Partition partnum              12584018  C0045C

    Partition partnum              12584029  C0045D

    Partition partnum              12584019  C00453

    Partition partnum              12584024  C00458

    Partition partnum              12584025  C00459

    Partition partnum              12584031  C0045F

    Partition partnum              12584026  C0045A

    Partition partnum              12584027  C0045B

    Partition partnum              12584030  C0045E

    Partition partnum              12584028  C0045C

根据partnum查看锁表的情况:

onstat -k |grep -iE 'C0045C|C0045D|C00453|C00458|C00459|C0045F|C0045A|C0045B|C0045E|C0045C'|sort -nrk 6

通过上图可以可以发现:

owner:表示当前哪个会话拿着锁,会话的sid可以通过onstat  -u|grep 96edab28来查看

        会话的具体操作可以通过onstat –g ses $sid来查看

type:HDR+X 表示独占锁

tblsnum:表示表的partnum的十六进制,也就是对那个表进行加锁

rowid:表示在哪个数据行上加锁,每行数据会有一个rowid

上图可以看到都是对rowid=1336802的该行数据进行加锁,但是partnum不一样,也就是表,每个索引树都需要锁住的。

根据owner找到sesion sid之后,onmode -z sid就可以杀掉会话,释放锁了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库锁表的查询和处理 的相关文章

  • 多个数据库连接

    我有三张桌子 categories content info and content The categories表包含类别的id及其 IDparent类别 The content info包含两列 entry id帖子的 ID 和cat
  • ORDER BY id 或 date_created 显示最新结果?

    我有一个表 实际上有几个 我想首先从中获取最新条目的结果 这是我的ORDER BY条款选项 date created INT 从不改变值 id 当然是INT AUTO INCRMENT 两列应同等地代表记录插入的顺序 我自然会使用date
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • python 没有名为serial的模块

    我的 python 程序有问题 我编写了程序来将数据 温度 从 arduino 获取到我的树莓派 sqlite 数据库 但它在第 4 行 导入串行 处给了我一个错误 提示 ImportError 没有名为串行的模块 我使用 python3
  • 删除 mysql 数据库中超过 3 个月的行的作业

    我们使用 mysql 服务器作为集中式日志系统 我希望有一项工作来定期删除 清理超过 3 个月的表条目 做这个的最好方式是什么 提前致谢 hinling 您是否在字段中存储项目的创建日期 If so DELETE FROM myTable
  • 使用python shelve跨平台

    我希望得到关于 Python 中的书架 数据库的一些建议 问题 我在 Mac 上创建了一个数据库 我想在 Windows 7 上使用该数据库 我使用 Python 3 2 MacOS 10 7 和 win 7 当我在 Mac 上打开并保存我
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • 无法删除数据库 mysql:错误 3664 (HY000)

    我的应用程序中有一个名为X Files 我想要drop它 但每当我运行命令时drop database X Files我收到以下错误 mysql gt drop database X Files ERROR 3664 HY000 Faile
  • 在数据库中存储密码的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • iOS 解析如何通过 URL 下载文件

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • 如何使用sql脚本更改列的属性

    如何使用 sql 脚本更改列的属性 这是我尝试过但出现错误的方法 ALTER TABLE dbo tblBiometricPattern COLUMN BiometricPatternID TINYINT NOT NULL IDENTITY
  • 为 java 项目创建安装

    我创建了一个 java 项目 它使用数据库来检索 编辑和保存数据 我使用 Netbeans 完成了该项目 现在我想在该项目之外创建一个安装 为此 我想包含与项目一起安装的数据库 我用来连接数据库的代码是 Class forName com
  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • SQL Server 批量插入 - “批量加载数据转换错误”

    bulk insert dbo A FROM d AData csv WITH FIELDTERMINATOR ROWTERMINATOR n 将批量数据插入数据库时 在检查可疑数据后 我遇到了无法解释的错误 消息 4867 16 级 状态
  • 将数据从电子表格迁移到 RDBMS 的策略是什么?

    这与我的另一个问题相关何时从电子表格迁移到 RDBMS https stackoverflow com questions 2395607 when to switch from spreadsheet to rdbms 决定从 Excel
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • 可以重复应用并产生相同结果的数据库操作吗?

    我现在一片空白 或者像有些人说的那样 正在经历一个高级时刻 我知道这个概念有一个正式的定义和名称 其中在数据库中运行的数据库操作 存储过程 如果重复运行将产生相同的结果 它属于数学家的自反 对称 传递等类型 您的意思是 确定性 吗 如果使用
  • 将数据库与 Clojure 结合使用

    有哪些使用 Clojure 数据库的方法 我从 Clojure 知道你可以用 Java 做任何事情 但这意味着我最终可能会使用一些过于复杂的东西 比如 Hibernate 这与 Clojure 的简单性相冲突 有什么建议或意见吗 Cloju
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首

随机推荐