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
운영게시판
최근게시물
Informix Q&A 1026 게시물 읽기
No. 1026
lock 설정에 관한 질문
작성자
서상배
작성일
2001-09-19 18:25
조회수
6,193

Informix 상에서 ESQL/C로 프로그램을 작성하다가 발생한

문제에 대해서 질문드립니다.

 

질문 사항은 아래와 같습니다.

1. 유닉스 상에서 서버 프로그램이 돌고 있다가 클라이언트가 보내온

정보에 따라 DB의 내용을 수정해 주는 프로그램입니다.

그런데 DB를 처리함에 있어서 접속하는 클라이언트가 조금의

시간을 두고 접속해서 DB에 대한 처리를 요구하면 별다른 문제가 발생하

지 않았는데 만약 최대 120개에서 180개의 프로세스가 동시에 접속해서

DB에 대한 같은 처리를 요구하면 에러가 발생해서 아래와 같은 방법으로

lock을 설정해 주었습니다.

 

EXEC SQL begin work;

EXEC SQL set lock mode to wait;

EXEC SQL set lock table 테이블명 in exclusive mode;

 

위의 방식으로 처리했더니 별다른 문제가 발생하지 않았습니다.

그런데 위의 문장들의 정확한 의미를 알수가 없습니다.

첫문장은 트랜잭션을 설정하기 위한 문장이고 두번째 문장은 lock mode

를 설정해 주는 문장이고 마지막 문장은 사용하는 테이블에 lock을 설정

하는 문장인것은 알고 있습니다.

그렇다면 만약 120개의 프로세스가 동시에 접속해서 똑같은 처리를 요구

할 때 120개의 프로세스 중에서 한 프로세스가 위의 문장을 수행하고

다음 절차를 수행하고 있는 동안 다른 프로세스들은 어떻게 해서 lock이

설정되는 것인지 알고 싶습니다.

 

즉 다시 말하자면 이미 트랜잭션이 걸려 있으면 다른 프로세스들은

트랜잭션을 수행하지 못하므로 위의 문장 중에서 첫 문장만으로도

lock이 설정되는 것인지 아니면 두번째 문장에서 lock mode가 설정

되어 있으므로 다른 프로세스들은 lock mode가 해제될 때 까지

계속 대기 상태에 있는 것인지 만약 그렇다면 실제로 세번째 문장을

실행할 필요가 없이 두 번째 문장 만으로도 lock 이 설정되기 때문에

세번째 문장을 실행할 필요가 없는 것입니까

 

그것도 아니라면 실제 lock은 세번째 문장에서 설정되는데 이미 한 프로

세스가 lock을 설정했기 때문에 다른 프로세스들은 두 번째 문장에 의해

서 lock이 해제 될 때 까지 대기 상태에 있는 것인지 궁금합니다.

 

2. 트랜잭션에 대한 정확한 의미를 알고 싶습니다. 트랜잭션이란 것이

lock의 의미도 포함하고 있는 것인지.. 그리고 만일 같은 작업을 요구할

때 한 프로세스나 프로그램이 이미 트랜잭션을 설정해 놓았다면

다른 프로세스나 프로그램은 트랜잭션 안에서 사용되는 테이블이

같은 경우 그 테이블에 트랜잭션을 설정하지 못하는 것인지..

그리고 테이블도 사용하지 못하는 것인지 알고 싶습니다...

 

질문이 너무 장황한가요..

고수님들의 답변 부탁드리겠습니다.

 

그럼 ^^

[Top]
No.
제목
작성자
작성일
조회
1032unix_oracle게시판에서 멀티로 인포믹스 db이용하는..
이난이
2001-09-26
6038
1044┕>Re: unix_oracle게시판에서 멀티로 인포믹스 db이용하는..
이윤석
2001-09-30 10:56:08
6303
1029informix select문에서 index사용법??
고재성
2001-09-25
6367
1030┕>Re: informix select문에서 index사용법??
man
2001-09-25 14:50:11
6833
1031 ┕>Re: Re: informix select문에서 index사용법??
고재성
2001-09-25 16:09:33
6372
1033  ┕>Re: Re: Re: informix select문에서 index사용법??
man
2001-09-26 10:21:21
9665
1035   ┕>Re: Re: Re: Re: informix select문에서 index사용법??
고재성
2001-09-27 10:00:57
7289
1027DB에 락이 걸려서 검색이 되지 않는 경우...?
문병진
2001-09-19
5811
1028┕>Re: DB에 락이 걸려서 검색이 되지 않는 경우...?
man
2001-09-20 09:16:54
6612
1026lock 설정에 관한 질문
서상배
2001-09-19
6193
1023informix 책 추천해주세요~
초짜
2001-09-19
5335
1024┕>Re: informix 책 추천해주세요~
장혜정
2001-09-19 18:13:15
6013
1021dbminit.exe.....?
하늘사랑
2001-09-19
4716
1020[급]infomix를 asp에서 연동하려구여 [1]
유은진
2001-09-17
4944
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다