데이터베이스 오브젝트 및 데이터 복사 제한사항

현재 데이터베이스 오브젝트 및 데이터 복사에 관한 제한사항이 있습니다.
일반 제한사항
이 세트의 제한사항은 둘 이상의 오브젝트 유형에 적용됩니다.
  • Oracle 소스 → Linux®, UNIX® 및 Windows®용 DB2® 목표:
    • 소스 오브젝트 정의에 OR REPLACE 절이 있는 경우 목표 오브젝트는 이 절 없이 작성됩니다. 이 제한사항은 뷰, 프로시저, 사용자 정의 함수(UDF) 및 패키지에 적용됩니다.
    • 소스 오브젝트 정의에 AUTHID CURRENT_USER 절이 있는 경우 오류가 발생합니다. 이 제한사항은 프로시저, 사용자 정의 함수(UDF) 및 패키지에 적용됩니다.
  • 소스 오브젝트의 테이블 참조가 규정되지 않은 경우 붙여넣기 조작을 수행하면 목표 연결과 연관된 디폴트 스키마와 대조하여 테이블이 실행됩니다. 이 제한사항은 뷰, 프로시저, 사용자 정의 함수(UDF) 및 패키지에 적용됩니다.

    생성된 DDL에 규정자를 추가하거나 수정하려면 SQL 및 XQuery 편집기에서 SQL 스크립트를 수정해야 합니다.

테이블 복사
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표
    • Linux, UNIX 및 Windows용 DB2는 테이블 정의에서 ARRAY 또는 VARRAY 유형의 컬럼을 지원하지 않습니다. 소스 테이블에 ARRAY 또는 VARRAY 유형의 컬럼이 포함되어 있는 경우 붙여넣기 조치가 실패합니다.
  • Linux, UNIX 및 Windows용 DB2 소스 → z/OS®용 DB2 목표
    • XML 컬럼의 데이터 복사는 지원되지 않습니다. 테이블에 XML 유형의 컬럼이 포함되어 있는 경우 테이블 정의를 정상적으로 복사하고 붙여넣을 수 있습니다. 그러나 XML 컬럼의 데이터는 복사할 수 없습니다.
    • 복사된 테이블에 대해 생성되는 DDL에서 CCSID는 디폴트로 EBCDIC로 설정됩니다. 이 경우 CCSID는 목표 데이터베이스 또는 테이블 스페이스에서 특정적 또는 기본적으로 EBCDIC로 설정되어야 하며, 그렇지 않으면 붙여넣기 조치가 실패합니다.

      복사된 테이블에 GRAPHIC 또는 VARGRAPHIC 유형의 컬럼이 포함되어 있는 경우에만 생성된 DDL에서 CCSID가 UNICODE로 설정됩니다.

뷰 복사
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표:
    • WITH READ ONLY 옵션은 DB2에서 지원되지 않습니다. 소스 뷰 정의에 이 옵션이 포함되어 있는 경우 붙여넣기 조치에 실패합니다.
  • Linux, UNIX 및 Windows용 DB2 소스 → Oracle 목표:
    • WITH NO ROW MOVEMENT 및 WITH ROW MOVEMENT 옵션은 Oracle에서 지원되지 않습니다. 소스 뷰 정의에 이들 옵션 중 하나가 포함되어 있는 경우 붙여넣기 조치에 실패합니다.
  • Oracle 소스 → Oracle 목표:
    • 소스 뷰 정의에 FORCE 또는 NO FORCE 절이 포함되어 있는 경우 목표 절은 해당 절 없이 작성됩니다.
  • CREATE VIEW 쿼리 표현식이 목표 데이터베이스 구문을 충족하지 않는 경우 목표 데이터베이스에서 오류가 발생합니다.
