안녕하세요.
혹시 로깅모드를 바꾸려고 하는 데이터베이스에
접속한 사용자가 있는지요 ?
$onstat -g sql
을 실행하면 사용자의 데이터베이스 접속상황을
알 수 있습니다. 분산질의를 사용하지 않고 있다면요.
필요하다면 해당 세션을
$onmode -z 세션번호
실행하여 제거한 후 ontape을 사용하여 바꾸어 보시기
바랍니다. 그래도 안된다면 엔진을 다시 시작하시고
시도해 보시기 바랍니다. 흠~ 이미 해보신것은 아닌지...
No Logging모드로 바꾸지 않고 데이터를 로딩할 수 있습니다.
커맨드 툴중에 dbload라는 것을 사용하면 원하는 행 수 만큼
Commit Work을 실행하여 Long Transaction이 되지 않게 할 수
있습니다. 사용법이 조금 복잡합니다. 파일을 로딩하게 위한
커맨드 파일을 하나 만들고 이를 사용하여 데이터를 로딩해야
합니다.
커맨드 파일은 다음과 같이 작성합니다.
FILE stock.unl DELIMITER '|' 6;
INSERT INTO stock;
FILE customer.unl DELIMITER '|' 10;
INSERT INTO customer;
FILE manufact.unl DELIMITER '|' 3;
INSERT INTO manufact;
dbload의 사용법은 그냥 dbload를 치면 나오고 매뉴얼은
Informix Migration Guide -> Using the dbload Utility
를 참조하시기 바랍니다.
그럼 수고하세요.
>>김동구 님께서 쓰시길<<
:: 아래 명령어를 실행했습니다.
:: 시스템은 Solaris 입니다.
:: 물런 no logging mode로 변경하기 위해서이지요.
:: 왜 변경할려고 했냐면 ...
:: File로 DATA를 받아 왔는데 ...
:: load from으로 하니까 .. transaction 에러가 발생하더라구요.
:: 그래서 게시판을 뒤지다 보니 ... no logging mode로 하면 된다길래.
:: 시도 하였으나 ... 아래와 같은 에러만 뜹니다 ㅠ.ㅠ
::
:: [실행 명령어 및 결과]
::
:: www:/informix/data/hsdata> ontape -s -N hs_sale
::
:: Error changing logging status - 'hs_sale'. iserrno 107.
::
:: Program over.
::
:: 그리고 107 에러를 찾아봤다니 아래와 같습니다.
:: www:/informix>finderr 107
:: -107 ISAM error: record is locked.
::
:: Another user request has locked the record that you requested or the
:: file (table) that contains it. This condition is normally transient. A
:: program can recover by rolling back the current transaction, waiting a
:: short time, and re-executing the operation. For interactive SQL, redo
:: the operation. For C-ISAM programs, review the program logic and make
:: sure that it can handle this case, which is a normal event in
:: multiprogramming systems. You can obtain exclusive access to a table by
:: passing the ISEXCLLOCK flag to isopen. For SQL programs, review the
:: program logic and make sure that it can handle this case, which is a
:: normal event in multiprogramming systems. The simplest way to handle
:: this error is to use the statement SET LOCK MODE TO WAIT. For bulk
:: updates, see the LOCK TABLE statement and the EXCLUSIVE clause of the
:: DATABASE statement.
::
:: 어떻게 풀어야 하나요 ?
::
:: 저에게 구원에 손길을 부탁드립니다.
:: 감사합니다.
::
|