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 2134 게시물 읽기
No. 2134
[질문]Long transaction abort 에러가 발생합니다.
작성자
급합
작성일
2005-03-08 09:37
조회수
7,368

안녕하세요

급하게 질문을 드릴려고 합니다.

똑같은 레이아웃 테이블을 A db에서 B DB로 옮길려고 합니다.

그런데 데이터가 insert 하다가 Long transaction abort 가 뜨면서 다 rollback이 됩니다.

그래서 급하게 rowid의 max와 min 값을 구해서 쓰라고 들은적이있어서

그렇게 할려고 하는데 단위가 엄청 커지더라구요. 이것으로 할려고 해도 장난이 아니더라구요

어떻게 쉽게 insert 하는 방법이 없는지요

sql 구문은 insert into a select * from b 입니다.

데이터 건수는 2300건이구요 컬럼이 10정도가 있는데 다 컬럼크기가 2000이 넘습니다.

좋은 방법이 업을까요. 돌아가고 있는 DB라서 nologin으로도 바꿀수가 없습니다.

방법좀 가르쳐주세요...부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.

우선, nolog를 사용하시면 되는데, 아쉽게도 online 중이라니,,,

 

그럼, Informix의 RAW Table을 사용하시지요.

 

우선,

1.  $ dbschema -d <db name> -t <table name> -ss

를 사용해 schema를 받으신 후

 

2. Create table --> Create [RAW/Standard] table 로 바꾸시고요.

ex)  create raw table "informix".customer_new ....

 

3. Insert-select 를 수행합니다.

ex) insert into customer_new select * from customer;

 

4. Table을 Standard로 바꿉니다.

ex) ALTER table customer_new TYPE (STANDARD)

 

뭐 이렇게 하면, Log를 많이 사용하지 않고 작업을 수행하실 수 있겠네요.

 

-- 지나가다 잠시 들렀습니다 .----

 

물론, Standard / RAW table 간의 차이는 있습니다. 메뉴얼을 보시고요.

 

 

나그네님이 2005-03-15 16:13에 작성한 댓글입니다.
이 댓글은 2005-03-15 16:58에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2138[질문]하나만 더 여쭤보겠습니다. 테이블 생성 [2]
오성호
2005-03-15
8113
2137테이블 생성시.. [2]
오성호
2005-03-15
8085
2136select 시에 인덱스를 탈 경우... [1]
안병창
2005-03-14
8383
2134[질문]Long transaction abort 에러가 발생합니다. [1]
급합
2005-03-08
7368
2133[질문] dbspace가 어떤 db, 어떤 table 쓰고있는지 알수 있는 방법은? [1]
궁금한이
2005-03-08
8203
2132인포믹스 관리 툴 사용 문의드립니다. [2]
김봄비
2005-03-07
11416
2131DB 복구...ontape -r [1]
동훈
2005-03-05
7253
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.055초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다