ORACLE 如何查询被锁定表及如何解锁释放session
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作
代码如下:
--锁表查询SQLSELECT object_name, machine, s.sid, s.serial#
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
--释放SESSION SQL:
--alter system kill session 'sid, serial#';
ALTER system kill session '23, 1647';
相关推荐
-
Oracle中的Connect/session和process的区别及关系介绍
Session:在计算机中,尤其是在网络应用中,称为"会话". Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间. Connect.session.process的区别: 一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process. 在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以
-
对于oracle对session进行跟踪的分析
跟踪 session 的活动,Oracle提供了很多种手段,不仅可以对当前连接的 session 进行跟踪, 也可以对其他用户的 session 进行跟踪:通过对 trace 档的分析,不仅可以掌握该 session 的活动, 也可以找出这个 session 中的瓶颈所在,对 session 的跟踪是 DBA 进行系统调优.故障诊断的常用方法. 对当前会话的活动进行跟踪及停止跟踪: alter session set sql_trace=true/false 对任意的 session 进行跟踪及
-
oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法
今天碰到一个问题,有一张表不能操作,很可能是被锁了,首先想到的是kill session,于是执行了下列的脚本找到是哪个session有问题: 查看表是否被锁 SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = 'TM' and a.id1 = b.object_id; 根据上面查询出的sid,找出对应的serial#: SELECT sid,se
-
Oracle中查看引起Session阻塞的2个脚本分享
用户A执行删除,但是没有提交. 复制代码 代码如下: SQL> delete from test where object_id<10; 已删除8行. 用户B执行删除或者更新id<10的记录,则被阻塞. 复制代码 代码如下: SQL> update test set flag='N' where object_id<10; 遇到这种阻塞,首先需要确定问题.可以使用以下脚本. 复制代码 代码如下: select t2.username,t2.sid,t2.serial#,t2.
-
ORACLE 如何查询被锁定表及如何解锁释放session
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码 代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id =
-
深入探讨: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对两个数据表交集的查询
正在看的ORACLE教程是:Oracle对两个数据表交集的查询.Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大.灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法. 下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高.使用方便. 第一种方法:利用操作符intersect intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是
-
使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名
MySQL中查询所有数据库名和表名 查询所有数据库 show databases; 查询指定数据库中所有表名 select table_name from information_schema.tables where table_schema='database_name' and table_type='base table'; 查询指定表中的所有字段名 select column_name from information_schema.columns where table_schema
-
oracle数据库查询所有表名和注释等
目录 查询库里所有表名和注释 查询所有表名 dba_tables.all_tables.user_tables区别 附:表字段注释拼接 总结 查询库里所有表名和注释 oracle中的模式,可以理解为mysql的数据库 -- 模式名大写 SELECT TABLE_NAME,COMMENTS from all_tab_comments where OWNER='模式名'; 查询所有表名 方法一: 指定Oracle用户名(即schema(模式),即库名)进行查询 -- 模式名大写 SELECT * F
-
Oracle结合Mybatis实现取表TOP 10条数据
之前一直使用mysql和informix数据库,查表中前10条数据十分简单: 最原始版本: select top * from student 当然,我们还可以写的复杂一点,比如外加一些查询条件? 比如查询前10条成绩大于80分的学生信息 添加了where查询条件的版本: select top * from table where score > 80 但是!!oracle中没有top啊!!!!那么该如何实现呢? 嗯,可以用rownum! oracle中原始版本 select * from st
-
Oracle分页查询的实例详解
Oracle分页查询的实例详解 1.Oracle分页查询: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM tab) A WHERE ROWNUM <= 40 ) WHERE RN >= 21; 这个分页比下面的执行时间少,效率高. 2. select * from (select c.*,rownum rn from tab c) where rn between 21 and 40 对比这两种写法,绝大多数的情况下,第一个
-
Oracle分页查询性能优化代码详解
对于数据库中表的数据的 Web 显示,如果没有展示顺序的需要,而且因为满足条件的记录如此之多,就不得不对数据进行分页处理.常常用户并不是对所有数据都感兴趣的,或者大部分情况下,他们只看前几页. 通常有以下两种分页技术可供选择. Select * from ( Select rownum rn,t.* from table t) Where rn>&minnum and rn<=&maxnum 或者 Select * from ( Select rownum rn,t.* fro
-
mysql、mssql及oracle分页查询方法详解
本文实例讲述了mysql.mssql及oracle分页查询方法.分享给大家供大家参考.具体分析如下: 分页查询在web开发中是最常见的一种技术,最近在通过查资料,有一点自己的心得 一.mysql中的分页查询 注: m=(pageNum-1)*pageSize;n= pageSize; pageNum是要查询的页码,pageSize是每次查询的数据量, 方法一: select * from table order by id limit m, n; 该语句的意思为,查询m+n条记录,去掉前m条,返
-
Oracle 9i轻松取得建表和索引的DDL语句
正在看的ORACLE教程是:Oracle 9i轻松取得建表和索引的DDL语句.我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事.我们通常的做法都是通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用.而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到. 从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候.在Oracle 9i中,我们可以直接通过执行dbms_metadata从
随机推荐
- jquery制作搜狐快站页面效果示例分享
- PHP+MySql+jQuery实现的"顶"和"踩"投票功能
- Dreamweaver 在onLoad运行***,发生了一个JavaScript错误
- java计算自然数中的水仙花数的方法分享
- 解决iOS7上UITextField限制字数输入导致崩溃问题的方法
- 整理JavaScript创建对象的八种方法
- bootstrap多层模态框滚动条消失的问题
- VB.NET 中删除DataGridView中所选行的小例子
- VC中Tab control控件的用法详细解析
- 详解利用nginx和docker实现一个简易的负载均衡
- 使用原生js写ajax实例(推荐)
- 做一个优秀程序员应该知道的15件事
- SQLServer 常用语句(按功能分)
- java多线程并发中使用Lockers类将多线程共享资源锁定
- PHP 内存缓存加速功能memcached安装与用法
- C#生成条形码图片的简单方法
- ASP.NET MVC4入门教程(四):添加一个模型
- android实现倒计时功能代码
- java编程求二叉树最大路径问题代码分析
- java实现学生成绩录入系统