1.登录系统,建用使用system登录,不然需要赋权给相应的用户

赋权(sys登录状态)rant connect,resource,dba to TSAMS(用户名)

2.锁表涉及的表及视图

--当前拥有的锁以及未完成的锁请求:如果你觉着 session 处于等待事件队列当中,那你应该检查视图v$lock

SELECT * FROM v$lock;

--持续跟踪所有shared pool中的共享cursor,在shared pool中的每一条SQL语句都对应一列。本视图在分析SQL语句资源使用方面非常重要

SELECT * FROM v$sqlarea;

--每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等

SELECT * FROM v$session;

--描述的对象是一个当前存在的会话(该会话不是包括当前连接到数据库的会话,这只是数据库前台服务器进程的会话,还有数据库后台进程的会话,它是没有连接的)。

SELECT * FROM v$process ;

--报发生等待的表级锁(好像不能报发生等待的行级锁,待验证啊)

SELECT * FROM v$locked_object;

--自己能看的,包括自己拥有的;

SELECT * FROM all_objects;

--任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件)。当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向。

SELECT * FROM v$session_wait;

以上都是分析使用的,没时间研究,下面的语句直接拿来用好啦

3.查询被锁表及进程

--查看被锁的表
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;

--查看哪个用户哪个进程造成死锁
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;

--查看连接的进程
SELECT sid, serial#, username, osuser FROM v$session;

--查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,mode
SELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine,
s.terminal, s.logon_time, l.type
FROM v$session s, v$lock l
WHERE s.sid = l.sid
AND s.username IS NOT NULL
ORDER BY sid;

这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,
任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。

--杀掉进程 sid,serial#

ALTER system KILL session 'SID,serial#';

列:alter system kill session'210,11562';

plsql查询是否锁表Oracle相关推荐

  1. mysql联表查询count错误_关于count(*)和联表查询和锁表的问题

    刚开始学MySQL,在描述时候假如有不对的地方,希望各位大大指出. 本人在看书的时候看到了这么一句,在生产环境中请不要随意使用count(*),原因是它将会进行表级锁定(inno DB下). 原因是最 ...

  2. Oracle 临时表、数据闪回、查询被锁表、系统常用表、及常用操作

    目录 Oracle 系统常用表/视图 Oracle 临时表概述与创建 flashback  闪回表中被删除的数据 flashback  闪回整个被 drop 的表 查询 Oracle 中被锁定的表 查 ...

  3. oracle查看谁锁表,ORACLE 如何查询哪个用户锁表?

    关键字: 锁表 1.select * from v$locked_object 2.select * from v$session where sid = 296 alter   system   k ...

  4. mysql锁表查询_mysql锁表查询(mysql查询锁表语句)

    mysql锁表查询(mysql查询锁表语句) 2020-07-24 11:44:55 共10个回答 怎么查找mysql中的锁表语句showprocesslist;SHOWPROCESSLIST显示哪些 ...

  5. oracle非管理员锁表,oracle默认管理员的帐号和密码以及密码修改和解除锁定

    安装 ORACLE 时,若没有为下列用户重设密码,则其默认密码如下: 用户名 / 密码 登录身份 说明 sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMA ...

  6. oracle 查询 非系统表,Oracle冷备----删除非系统表空间

    1.备份文件 define fil=/home/Oracle/cdbk.sql define log=/home/oracle/cdbk.log spool &fil prompt conne ...

  7. php oracle 锁表,ORACLE 用户锁定问题

    在开发环境下,由于直接修改了数据库用户的密码,之后一直不能连接,及时执行alter user username account unlock 还是提示用户锁定.刚开始只是怀疑是数据库的问题,就一直在数 ...

  8. oracle数据库怎么锁表,oracle数据库表锁住

    1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...

  9. php查询锁表情况,MySQL update where in 子查询导致锁表

    说实话,我第一次碰都这样的报错,因为我在 update 语句的条件里面使用了子查询,我以为执行会很快,因为子查询我试过,就一两秒的事情,数据也没多少个,90 来条数据,修改的条件是主键 ID,整个 S ...

最新文章

  1. Web Api学习一
  2. 如何从SEO优化角度设计网站导航栏?
  3. 人脸和性别识别(基于OpenCV)
  4. 图例符号居中显示_R可视化08|ggplot2图层-标度图层(scale layer)-图例篇
  5. eureka客户端在执行过程中都做了哪些事
  6. 动态绑定dropdownlist --开始拣.NET
  7. 激光打标机不能刻字的处理
  8. 【QT】QSS使用总结
  9. STM32CUBEIDE 安装报错 error launching installer 解决办法
  10. 超级计算机也无法算尽圆周率,圆周率如果被算尽意味着什么?
  11. 常见 Oracle HINT 的用法
  12. 1.1 统计学习方法的定义与分类
  13. 为什么能登上qq微信,但是打不开浏览器
  14. 面向6G网络的太赫兹通信技术研究综述
  15. DeFi:解决 EIP-4626 中的滑点问题
  16. empty: false 关于这个问题的解决
  17. 网站推广实战:100条不容错过的经验
  18. Dockerfile创建Wordpress论坛
  19. React应用篇:实现文本不可复制
  20. Spring Cloud Gateway实现网关统一鉴权,网关统一Token认证

热门文章

  1. Android 基础 View 系列之 仿IPhone 开关控件
  2. 互联网+制造上演两马战:腾讯向左、阿里向右
  3. activiti报错 cvc-datatype-valid.1.2.1: ‘‘ 不是 ‘NCName‘ 的有效值。
  4. C4D云渲染平台哪家好?
  5. 到底什么才是真正的双核浏览器
  6. 单片机实验----跑马灯
  7. Hystrix-微服务架构服务调用的“保护伞“
  8. matlab 单尾检验,生物统计学系列教程——From-ZJU-CAS(第一篇).pdf
  9. mysql数据库teach_读书笔记 - 《MYSQL必知必会》
  10. 爱联模组接入华为hilink总结——调试问题汇总(二)