Oracle 数据库查看锁表的语句和解锁的方法

这篇具有很好参考价值的文章主要介绍了Oracle 数据库查看锁表的语句和解锁的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、查看锁表语句

SELECT
	sess.sid,
	sess.serial#,
	lo.oracle_username, -- 登陆账号名称
	lo.os_user_name,    -- 登录电脑名称
	ao.object_name,     -- 被锁表名
	lo.locked_mode      -- 死锁级别
FROM
	v$locked_object lo,
	dba_objects ao,
	v$session sess 
WHERE
	ao.object_id = lo.object_id 
	AND lo.session_id = sess.sid;

死锁级别:文章来源地址https://www.toymoban.com/news/detail-566091.html

级别 描述
0 none
1 null 空
2 Row-S 行共享(RS):共享表锁
3 Row-X 行专用(RX):用于行的修改
4 Share 共享锁(S):阻止其他DML操作
5 S/Row-X 共享行专用(SRX):阻止其他事务操作
6 exclusive 专用(X):独立访问使用

二、解锁语句

alter system kill session '68,51'; -- 分别为SIDSERIAL#号

三、查看引起锁表的Sql语句

SELECT
	A.USERNAME,
	A.MACHINE,
	A.PROGRAM,
	A.SID,
	A.SERIAL#,
	A.STATUS,
	C.PIECE,
	C.SQL_TEXT 
FROM
	V$SESSION A,
	V$SQLTEXT C 
WHERE
	A.SID IN ( SELECT DISTINCT T2.SID FROM V$LOCKED_OBJECT T1, V$SESSION T2 WHERE T1.SESSION_ID = T2.SID ) 
	AND A.SQL_ADDRESS = C.ADDRESS ( + ) 
ORDER BY
	C.PIECE;

到了这里,关于Oracle 数据库查看锁表的语句和解锁的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Oracle 数据库 SQL 语句 】积累1

    : grouping sets ((分组字段1,分组字段2),()) : coalesce合并多个字段,显示第一个不为null的值

    2024年02月13日
    浏览(62)
  • 在MySQL中查看数据库和表的数据大小

    在管理和维护MySQL数据库时,了解数据库和表的数据大小是非常重要的。这可以帮助您监控数据库的增长、优化性能以及规划存储需求。本博客将介绍如何使用SQL查询来查看MySQL数据库和表的数据大小。 首先,我们将学习如何查看整个MySQL数据库的总数据大小,包括所有数据库

    2024年02月09日
    浏览(75)
  • [1180]clickhouse查看数据库和表的容量大小

    在mysql中information_schema这个数据库中保存了mysql服务器所有数据库的信息, 而在clickhouse,我们可以通过system.parts查看clickhouse数据库和表的容量大小、行数、压缩率以及分区信息。 在此通过测试数据库来说明。 结果为:这种结果显示的大小size是字节,我们如何转换为常见的

    2024年02月05日
    浏览(54)
  • Oracle、达梦:☆获取数据库对象、获取对象的DDL定义语句(达梦)

    以下方式在达梦DM数据库中都能跑通,Oracle未测试所有的方式。 数据库所有对象表:包括 表、视图、物化视图、函数、存储过程……等 ①、ALL_OBJECTS视图方式 OBJECT_TYPE 解释: oracle 的ALL_OBJECTS中的OBJECT_TYPE表示: TABLE :表示表,这是用于存储和管理数据库中数据的主要结构。

    2024年02月03日
    浏览(83)
  • 如何查看Oracle数据库的端口列表Portlist?

    要在SQL/PLUS工具中查看Oracle数据库的端口列表,可以执行以下步骤: 在SQL/PLUS中使用系统管理员帐户登录到Oracle数据库。 运行以下命令: 这将显示数据库中所有监听器使用的协议和端口。如果该命令返回端口号,则表示数据库已配置为允许通过Web访问。如果命令返回空值或错

    2024年02月13日
    浏览(39)
  • Mysql和Oracle数据库死锁查看以及解决

    一、Mysql数据库死锁排查 SQL : SQL: SQL: 示例: 备注:通过查看事务的trx_started(开始时间)来判断该事务的阻塞时间。 SQL  : 备注:线程ID指的是 1.1.3步骤中查询出来的 trx_mysql_thread_id。 SQL : 示例 : 字段解析 : SQL : 示例: SQL : 备注:多个session用逗号隔开。 View Code   造

    2024年01月20日
    浏览(46)
  • Oracle数据库update语句用法,多表批量更新对应的字段值

    日常工作经常会遇到参照某个表格,更新主表对应字段的值 一般可以用excel的VLOOKup函数进行查找匹配,但是这种方法需要将表从数据库中导出,更新完了之后再导回数据库中。 我们用update语句可以很方便在数据库里完成更新。 语句: update 要修改数据的表名 set 修改的列1=(

    2024年02月06日
    浏览(45)
  • 利用SQL语句创建、修改、删除、查看与使用数据库

    【技术路线图】 1、连接Mysql服务:mysql -u root -p 2、创建数据库:create database teacherdb; 注意:数据库的名字一旦创建后不可更改。 3、查看刚刚创建好的数据库:show databses; 4、删除数据库并查看是否删除掉:drop database teacherdb; 5、输出创建数据库时的SQL语句信息:show create dat

    2023年04月21日
    浏览(88)
  • SQLSERVER查看数据库日志方法和语句示例,已亲测。

    SQLSERVER查看数据库日志方法和语句示例,已亲测。 首先需要查看日志大小: EXEC sys.sp_enumerrorlogs; 可以获取存档编号(0指实时的),日期,日志大小 使用sql_devlopment工具;这里具体不在详细介绍了,很简单; **使用自带的 ​xp_readerrorlog 过程 ** xp_readerrorlog​ 一共有7个参数 :

    2023年04月10日
    浏览(37)
  • mysql语句查看数据库表所占容量空间大小

         六. 查看所有产生碎片的表 查看某个表的碎片大小 SHOW TABLE STATUS LIKE \\\'表名\\\'; 查询结果中的\\\'Data_free\\\'字段的值就是碎片大小。 7. 清理表碎片

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包