阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle使用SQL分析锁

112次阅读
没有评论

共计 851 个字符,预计需要花费 3 分钟才能阅读完成。

      可以利用 SQL 脚本检查实例中当前锁定情况。在数据库中第一次执行任何与锁定有关的 SQL 脚本之前,都需要首先运行 catblock.sql 脚本,该脚本位于 $Oracle_HOME/rdbms/admin 目录下。运行此脚本将创建几个与锁定有关的重要视图,如 DBA_LOCKS、DBA_WAITERS、DBA_BLOCKERS 等。

      Oracle 提供一个名为 utllockt.sql 的脚本,它会给出一个树形结构的锁等待图,显示持有影响其他会话的锁的会话。使用此脚本,可以看出一个会话正在等待什么锁,哪个会话持有这些锁。该脚本位于 $ORACLE_HOME/rdbms/admin 目录下。下面是执行 utllockt.sql 脚本的一个示例:

SQL> @$ORACLE_HOME/rdbmsa/admin/utllockt.sql
Waiting session Type Mode requested Mode Held    Lock Id1
————— —- ————– ————- ———
682            None None          None          0
 363            TX  Share (S)      Exclusive (X)

      utllockt.sql 脚本显示系统中等待锁的会话以及他们等待的锁,输出为树形结构。如果一个会话的 ID 紧跟在另一个会话的下方,则表示他正在等待该会话。页面最左边显示的会话 ID 是所有会话都在等待的会话。

      在上面的示例中,最左边的会话 ID(682)为会话 363 正在等待的会话,每个会话右边显示的信息给出它所等待的锁信息。虽然会话 682 持有一个锁,但在锁信息列中并未显示任何信息(None),因为它不等待任何锁。而会话 363 显示它请求一个共享(S)锁,并且正等待会话 682 释放表行上的独占(X)锁。

更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计851字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中