여러분들 노고가 많습니다. 이번에 질문을 드리고자 하는 내용은
여기서도 가끔 올라온 문제인 Versioning 에 관해서입니다. 여기저기 찾아보고 했으나..ㅠ.ㅠ
과연 제가 하고자 하는게 되는건지 감이 안잡힙니다.
현재 상황을 말씀드리겠습니다.
DW ETT 툴인 DataStage 를 이용하여 여러 JOB 을 동시에 실행을 시킵니다. 여기 JOB 중에는
XXX.sql 화일을 서버측에서 돌리도록 코딩이 되어 있습니다. (isql -Uxx -Pxx 서버명 xxx.sql)
이러한 구조로 된 JOB 이 200여개 정도 되는데..이넘들은 DataStage 에 특별한 실행 로그가
남질 않습니다, 그런관계로 LOG 테이블을 하나두고, 해당 SQL 화일이 정상적으로 끝났는지
확인코자 SQL 화일 BEGIN 다음에 LOG 테이블에 시작한다고 표시하고,
END; 전에 해당 SQL 끝났다고 LOG_TBL 이라는 곳에 씁니다. 프로시져를 호출할려고 했으나,
실패를 하고, 그냥 DML 문장을 앞뒤로 넣었습니다.
앞에는 그냥 지우고 시작하고..
DELETE FROM LOG_TBL
WHERE EXEDT = '작업시작날짜'
AND JOBNAME = 'TTB210_TEAMCOCN';
COMMIT;
최종적으로 실행했다는 표시 하고...
INSERT INTO LOG_TBL (EXEDT, JOBNAME, GUBUN)
VALUES ('작업시작날짜', 'JOB_NAME', 'E');
COMMIT;
이렇게 했는데도 불구하고...
iqmessage 에서는
Txn 6645860
2005-09-14 19:38:11 0000001415 Exception Thrown from db_catx.cxx:1135, Err# 52, tid 852 origtid 852
2005-09-14 19:38:11 0000001415 O/S Err#: 0, ErrID: 1025 (hdb_catexception)
2005-09-14 19:38:11 0000001415 Cannot open the requested object for write in the current transaction (6645860). Ano
-- (db_catx.cxx 1135)
trace 인가..ㅡㅡ;
09/14 19:38:11.053 ** WARNING conn: 587515664 code: 100 "Row not found"
09/14 19:38:11.071 ** WARNING conn: 594970896 code: 100 "Row not found"
09/14 19:38:11.093 ** ERROR conn: 594970896 code: -1000029 "Cannot open the requested object for write in the current
transaction (6645860). Another user has write access in transaction 6645858. -- (db_catx.cxx 1135) "
이게 Versioning 이라는 거 때문에 그렇다는데...
정말이지 이거 스크립트로 즉 DML 문장으로 해결 못하나요?
특별하게 테이블을 lock 을 걸어야 하나요? (Lock 걸줄모름 ㅡㅡ;)
사이베이스 IQ 초짜가 질문드립니다.
|