트리거 복사
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표:
    • 복합 DML 이벤트 절(예: INSERT OR UPDATE 또는 INSERT OR UPDATE OR DELETE)은 DB2 트리거 정의에서 지원되지 않습니다. 소스 트리거 정의에 복합 DML 이벤트 절이 포함되어 있는 경우 목표 트리거 정의에 해당 절의 첫 번째 이벤트만 포함됩니다. 이 어커런스에 대해 알리는 오류 메시지가 표시됩니다.
    • 다음 구문은 지원되지 않습니다. 이 구문 중 어느 것이든 소스 트리거에서 발생하는 경우 해당 트리거는 복사되지 않지만 그와 연관된 테이블은 복사됩니다.
      • 복합 트리거 블록
      • 중첩된 테이블에 대한 트리거
      • 시스템 이벤트 또는 사용자 이벤트에 대한 트리거
      • 스키마에 대한 트리거
      • 프로시저 CALL 문을 포함하는 트리거
      • PARENT AS PARENT 참조 절을 포함하는 트리거
      • INSTEAD OF 절 및 FOR EACH ROW 절을 모두 포함하는 트리거
  • Linux, UNIX 및 Windows용 DB2 소스 → Oracle 목표:
    • SPL PL 트리거는 복사용으로 지원되지 않습니다.
사용자 정의 유형 복사
  • Oracle 데이터베이스가 복사 소스인 경우 다음과 같은 제한이 있습니다.
    • VARRAY 사용자 정의 유형은 실제 데이터 모델에서 종속 오브젝트로 표시되지 않습니다. VARRAY 사용자 정의 유형은 이를 사용하는 PL/SQL 프로시저 및 PL/SQL 패키지와 함께 복사되지 않습니다. PL/SQL 프로시저 또는 PL/SQL 패키지가 VARRAY 사용자 정의 유형을 사용하는 경우 해당 유형을 사용하는 PL/SQL 오브젝트를 복사하기 전에 먼저 사용자 정의 유형을 복사해야 합니다.
    • VARRAY 사용자 정의 유형 컬럼의 데이터 복사는 지원되지 않습니다. 테이블에 VARRAY 사용자 정의 유형 컬럼이 포함되어 있는 경우 테이블 정의를 정상적으로 복사하고 붙여넣을 수 있습니다. 그러나 VARRAY 사용자 정의 유형의 컬럼에 있는 데이터는 복사할 수 없으며 붙여넣기 조치가 실패합니다.
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표
    • DB2는 VARRAY 정의의 NOT NULL 절을 지원하지 않습니다. 소스 VARRAY 정의에 NOT NULL 절이 포함되어 있는 경우 붙여넣기 조치가 실패합니다.
  • Linux, UNIX 및 Windows용 DB2 소스 → Oracle 목표
    • VARRAY 사용자 정의 유형을 사용하는 스토어드 프로시저가 PL/SQL 프로시저가 아닌 경우 붙여넣기 조치가 실패합니다.
동의어 복사
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표
    • 다음 오브젝트에 대한 동의어 복사는 지원되지 않습니다. 다음 오브젝트 중 어느 것이든 동의어가 정의되어 있는 경우 해당하는 DDL문이 생성되지 않습니다.
      • 시퀀스
      • 스토어드 프로시저, 기능 및 패키지
      • 구체화된 뷰
      • 사용자 정의 유형
시퀀스 복사
  • CACHE 매개변수는 복사할 수 있도록 지원되지 않습니다.
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표
    • Oracle 소스 시퀀스에 대한 Linux, UNIX 및 Windows용 기본 DB2 목표 데이터 유형은 DECIMAL이고 정밀도 27을 나타냅니다.
  • Linux, UNIX 및 Windows용 DB2 소스 → Oracle 목표
    • 기본 NO MINVALUE 절은 지원되지 않습니다. 소스 정의에 MAXVALUE 절은 포함되어 있지만 특히 MINVALUE 절이나 NO MINVALUE 절이 포함되어 있지 않은 경우 붙여넣기 조치가 실패합니다.
모듈 복사
  • Linux, UNIX 및 Windows용 DB2 버전 9.7 소스 → Linux, UNIX 및 Windows용 DB2 버전 9.7 목표
    • 전체 모듈만 복사할 수 있으며 모듈의 개별적 요소 복사는 지원되지 않습니다.
PL/SQL 패키지 복사
  • Linux, UNIX 및 Windows용 DB2 데이터베이스가 복사 소스인 경우 PL/SQL 패키지의 종속 오브젝트는 복사되지 않습니다.
  • Oracle 데이터베이스가 복사 소스인 경우 패키지의 종속 오브젝트는 복사되지 않습니다.
  • PL/SQL 패키지 스펙을 복사하는 경우 해당 PL/SQL 패키지 본문도 동일한 조작으로 복사됩니다. PL/SQL 패키지 본문을 따로 복사할 수는 없습니다.
