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中查看引起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进行跟踪的分析
跟踪 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中的Connect/session和process的区别及关系介绍
Session:在计算机中,尤其是在网络应用中,称为"会话". Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间. Connect.session.process的区别: 一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process. 在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以
-
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从
随机推荐
- 解决用Access数据库建站维护不便的问题的方法
- php中判断一个字符串包含另一个字符串的方法
- 墨香:按键精灵使用入门
- javascript 面向对象编程基础:封装
- 一不小心就做错的JS闭包面试题
- winform中的ListBox和ComboBox绑定数据用法实例
- java多线程编程之向线程传递数据的三种方法
- 为python设置socket代理的方法
- blog程序新版本V2.0 Beta完成,提供V1.0全部源码下载
- 将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
- 基于Android CALL && SendMes Test的相关介绍
- 第一次接触Bootstrap框架
- 如何解决修改StaticText的字体
- linux文件上传,给文件或目录添加apache权限的方法
- oracle中lpad函数的用法详解
- java实现百度坐标的摩卡托坐标与火星坐标转换的示例
- C++编程中将引用类型作为函数参数的方法指南
- 基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法
- C语言typedef与复杂函数声明问题的深入解析
- Python3调用微信企业号API发送文本消息代码示例