Oracle数据库表被锁问题处理

半仙 自动化运维

在操作Oracle数据库的时候,有时候会由于操作不当等引起数据库表被锁定,锁定后表不能修改,在前端直接反应就是业务无法正常操作,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到哪个会话被锁定了,想找到所以被锁的对象就更难了,此时我们经常不知所措,不知怎么给这些表解锁,由于手忙脚乱匆忙作出处理,小问题变成大问题。

其实出现此类问题此时不要慌,按照查找问题---解决问题的思路可以顺利解决,首先找出哪个会话被锁,然后将此会话Kill掉,不用担心数据损坏,未提交的业务将自动回退,具体方法如下:

--------------------------------查看被锁的表--------------------------

[oracle@orcl]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 6 10:26:09 2018

Copyright (c) 1982, 2013, Oracle. All rights reserved.

SQL> conn /as sysdba

Connected.

---------------查看那个用户那个进程照成死锁---------------

SQL> select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

SQL> select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

USERNAME SID SERIAL# LOGON_TIM

------------------------------ ---------- ---------- ---------

************ 59 4587 06-NOV-18

--------------------------------杀掉锁表的进程----------------------

SQL> alter system kill session '59,4587';

System altered.

----------------------------确认被锁定的表被释放---------------------------

SQL> select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

no rows selected

SQL>

oracle数据库中表被锁,Oracle数据库表被锁问题处理相关推荐

  1. MySQL中的锁机制、MyISAM表锁、MyISAM表级锁争用情况、MyISAM并发插入Concurrent Inserts、MyISAM的锁调度

    前言: 关于读锁.写锁.乐观锁.悲观锁.行锁.表锁的理解可以看看以前我写的: 读锁.写锁.乐观锁.悲观锁.行锁.表锁 内部锁:在MySQL服务器内部执行的锁,以管理多个会话对表内容的争用.这种类型的锁 ...

  2. Oracle中事务锁(锁住的表、锁住的会话)

    1.查看锁住的表 SELECT b.owner,b.object_name,a.session_id,a.locked_modeFROM v$locked_object a ,dba_objects ...

  3. 删除mysql数据库中表abc语句_MySQL数据库常用命令大全

    我们经常用到的MySQL数据库常用命令 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mys ...

  4. mysql表级锁和行级锁_Mysql的表级锁和行级锁

    表级锁 MySQL表级锁分为读锁和写锁. 读锁 用法:LOCK TABLE table_name [ AS alias_name ] READ 释放锁使用UNLOCK tables.可以为表使用别名, ...

  5. 创建触发器,将数据库中表的修改记录进日志表

    要求: 假定有一个数据库,有10张表,每张表都有inputuser和createtime,modifyuser,modifytime 4个字段用来记录数据库记录的变动 请为该数据库建立一个日志表,可以 ...

  6. MYSQL数据库中表的进阶玩法——表分区

  7. Oracle 9i 10g编程艺术-深入数据库体系结构——第6章:锁

    第6章                      锁 开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就 ...

  8. mysql 数据库表被锁住了_mysql数据库锁的产生原因及解决办法

    数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性 ...

  9. asp.netcore oracle,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

  10. asp连接oracle 服务端,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

最新文章

  1. c语言未结束的引用标识符,2015年9月计算机二级《C语言》高分突破模拟卷(4)
  2. 小学生 python教程-小学生都在学python
  3. 南昌大学c程序计算机作业,南昌大学计算机作业第二章答案
  4. 一文搞定Linux shell脚本编程( 史上最全汇总 )
  5. SAP UI5 busy dialog released more often than required
  6. jQuery 遍历 each()方法
  7. 任意线段集生成多边形_self-attention缺失文本生成||Text Infilling
  8. 人均34万,腾讯为3300名员工发11亿红包;B站回应大会员补偿会自动续费;​小米销量超苹果跻身全球第二|极客头条...
  9. cad生成最小包围盒lisp_cad.net 葛立恒凸包算法和面积最小包围盒
  10. itext7 java转pdf添加图片
  11. HDU 2201 熊猫阿波问题==金刚坐飞机问题
  12. 职业高中计算机英语必背单词,高中英语3500个必背单词.pdf
  13. 详解网站源码是什么到底该怎么使用?
  14. 关于猎聘网投递简历后的“已储备”状态
  15. 编程java好学吗,编程好学吗?零基础学多久能入门?
  16. 世界经典电影Top 50
  17. 广受青睐的题材---蒸汽朋克[Steampunk](转)
  18. CentOS docker 部署 flask + uWSGI + Nginx + Supervisor错误
  19. swiper轮播图切换指示点改变背景颜色
  20. 34-电影排行榜上(布局界面)

热门文章

  1. anaconda下载的python在哪_Anaconda下Python环境下载及安装
  2. Buildroot构建指南——Linux内核
  3. java 6 jaxb_JAVA6开发WebService (五)—— JAXB
  4. 每周分享第 19 期(20190426)
  5. presto spill to disk
  6. (二)Linux下的crontab定时执行任务命令详解
  7. SQL Server-聚焦WHERE Column = @Param OR @Param IS NULL有问题?
  8. SSM高级整合_非Maven控制版本下SSM高级整合
  9. VIM使用系列:转换文本大小写
  10. 九个著名科技公司的十位CEO的办公桌照片