Oracle

게시글 보기
작성자 유건데이타 등록일 2019-02-07
제목 dblink 에서 select 시 왜 lock 이 발생하는지?




SQL> select count(*) from emp@dblink;

COUNT(*)
----------
14

SQL> select sid from v$mystat where rownum=1;

SID
----------
125

SQL> select sid,type,id1,id2,lmode,request,block from v$lock where SID=125;

SID TY ID1 ID2 LMODE REQUEST BLOCK
---------- -- ---------- ---------- ---------- ---------- ----------
125 AE 100 0 4 0 0
125 DX 16 0 4 0 0 <<<<<<<<<< DX lock 이 발생 => distributed execution lock 으로서 distributed transaction을 보호하기 위한 lock 이고
125 TX 327696 1144 6 0 0 <<<<<<<<<< TX lock 이 발생.=> undo segment에 mode 6 즉 exclusive 모드로 TX lock을 획득합니다.


SQL> commit;

Commit complete.

// commit 후에 lock이 해소됨.
SQL> select sid,type,id1,id2,lmode,request,block from v$lock where SID=125;

SID TY ID1 ID2 LMODE REQUEST BLOCK
---------- -- ---------- ---------- ---------- ---------- ----------
125 AE 100 0 4 0 0
Comment
등록된 코멘트가 없습니다.