기술 정보
home
채널 소개
home

DBLink로 Long타입 Insert Into 구문 수행시 SIGSEGV 해결

문서 유형
장애 해결
분야
인터페이스/연동
키워드
dblink
insert
sigsegv
적용 제품 버전
6FS06
6FS07
7FS02
오류 코드
12126

현상

DBLink로 Long타입 Insert Into 구문 수행시 SIGSEGV 가 발생합니다.
SQL> INSERT INTO [REMOTE LONG TABLE 1] SELECT * FROM [REMOTE LONG TABLE 2]
SQL
복사
위 예시의 1,2번 dblink가 Oracle, Tibero 상관 없이 현상이 발생합니다.

원인

Remote to Remote는 Long 타입에서 고려되지 않았기 때문에 SIGSEGV 가 발생합니다.

해결

패치를 적용해 해결합니다. (적용패치: FS07PS_337669a)
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
-- 패치 후 테스트 시나리오 #tibero to tibero dblink 생성 create database link tlink01 connect to tibero identified by 'tmax' using 'tibero'; create database link tlink02 connect to tibero identified by 'tmax' using 'tibero'; #tibero to oracle dblink 생성 create database link olink01 connect to lkh identified by 'tibero' using 'gw_orcl19'; create database link olink02 connect to lkh identified by 'tibero' using 'gw_orcl19'; [오라클과 티베로 둘 다 수행] create table t1_long (c1 varchar2(10), c2 long); create table t2_long (c1 varchar2(10), c2 long); insert into t2_long values('a', 'a'); insert into t1_long values('a', 'a'); create table t1_clob (c1 varchar2(10), c2 clob); create table t2_clob (c1 varchar2(10), c2 clob); insert into t2_clob values('a', 'a'); insert into t1_clob values('a', 'a'); commit; # Insert test 1. Tibero to Tibero (Remote to Remote) insert into t1_long@tlink01 select * from t2_long@tlink02; 2. Oracle to Oracle (Remote to Remote) insert into t1_long@olink01 select * from t2_long@tlink01; 3. cross-database remote to remote insert into t1_long@tlink01 select * from t2_long@olink01; insert into t1_long@olink01 select * from t2_long@tlink01; # Update test 1. Tibero to Tibero (Remote to Remote) update t1_long@tlink01 t1 set (c1, c2) = (select c1, c2 from t2_long@tlink02); 2. Oracle to Oracle (Remote to Remote) update t1_long@olink01 t1 set (c1, c2) = (select c1, c2 from t2_long); 3. Cross-Database Remote to Remote update t1_long@tlink01 t1 set (c1, c2) = (select c1, c2 from t2_long@olink01); update t1_long@olink01 t1 set (c1, c2) = (select c1, c2 from t2_long@tlink01); --모두 Signal 없이 정상수행되어 1 row inserted. 출력 되어야합니다.
SQL
복사
참고
패치 미 적용 시, Long type 대신 Lob 사용으로 개선할 수 있습니다.