查询oracle 数据库里有哪些表锁死

查询oracle 数据库里有哪些表锁死,第1张

用如下语句查询锁死的表:

select pspid,

       aserial#,

       cobject_name,

       bsession_id,

       boracle_username,

       bos_user_name

  from v$process p, v$session a, v$locked_object b, all_objects c

 where paddr = apaddr

   and aprocess = bprocess

   and cobject_id = bobject_id;

其中object_name就是被锁的表名,如图:

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

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

select count() from v$locked_object;

select from v$locked_object;

(2)查看哪个表被锁

select bowner,bobject_name,asession_id,alocked_mode from v$locked_object a,dba_objects b where bobject_id = aobject_id;

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

select busername,bsid,bserial#,logon_time from v$locked_object a,v$session b where asession_id = bsid order by blogon_time;

(4)杀掉对应进程

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

其中1025为sid,41为serial#

详细步骤如下:

1、点击新建查询按钮,打开SQL命令编辑框,对数据库表的 *** 作以及维护都可以通过编辑SQL命令实现。

2、在编辑框内编辑创建数据库表的代码,确认代码无误后,单击执行按钮,创建数据表。

3、创建数据表的源代码如下:

use test go

if exists(select name from systables where name='Student')

drop table Student go

create table Student

(sname nchar(10) primary key,

sex nchar(2) not null,

bir datetime)

数据库管理系统,database management system,简称dbms,是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储,存结构保存在内部的数据字典中。数据库的各种数据 *** 作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。

查看被锁表:

select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName

from sysdm_tran_locks where resource_type='OBJECT'

spid 锁表进程

tableName 被锁表名

以上就是关于查询oracle 数据库里有哪些表锁死全部的内容,包括:查询oracle 数据库里有哪些表锁死、查看oracle是否锁表、sqlserver怎么用sql查看具体那个表被锁住了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9418812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存