database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 38440 게시물 읽기
No. 38440
테이블명으로 lock 잡고 있는 세션 찾을수 있나요?
작성자
오라클 왕초보
작성일
2011-03-16 15:58
조회수
8,629

안녕하세요

예를 들면 제가 drop table TEST;  할려고 했더니

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
 

이런 에러가 나왔습니다.

다른 세션에서 해당 테이블에 DML 을 날렸거나 ddl 문을 날렸다는건데요

현재 dml 중일수도 있고.. DML 날리고 commit 을 안하고 다른 작업을 하고 있을수도 있고요..

그래서.. 만약 저 에러가 나면.. 어떤 세션이 해당 테이블을 사용하고 있는지 알수 있는 방법이 있나요?

이 글에 대한 댓글이 총 2건 있습니다.

select a.sid,
decode(a.type,
'MR', 'Media Recovery',
'RT', 'Redo Thread',
'UN', 'User Name',
'TX', 'Transaction',
'TM', 'DML',
'UL', 'PL/SQL User Lock',
'DX', 'Distributed Xaction',
'CF', 'Control File',
'IS', 'Instance State',
'FS', 'File Set',
'IR', 'Instance Recovery',
'ST', 'Disk Space Transaction',
'IR', 'Instance Recovery',
'TS', 'Temp Segment',
'IV', 'Library Cache Invalidation',
'LS', 'Log Start or Switch',
'RW', 'Row Wait',
'SQ', 'Sequence Number',
'TE', 'Extend Table',
'TT', 'Temp Table',
a.type) lock_type,
decode(a.lmode,
0, 'None', /* Non Lock equivalent */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
to_char(a.lmode)) mode_held,
decode(a.request,
0, 'None', /* Mon Lock equivalent */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
to_char(a.request)) mode_requested,
to_char(a.id1) lock_id1, to_char(a.id2) lock_id2
from v$lock a
where (id1,id2) in
(select b.id1, b.id2 from v$lock b where b.id1=a.id1 and
b.id2=a.id2 and b.request>0);

수고님이 2011-03-16 18:37에 작성한 댓글입니다. Edit

전문 DBA 들은 수고님처럼 v$lock 을 쓰지만, 초보님은 select * from dba_dml_locks where name = 'TEST' 를 사용해도 됩니다.   그리고, dba_ddl_locks 도 있읍니다.

hopper(bunny)님이 2011-04-01 09:29에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38443[질문]참조키 분석을 한꺼번에 볼수 있는지요
안동석
2011-03-17
3742
38442동일한 구조로 된 두 테이블간의 여집합 데이터 insert 작업 [2]
mongmong
2011-03-17
7011
38441공휴일을 제외한 일수 계산하기 [1]
도와주세요
2011-03-16
13254
38440테이블명으로 lock 잡고 있는 세션 찾을수 있나요? [2]
오라클 왕초보
2011-03-16
8629
38439connect by 쿼리 질문입니다.
sql초보
2011-03-16
4532
38438쉘 스크립트에서 sqlpus를 실행하는 방법을 알려주세요 [1]
김연오
2011-03-15
4712
38437VIEW관련 .. [4]
궁금이
2011-03-14
4211
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다