Q & A

Re: lock의 의미

Date2002.08.14 / Hit : 15547
lock의 의미
오렌지를 사용해 주셔서 감사합니다. 먼저 Lock에 대해 말씀드리겠습니다. 둘중 Mode가 X 인 것은 type 이 TX 로 되어 있고, 이는 'Transaction Lock' 입니다. Rollback을 위해 RBS에 entry 를 생성하는데, 여기에 걸리는 Lock입니다. Mode가 SX 인 다른 하나는 TM lock 으로, DML Lock 입니다. 특수한 경우도 있습니다만, 일반적인 DML에서는 반드시 2개가 같이 생기게 되어 있습니다. 그리고, 정상적인 경우라면 SELECT 에는 Lock이 생기지 않습니다. 분산시스템인 경우(DB Link를 사용하는 경우)에는 SELECT 시에도 Lock이 생길 수도 있습니다. 분산 Query 가 아니라면 Query를 실행하기 전에 또는 실행 후에 분명히 다른 DML이 실행되고 있을 것입니다. 예를 들면, 작업을 수행하면 이에 대한 로그를 남긴다던가 하는 것이 있을 수 있겠습니다. Lock이 걸리는 경우, TM Lock은 대상 테이블이 명시되므로(버전 2.0.2.7.2 이상) 이를 참고하시면 원인 파악에 도움이 될 것입니다. DBMS를 사용하면서 Lock이 생기는 것은 당연한 일입니다. DML을 하면 무조건 Lock이 생기게 되어 있기 때문입니다. 대규모의 시스템일수록 Lock List는 길어지는 게 당연합니다. 문제가 되는 상황은 Lock List가 긴 것이 아니고, "Lock Tree" 가 형성되는 경우입니다. 이 경우에는 하나의 작업 때문에 다른 작업이 수행되지 못하고, 선행 작업이 끝나기를 대기하는 일이 생기기 때문에 작업이 병렬로 처리되지 못하고, Sequential 하게 수행되게 됩니다. Multi-User 를 지원하지 못하는 시스템이 될 수 있습니다. 이런 관점에서 Lock을 보시면 될 것 같습니다. 도움이 되었기를 바랍니다.

---------- Original Message ----------
이름 : 박정옥 제목 : lock의 의미 안녕하세요..덕분에 오렌지를 이용하여 db 관리를 하고 있는 유접니다. 궁금한것은 lock 모니터링을 해보면 항상 하나의 작업에 mode가 X와 SX두가지가 뜨는데 이 mode의 의미가 무엇이고 왜 두개의 lock걸리는지 궁금합니다.. 그리고 저희 개발환경이 UNIX, Oracle8i , proC등을 사용하는데, 관리 프로그램으로 delphi4 로 개발한 MIS program을 사용하고 있습니다. 문제는 이 MIS 툴에서 사용되는 select를 할때 매번 작업이 끝날때 까지 lock 모니터에 해당 툴에 대한 lock 정보가 뜬다는 겁니다 (두줄이...) 개발자는 (제가 보기엔 오라클을 잘 모르는것 같은데.) lock 이 걸릴리 없다고 하는데 .. 오렌지에서 lock모니터에 보이는 record는 어느정도 심각하게 고려해야할 정보인지... 원래 select에도 lock이 걸리는건지...궁금합니다. 저희는 대용량의 data를 많이 가공하니깐 fullscan등이 많이 일어나지만 그런작업에 걸리는 lock보다 그 MIS 툴에서 걸리는 lock이 더 많거든요..이상해요. 참고는 저희회사는 billing업체랍니다.
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728