>  기사  >  데이터 베이스  >  Oracle이 테이블을 잠그는 이유

Oracle이 테이블을 잠그는 이유

hzc
hzc원래의
2020-06-09 13:27:114151검색

Oracle이 테이블을 잠그는 이유

oracle이 테이블을 잠그는 이유:

1. ORACLE에서 현재 시스템의 잠금 테이블 상황을 봅니다.

select * from v$locked_object

v$를 쿼리하여 <code>sid /code> 및 <code>objectid, v$locked_object拿到sidobjectid

然后用sidv$session链表查询是哪里锁的表,

用v$session中的objectid字段和dba_objectsid

그런 다음 sidv$session chain 테이블을 사용하여 테이블이 어디에 있는지 쿼리합니다. 잠김,

v$ 사용 세션의 objectid 필드는 dba_objectsid 필드와 연결됩니다.

자세한 잠금 테이블을 쿼리합니다. 상황.

다음과 같이 SQL을 쿼리합니다.

select sess.sid, 
       sess.serial#, 
       lo.oracle_username, 
       lo.os_user_name, 
       ao.object_name, 
       lo.locked_mode 
from v$locked_object lo, dba_objects ao, v$session sess, v$process p 
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

어떤 SQL이 테이블 잠금을 발생시켰는지 쿼리합니다. SQL은 다음과 같습니다.

select l.session_id sid, 
       s.serial#, 
       l.locked_mode, 
       l.oracle_username, 
       s.user#, 
       l.os_user_name, 
       s.machine, 
       s.terminal, 
       a.sql_text, 
       a.action 
  from v$sqlarea a, v$session s, v$locked_object l 
where l.session_id = s.sid and s.prev_sql_addr = a.address 
order by sid, s.serial#;

2. ORACLE 잠금 해제 방법

alter system kill session &#39;sid,serial#&#39;;
spid 잠긴 프로세스 번호
serial# v$session 这个视图中取出来的

권장 튜토리얼: "

Oracle 튜토리얼 🎜》🎜🎜

위 내용은 Oracle이 테이블을 잠그는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.