Oracle解锁的方式介绍
1、 查看当前被解锁的对象
示例: 将表aa加锁 执行 select * from aa for update;
方式一:通过SQL查询
select 'alter system kill session ',''''||trim(t2.sid)||','||trim(t2.serial#)||''';'
from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
执行结果
方式二:在PL/SQL环境下 工具-->会话-->All sessions 通过点击每条记录,查看下面的
可以查看到被锁住的表AA以及Sid,Serial#。
2、解锁方式
使用DBA身份,通过执行 alter system kill session 'SID,SERIAL#';(例如本例中的alter system kill session '119,36260';)即可解锁
相关推荐
-
快速查出Oracle数据库中锁等待的方法
通常在大型数据库系统中,为了保证数据的一致性,在对数据库中的数据进行操作时,系统会进行对数据相应的锁定. 这些锁定中有"只读锁"."排它锁","共享排它锁"等多种类型,而且每种类型又有"行级锁"(一次锁住一条记录),"页级锁"(一次锁住一页,即数据库中存储记录的最小可分配单元),"表级锁"(锁住整个表).若为"行级排它锁",则除被锁住的该行外,该表中其它行均可被其它的
-
Oracle外键不加索引引起死锁示例
--创建一个表,此表作为子表 create table fk_t as select *from user_objects; delete from fk_t where object_id is null; commit; --创建一个表,此表作为父表 create table pk_t as select *from user_objects; delete from pk_t where object_id is null; commit; --创建父表的主键 alter table PK
-
查看Oracle中是否有锁表的sql
1.查看是否有锁表的sql 复制代码 代码如下: select 'blocker('||lb.sid||':'||sb.username||')-sql:'|| qb.sql_text blockers, 'waiter ('||lw.sid||':'||sw.username||')-sql:'|| qw.sql_text waiters from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw wher
-
ORACLE锁机制深入理解
数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 加锁是实现数据库并发控制的一个非常重要的技术.当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁.加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作. 在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Lo
-
oracle scott 解锁步骤
运行cmd sqlplus/nolog 回车 SQL>conn/as sysdba 回车 SQL>alter user scott account unlock; 回车 SQL>disconnect 回车 SQL>conn scott/tiger@orcl;回车 然后输入两次新定义的口令分别回车确认: window SQL>$cls (清屏)
-
oracle查看会话锁定的所有对象代码分享
复制代码 代码如下: select session_id sid, owner, name, type, mode_held held, mode_requested request from DBA_DDL_LOCKS where session_id=(select sid from V$mystat where rownum=1) / (注:owner 列是所锁定对象的所有者)
-
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表: SELECT A.OWNER, --OBJECT所属用户 A.OBJECT_NAME, --OBJECT名称(表名) B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, --锁表用户的session B.ORACLE_USERNAME
-
oracle查看被锁的表和被锁的进程以及杀掉这个进程
-- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v$locked_object b, all_objects c WHERE p.addr = a.paddr AND a.process = b.process AND c.object_id = b.object_id -- 2.
-
Oracle对于死锁的处理方法
Oracle数据库出现死锁的时候可以按照以下处理步骤加以解决: 第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉!但通常情况下,出现死锁时,想通过命令行或者通过Oracle的管理工具删除有死锁的session,oracle只会将该session标记为killed,但无法清除掉,往往需要通过第二步在操作系统层级进行删除! Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 Connected as
-
在命令行下进行Oracle用户解锁的语句
在DBA的日常工作中,经常遇到为Oracle用户解锁的操作:这篇文章给出在命令行下进行Oracle用户解锁的操作方法,通过几条简单的解锁语句就能完成此项工作.下面是具体的过程: 默认的scott用户是被锁定的,先解锁就能登陆上了. 使用下面的语句解锁scott: 复制代码 代码如下: alter user scott account unlock; 解锁之后可能会要求你该密码: 复制代码 代码如下: alter user scott identified by tiger; 再登陆: 复制代码
随机推荐
- 使用vue和datatables进行表格的服务器端分页实例代码
- 分享一下Python 开发者节省时间的10个方法
- ADO.NET无连接模式的详细介绍
- DHTML 中的绝对定位
- asp.net安全、实用、简单的大容量存储过程分页第1/2页
- Python高级应用实例对比:高效计算大文件中的最长行的长度
- JSP中动态include与静态include的区别介绍
- WPF实现时钟特效
- Js基础学习资料
- JavaScript中定义对象原型的两种使用方法
- Java中对list元素进行排序的方法详解
- SQL Server2014 哈希索引原理详解
- 酷炫jQuery全屏3D焦点图动画效果
- 深入理解Android中的xmlns:tools属性
- PHP的error_reporting错误级别变量对照表
- 如何测试局域网的网速及数据吞吐量
- Java/Web调用Hadoop进行MapReduce示例代码
- JavaScript深拷贝和浅拷贝概念与用法实例分析
- Mysql数据库乱码问题的对应方式
- SpringBoot中获取微信用户信息的方法