oracle查看锁和释放锁

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt108

Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容。

(1)锁表查询的代码有以下的形式:

select count(*) from v$locked_object;

select * from v$locked_object;

(2)查看哪个表被锁

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;

(3)查看是哪个session引起的

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;

(4)杀掉对应进程

执行命令:alter system kill session‘1025,41‘;

其中1025为sid,41为serial#.

时间: 2024-10-13 07:54:47

oracle查看锁和释放锁的相关文章

ReentrantLock获取锁、释放锁源码浅析

JUC包下的ReentrantLock是基于Aqs模板实现的,它区分公平锁和非公平锁,内部实现了两个同步器,本文关注非公平锁部分. 伪代码 我们先看两个伪代码: 1.获取锁 1 if(获取锁成功) { 2 return 3 } else { 4 加入等待队列 5 for(死循环) { 6 if (获取到锁) { 7 return 8 } 9 阻塞线程 10 } 11 } 我们看到,如果一次获取成功则结束,如果没有获取成功将进入循环中,并且当前线程阻塞直到被唤醒并且获取到锁才结束. 2.释放锁 1

Oracle 查看锁和释放锁

--查找sid和serial#SELECT object_name, machine, s.sid, s.serial#FROM gv$locked_object l, dba_objects o, gv$session sWHERE l.OBJECT_ID = o.OBJECT_IDAND l.session_id = s.sid; SID    SERIAL# ORACLE_USERNAME---------- ---------- -----------------------------

Java - "JUC" ReentrantLock释放锁

Java多线程系列--"JUC锁"04之 公平锁(二) 释放公平锁(基于JDK1.7.0_40) 1. unlock() unlock()在ReentrantLock.java中实现的,源码如下: public void unlock() { sync.release(1); } 说明:unlock()是解锁函数,它是通过AQS的release()函数来实现的.在这里,"1"的含义和"获取锁的函数acquire(1)的含义"一样,它是设置&quo

加锁和释放锁的原理

加锁和释放锁的原理 当方法执行完后或者抛出异常后,都会释放锁 method1等价于method2,因为method1执行完以后会自动释放锁,而么method2使用lock.unlock()释放锁 反编译看monitor指令 被 synchronized 关键字修饰的方法.代码块,就是 monitor 机制的临界区 进入锁和释放锁是基于monitor来实现的 同步方法和同步代码块,monitor有两个指令,monitorenter会插入到同步代码块的位置,monitorexit会插入到方法块结束和

数据库中的行锁和表锁

一.事务并发调度的问题 脏读:A事务读取B事务尚未提交的更改数据,并在这个数据基础上操作.如果B事务回滚,那么A事务读到的数据根本不是合法的,称为脏读.在oracle中,由于有version控制,不会出现脏读. 不可重复读:A事务读取了B事务已经提交的更改(或删除)数据.比如A事务第一次读取数据,然后B事务更改该数据并提交,A事务再次读取数据,两次读取的数据不一样. 幻读:A事务读取了B事务已经提交的新增数据.注意和不可重复读的区别,这里是新增,不可重复读是更改(或删除).这两种情况对策是不一样

锁,表锁,行锁,页锁,共享锁,排他锁

一,概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则.对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外.MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别.MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁

【试验局】ReentrantLock中非公平锁与公平锁的性能测试

硬件环境: CPU:AMD Phenom(tm) II X4 955 Processor Memory:8G SSD(128G):/ HDD(1T):/home/ 软件环境: OS:Ubuntu14.04.3 LTS Java:JDK1.7 关于ReentrantLock中非公平锁和公平锁详细区别以及实现方式在这里不再叙述,有关ReentrantLock的源码解析参照. 首先我们用实例验证,非公平锁以及公平锁是否是其介绍的那样,非公平锁在获取锁的时候会首先进行抢锁,在获取锁失败后才会将当前线程加

MDL--元数据锁的锁请求与锁等待+元数据锁类对象

1 元数据锁的锁请求与锁等待 元数据锁在MySQL Server层,按照锁的状态被细分为两种,一种是已经施加的锁,一种是等待施加的锁即锁请求,这样被区分的原因,如MySQL对"class MDL_request"的代码注释作了解释: /** A pending metadata lock request. A lock request and a granted metadata lock are represented by different classes because the

Java锁?分布式锁?乐观锁?行锁?

Tomcat的锁 Tomcat是这个系统的核心组成部分, 每当有用户请求过来,Tomcat就会从线程池里找个线程来处理,有的执行登录,有的查看购物车,有的下订单,看着属下们尽心尽职地工作,完成人类的请求,Tomcat就很有成就感. 与此同时,它也很得意,所有的业务逻辑尽在掌握.MySQL算啥!不就是一个保存数据的地方吗? Redis算啥!不就是一个加快速度的缓存吗? 没有他们,我也能找到替代品,而我不可替代的, Tomcat经常这么想. 昨天MySQL偶然说起隔壁机器入驻了一个叫做Node.js