데이터 복사
  • Oracle 소스 → Linux, UNIX 및 Windows용 DB2 목표:
    • 2GB 미만인 LOB만 복사됩니다.
  • 목표 데이터베이스에 데이터베이스 오브젝트 및 데이터를 직접 붙여넣는 경우, 다음 제한사항이 적용됩니다.
    • 외부 키 제한조건을 포함하는 소스 데이터에 대해 행 한계 또는 필터 옵션을 지정하는 경우 간섭 데이터가 목표 데이터베이스에 복사되리라는 보장이 없습니다.

      제한된 수의 행이 있는 상위-하위(parent-child) 관계 테이블에서 일관성 있는 데이터를 추출하려면 데이터베이스 오브젝트 붙여넣기 마법사의 데이터 이동 페이지에서 조회 필터를 지정하십시오.

      예: Linux, UNIX 및 Windows용 DB2 소스 → Linux, UNIX 및 Windows용 DB2 목표

      GOSALES 데모 데이터베이스에서 cust_customer 테이블(상위 테이블) 및 cust_crdt_card 테이블(하위 테이블)을 복사하십시오.

      표 1은 마법사의 데이터 이동 페이지에서 격자의 필터행 한계 컬럼에 지정할 정보를 나타냅니다.

      표 1. 일관성 있는 데이터 추출을 위해 지정할 샘플 필터 및 행 한계 정보
      테이블 필터 행 한계
      cust_customer ORDER BY cust_code 1000
      cust_crdt_card WHERE cust_code in ( SELECT cust_code FROM gosalesct.cust_customer ORDER BY cust_code FETCH FIRST 1000 ROWS ONLY)  
  • LOB 유형의 컬럼이 있는 테이블을 복사하는 경우에는 스크립트를 실행할 때 복사된 LOB 데이터에 대해 널(NULL) 값이 생성되도록 DDL 스크립트를 편집하십시오.
  • 복사된 데이터의 형식은 소스 데이터베이스와 목표 데이터베이스에서 다를 수 있습니다. 예를 들어, 소스 데이터베이스에서 복사된 날짜 및 시간 형식의 데이터는 목표 데이터베이스의 디폴트 형식과 일치하지 않을 수 있습니다. 목표 데이터베이스에 적용되는 경우 형식을 리터럴 값으로 지정해야 할 수도 있습니다. 형식 디스크립터 지정에 대한 정보는 목표 데이터베이스 참조 정보를 참조하십시오.
데이터 유형 맵핑 제한사항
일부 Oracle 데이터 유형은 DB2의 데이터 유형에 해당하지 않습니다. 표 1은 Linux, UNIX 및 Windows용 DB2 데이터베이스에 복사될 때 지원되지 않는 Oracle 데이터 유형을 처리하는 방법을 나타냅니다.
표 2. Linux, UNIX 및 Windows용 DB2에서 지원되지 않는 Oracle 데이터 유형을 처리하는 방법
Oracle 데이터 유형 결과
BFILE 컬럼이 DB2 BLOB 데이터 유형으로 맵핑됩니다. 데이터는 복사되지 않습니다.
INTERVAL YEAR TO MONTH DB2 CHAR 데이터 유형으로 맵핑됩니다.
INTERVAL DAY TO SECOND DB2 CHAR 데이터 유형으로 맵핑됩니다.
NUMBER( p,-s ) DB2 NUMBER( p,0 ) 데이터 유형으로 맵핑됩니다.
NUMBER( p,s ), 여기서 s > p 컬럼이 작성되지 않습니다. 데이터는 복사되지 않습니다.
TIMESTAMP WITH LOCAL TIME ZONE 컬럼이 작성되지 않습니다. 데이터는 복사되지 않습니다.
TIMESTAMP WITH TIME ZONE 컬럼이 작성되지 않습니다. 데이터는 복사되지 않습니다.
XMLTYPE 컬럼이 DB2 XML 데이터 유형에 맵핑됩니다. 데이터는 복사되지 않습니다.
오류 조절
  • 데이터베이스 오브젝트 붙여넣기 마법사의 오류 발생 시 롤백 옵션은 Oracle 목표 데이터베이스에서 지원되지 않습니다.

피드백