数码资讯
Oracle查询锁定表和解锁条件提供解决方案
如果锁在等着,我们可能想知道是谁锁了手表,谁在等它呢。 以下语句可用于查询锁定表的人员: 复制代码代码如下所示: 选择规则 / / * + s.username, 解码(l.type,'tm }}锁, 发送,'row锁, lock_level空), O.owner,o.object_name,o.o
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
如果锁在等着,我们可能想知道是谁锁了手表,谁在等它呢。
以下语句可用于查询锁定表的人员:
复制代码代码如下所示:
选择规则 / / * + s.username,
解码(l.type,'tm }}锁,
发送,'row锁,
lock_level空),
O.owner,o.object_name,o.object_type,
S.sid,s.serial #,s.terminal,机,计划s.osuser
从V $ SESSION,V $锁L,dba_objects O
在l.sid = s.sid
和l.id1 = o.object_id(+)
和s.username不空
下面的语句可以用来询问谁在等待:
复制代码代码如下所示:
选择 / * +规则/模式('',解码(l.xidusn,0,3,0)| | l.oracle_username)user_name,o.owner,o.object_name,o.object_type,s.sid,s.serial #
从V locked_object美元,dba_objects O、V $ SESSION的
在l.object_id = o.object_id
和l.session_id = s.sid
为了o.object_id,xidusn desc
解锁命令:
复制代码代码如下所示:
改变系统杀死session'sid,串行#
1)。
复制代码代码如下所示:
选择lock_info.owner lock_info.obj_name | | | |锁对象名称(对象名称已经被锁定)
lock_info.subobj_name锁定对象名称
sess_info.machine机器名称--机器名
lock_info.session_id会话ID
sess_info。串行# 会议系列#
sess_info.spidSPID的OS系统
(选择V $实例instance_name)实例名称SID
lock_info.ora_usernameOracle用户
lock_info.os_username 操作系统的用户
lock_info.process 进程数——进程数
lock_info.obj_id对象ID
lock_info.obj_type对象类型——对象类型
sess_info.logon_time 登录时间
sess_info.program程序名——程序的名字
sess_info.status会话状态
sess_info.lockwait 锁--等待锁
sess_info.action 行动
sess_info.client_info 客户信息--客户信息
从(选择obj.owner作为所有者,
obj.object_name作为obj_name,
obj.subobject_name作为subobj_name,
obj.object_id作为obj_id,
obj.object_type作为obj_type,
lock_obj.session_id作为session_id,
lock_obj.oracle_username作为ora_username,
lock_obj.os_user_name作为os_username,
lock_obj.process过程
从(选择*)
从all_objects
在那里object_id(选择object_id V $ locked_object obj)),
V locked_object美元lock_obj
在obj.object_id = lock_obj lock_info object_id),
(选择SID,
串行#,
锁等待,
现状,
(选择SPID V过程中地址=美元a.paddr)SPID,
程序,
行动,
client_info,
logon_time,
机
从V $会议)sess_info
在lock_info.session_id = sess_info.sid
为了lock_info.session_id;
2)。
复制代码代码如下所示:
选择sql_text
从V sqltext美元
地址在哪里(选择sql_address V $ SESSION在SID = SID)
逐件交货;
3)。
复制代码代码如下所示:
改变系统杀死会话的会话ID,会话序列#;
4)。
该杀的SPID 9 OS系统
以下语句可用于查询锁定表的人员:
复制代码代码如下所示:
选择规则 / / * + s.username,
解码(l.type,'tm }}锁,
发送,'row锁,
lock_level空),
O.owner,o.object_name,o.object_type,
S.sid,s.serial #,s.terminal,机,计划s.osuser
从V $ SESSION,V $锁L,dba_objects O
在l.sid = s.sid
和l.id1 = o.object_id(+)
和s.username不空
下面的语句可以用来询问谁在等待:
复制代码代码如下所示:
选择 / * +规则/模式('',解码(l.xidusn,0,3,0)| | l.oracle_username)user_name,o.owner,o.object_name,o.object_type,s.sid,s.serial #
从V locked_object美元,dba_objects O、V $ SESSION的
在l.object_id = o.object_id
和l.session_id = s.sid
为了o.object_id,xidusn desc
解锁命令:
复制代码代码如下所示:
改变系统杀死session'sid,串行#
1)。
复制代码代码如下所示:
选择lock_info.owner lock_info.obj_name | | | |锁对象名称(对象名称已经被锁定)
lock_info.subobj_name锁定对象名称
sess_info.machine机器名称--机器名
lock_info.session_id会话ID
sess_info。串行# 会议系列#
sess_info.spidSPID的OS系统
(选择V $实例instance_name)实例名称SID
lock_info.ora_usernameOracle用户
lock_info.os_username 操作系统的用户
lock_info.process 进程数——进程数
lock_info.obj_id对象ID
lock_info.obj_type对象类型——对象类型
sess_info.logon_time 登录时间
sess_info.program程序名——程序的名字
sess_info.status会话状态
sess_info.lockwait 锁--等待锁
sess_info.action 行动
sess_info.client_info 客户信息--客户信息
从(选择obj.owner作为所有者,
obj.object_name作为obj_name,
obj.subobject_name作为subobj_name,
obj.object_id作为obj_id,
obj.object_type作为obj_type,
lock_obj.session_id作为session_id,
lock_obj.oracle_username作为ora_username,
lock_obj.os_user_name作为os_username,
lock_obj.process过程
从(选择*)
从all_objects
在那里object_id(选择object_id V $ locked_object obj)),
V locked_object美元lock_obj
在obj.object_id = lock_obj lock_info object_id),
(选择SID,
串行#,
锁等待,
现状,
(选择SPID V过程中地址=美元a.paddr)SPID,
程序,
行动,
client_info,
logon_time,
机
从V $会议)sess_info
在lock_info.session_id = sess_info.sid
为了lock_info.session_id;
2)。
复制代码代码如下所示:
选择sql_text
从V sqltext美元
地址在哪里(选择sql_address V $ SESSION在SID = SID)
逐件交货;
3)。
复制代码代码如下所示:
改变系统杀死会话的会话ID,会话序列#;
4)。
该杀的SPID 9 OS系统
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。