바로가기 메뉴
메인메뉴 바로가기
본문내용 바로가기
  1. HOME  >
  2.   Case Management  >
  3.   Knowledge Search

Knowledge Search

Knowledge search

Title

[ORACLE] MERGE INTO 사용 시 ORA-29886 발생

Product

Plug-In

Phenomenon

ORACLE9i 이상에서 지원되는 새로운 SQL로 MERGE INTO 문장이 있다. 이는 값이 존재하는
경우에는 UPDATE를, 존재하지 않는 경우에는 INSERT를 수행할 수 있도록 하는 문장이며
PARALLEL 수행이 가능하다.
암호화가 수행되고 암호화 컬럼에 대한 INDEX가 생성된 TABLE에 대해 MERGE INTO 문장을
수행하면 다음과 같은 에러 메시지가 출력된다.
“ORA-29886: DOMAIN INDEX에 기능이 제공되지 않습니다.”
암호화된 컬럼에 대한 색인 검색을 지원하는 CubeOne™의 ADVANCED INDEX는 DOMAIN
INDEXES 기능의 일부를 사용하고 있다.


Cause

ORACLE에서는 DOMAIN INDEXES를 생성한 테이블
에 대해서는 MERGE INTO 문장을 지원하고 있지 않다.

Solution

현재까지의 ORACLE 버전에서는 MERGE INTO 문장을 지원하도록 하는 방법은 없다.

1) SQL 문 변경 : MERGE INTO 문장에서 사용되는 암호화된 TABLE을 사용하기 위한 VIEW 대신
암호화 테이블을 직접 ACCESS 하도록 수정하고 암호화된 컬럼은 암/복호 함수를 사용하도록
SQL문을 변경하여 사용한다.

2) 응용프로그램 변경 : MERGE INTO 절을 대신 응용 프로그램(APPLICATION) 을 변경하여
상황에 따라 UPDATE 또는 INSERT를 할 수 있도록 변경하여 사용한다.

  • 리스트

사이트정보

서울특별시 강남구 역삼동 703-5 일환빌딩 9층 (주)이글로벌시스템  TEL : 02-6447-6988  FAX : 02-6447-6989

Copyright 2013 (주)이글로벌시스템 All Rights Reserved.