안녕하세요.
alter라는 작업은 테이블의 구조 자체를 변경하는 작업이므로 테이블에 대한 exclusive lock을 필요로 하게 됩니다.
다른 사용자는 사용할 수 없도록 lock을 거는 상태를 말합니다.
만일 다른 사용자가 이미 테이블을 사용 중이라면,
그 사용자의 작업이 끝나기를 기다리시거나,
사용자의 작업을 강제로 종료시키신후 alter작업을 하셔야 합니다.
사용자의 작업을 강제로 종료시키는 방법은 다음과 같습니다.
onstat -g sql
위의 명령어로 보시면,
위에서, Sess Id라는 첫번째 나온 숫자가 session번호입니다.
우선 그 session이 맞는 지를 확인하시고,
확인 방법 (onstat -g sql session번호 ) -> SQL구문이 나옴.
informix user로 login 하셔서
onmode -z session번호
라고 실행하시면 됩니다.
이와 같이 하고 나면 테이블에 alter가 되실 겁니다.
그럼 수고하세요.
>>미영 님께서 쓰시길<<
:: 안냐세엽...
::
:: table 을 수정하려고 하는데엽..
:: Informix 9.21 버전에서여..
:: sql editor 상에서
::
:: alter table 을 하려고 하는데
::
:: alter table aaa
:: add aa integer,
:: add bb integer
::
::
:: 다음과 같은 에러가 나서엽..
::
:: SQL Error(-242):
::
:: Could not open database table (kk.aaa). [ISAM error -106 : ISAM error : non-exclusive access]
::
:: 이렇게여..
::
:: 당연히 aaa 라는 테이블은 존재하고요..
:: kk 는 데이타베이스 명 입니다...
::
:: 우째 이런일이...
::
:: 좀 도와 주세요..
|