Sybase: 지원되는 데이터 유형, 객체 및 작업
이 섹션에는 Oracle GoldenGate for Sybase에 대해 지원되는 데이터 유형, 객체 및 작업에 대한 정보가 포함되어 있습니다.
지원되는 Sybase 데이터 유형
정수
-
BIGINT -
BIT -
DECIMAL -
INT(서명 및 서명되지 않음) -
TINYINT(서명 및 서명되지 않음) -
NUMERIC -
SMALLINT(서명 및 서명되지 않음)
지원 제한 사항
-
NUMERIC및DECIMAL(고정 지점)은 계산이나 변환 없이 데이터를 동일한 데이터 유형의 대상 열로 이동할 때 무결성 손실 없이 지원됩니다. 계산 또는 변환을 수행해야 하는 경우 Oracle GoldenGate는 부호 있는 긴 정수(32비트)의 최대값을 지원합니다. -
BIT는 Sybase 데이터베이스 간의 자동 매핑에 지원됩니다.BIT데이터를 Sybase와 다른 데이터베이스 유형 간에 이동하기 위해 Oracle GoldenGate는BIT데이터를 바이너리로 처리합니다. 이 경우 다음이 필요합니다.BIT열은TABLE또는MAP문에서COLMAP절을 사용하여 해당 소스 또는 대상 열에 매핑되어야 합니다.
-
Sybase 15.7 이상 릴리스의 경우 다음 데이터 유형을 복제할 수 없습니다.
-
BIGINT(키 열로) -
BIGDATETIME -
BIGTIME
-
-
TINYINT및 Extract 복제가 동일한 버전의 Replicat에 없는 경우 동일한 Sybase 버전 간에 복제하는 경우에도sourcedef및/또는targetdef파일을 만들어야 합니다.지원되지 않는 Sybase 데이터 유형을 참조하십시오.
부동 소수점 수
-
DOUBLE -
FLOAT -
REAL
지원 제한 사항
부동 소수점 수에 대한 범위 및 정밀도 지원은 호스트 시스템에 따라 달라집니다. 일반적으로 정밀도는 16자리까지 정확하지만 예상 근사치를 확인하려면 데이터베이스 설명서를 검토해야 합니다. Oracle GoldenGate는 지원되는 전체 자릿수를 초과하는 값을 반올림하거나 자릅니다.
문자 데이터
-
CHAR -
NCHAR -
NVARCHAR -
VARCHAR -
UNICHAR UNIVARCHAR지원 제한 사항-
이러한 데이터 유형은 데이터베이스에서 지원하는 최대 길이까지 지원되며 최대 페이지 크기입니다.
- Sybase 데이터베이스가 대상이고 소스가 이기종 데이터베이스인 경우 Sybase
char_length또는datalength함수를 사용하여NVARCHAR복제 결과를 인출하면 소스에서 대상으로 복제하면 데이터 무결성 문제가 발생할 수 있습니다. 이 문제는 Windows x64 플랫폼 EBF 21262: 15.5 ESD #5.3에 대해 Adaptive Server Enterprise 15.5 이전 버전의 Sybase 릴리스를 사용할 때 발생합니다.
일자 및 시간 기록
-
BIGDATETIME -
BIGTIME -
DATE -
DATETIME -
SMALLDATETIME -
TIME
지원 제한 사항
-
Oracle GoldenGate는 0001/01/03:00:00:00에서 9999/12/31:23:59:59까지의 시간 기록 데이터를 지원합니다. 시간 기록이 GMT에서 로컬 시간으로 변환되면 이러한 제한은 결과 시간 기록에도 적용됩니다. 시간대에 따라 변환에서 시간을 더하거나 뺄 수 있으므로 시간기록이 지원되는 하한 또는 상한을 초과할 수 있습니다.
-
Oracle GoldenGate는 음수 날짜를 지원하지 않습니다.
대형 객체
-
BINARY -
IMAGE -
TEXT -
UNITEXT -
VARBINARY
지원 제한 사항
-
TEXT,UNITEXT및IMAGE는 최대 2GB까지 지원됩니다. -
다른 데이터베이스(예: Oracle
BLOB및CLOB)에서 복제되는 대형 객체는 SybaseCHAR,VARCHAR,BINARY및VARBINARY열에 매핑될 수 있습니다. 복제된 큰 객체가 대상 열의 크기보다 큰 경우 Replicat가 비정상 종료되지 않도록 하려면 Replicat 매개변수 파일에서DBOPTIONS매개변수를ALLOWLOBDATATRUNCATE옵션과 함께 사용하십시오. 자세한 내용은 Windows 및 UNIX용 Oracle GoldenGate 참조를 참조하십시오. -
빈
LOB열을 허용하는 소스 데이터베이스에서 Sybase 대상으로 데이터를 이동하려면 Replicat 매개변수 파일에서EMPTYLOBSTRING옵션과 함께DBOPTIONS매개변수를 사용합니다. 이 매개변수는 문자열 값을 받아들이고 Replicat가 대상 열을 Sybase에서 허용되지 않는NULL로 설정하지 못하도록 합니다. 자세한 내용은 Windows 및 UNIX용 Oracle GoldenGate 참조를 참조하십시오. -
소스 테이블에 동일한 행이 여러 개 포함된 경우 대상 테이블에서
LOB불일치가 발생할 수 있습니다. 이 문제는 소스 테이블에 기본 키나 기타 고유 행 식별자가 부족한 경우에 발생합니다. 행은 대상에서 Replicat에 의해 삽입되지만LOB데이터가 후속 소스 작업에서 업데이트되면 대상에 삽입된 첫번째 행에만 복제됩니다. -
행 내부 LOB 열에
NOT NULL제약 조건을 사용하지 마십시오.NOT NULL제약 조건을 사용하려면 행이 아닌 LOB 열에 사용합니다. -
테이블에서 직접 행 내 LOB 데이터를 인출해야 하는 경우
FETCHCOLS/FETCHMODCOLS를 사용해야 합니다. -
Sybase 15.7 이상용 Oracle GoldenGate는 행 내 LOB 열 복제를 지원하지 않습니다. 그러나 Replicat 데이터베이스에서 데이터를 행 내 LOB 열로 푸시할 수 있습니다. 즉, 복제에 포함된 테이블은 행 내 LOB 열을 가질 수 없습니다. 복제 테이블에 행 내 LOB 열이 포함된 경우 Oracle GoldenGate가 비정상 종료됩니다. 행 내부 LOB 지원이 필요한 경우 자세한 내용은 Oracle Support에 문의하십시오.
화폐 종류
-
MONEY -
SMALLMONEY
만들기 제한
계산 또는 변환 없이 동일한 데이터 유형의 대상 열로 데이터를 이동할 때 화폐 데이터 유형은 무결성 손실 없이 지원됩니다. 계산 또는 변환을 수행해야 하는 경우 Oracle GoldenGate는 부호 있는 긴 정수(32비트)의 최대값을 지원합니다.
IDENTITY 유형
IDENTITY 데이터 유형은 양방향 구성이 아닌 한 방향으로만 복제할 수 있습니다.
텍스트, 이미지 및 unitext 데이터 유형
Sybase 15.7 버전에서는 이제 LOB 텍스트, 이미지 및 unitext 데이터 유형이 BATCHSQL 모드에서 지원됩니다. LOB의 데이터 길이는 4K로 제한됩니다. LOB 열과 크기가 4K를 초과하는 레코드가 있으면 해당 레코드가 일괄 처리에서 제외되고 한 번에 하나씩 실행됩니다. 이제 의 LOB 열이 바인드되었지만 이전 Sybase 버전(15.5 또는 15.0)에서는 LOB가 바인드되지 않았습니다. DBPOTIONS LEGACYLOBREPLICATION 매개변수를 사용하여 이전 동작을 사용할 수 있습니다. 이 지원은 Sybase 버전 15.7 이상에서 실행되는 Replicat에만 적용됩니다.
사용자정의 데이터 유형
사용자 정의 데이터 유형은 완전히 지원됩니다.
지원되지 않는 Sybase 데이터 유형
이 섹션에서는 Oracle GoldenGate에서 지원하지 않는 Sybase 데이터 유형을 나열합니다.
-
TIMESTAMP데이터는 지원되지 않습니다. 데이터베이스 제한으로 인해 Sybase 시간 기록 열에 데이터를 적용할 수 없지만 시간 기록 열 데이터는 캡처됩니다. 해당 행이 삽입되거나 갱신되면 데이터베이스가 이 열을 자동으로 채웁니다. Oracle GoldenGate에서 캡처되는 시간 기록 열을 제외하려면TABLE매개변수의COLSEXCEPT옵션을 사용합니다. 시스템에서 시간 기록을 생성하므로 소스 값과 대상 값이 다릅니다. -
Java
rowobject데이터 유형은 지원되지 않습니다.
Sybase에 대해 지원되는 작업 및 객체
이 섹션에는 Oracle GoldenGate가 지원하는 데이터 작업 및 데이터베이스 객체가 나열됩니다.
-
길이가 최대 512KB인 행을 포함하는 Sybase 테이블에서 삽입, 업데이트 및 삭제 작업을 추출하고 복제합니다.
-
데이터베이스에서 지원하는 테이블당 최대 열 수 및 최대 열 크기입니다.
-
지연된 삽입, 지연된 간접 삽입, 지연된 업데이트 및 지연된 삭제. 지연 업데이트를 사용하면 대상에서 영향을 받는 SQL에 대한 기본 키 제약 조건 위반이 발생할 수 있습니다. 이러한 오류가 발생하면 Replicat 매개변수
HANDLECOLLISIONS를 사용합니다. -
영향을 받는 테이블의 이름이 모든 스키마에서 고유한 경우
TRUNCATE TABLE테이블 이름이 모든 스키마에서 고유하지 않은 경우 해당 테이블에 대해IGNORETRUNCATES매개변수를 사용하여 Replicat가 비정상 종료되지 않도록 하십시오. -
Extract 및 Replicat의
GETTRUNCATES및IGNORETRUNCATES -
시스템에서 암호화된 암호로 암호화된 데이터입니다.
-
FETCHBATCHSIZE매개변수로 제어되는 초기 로드 중 배열 인출입니다. -
다음 플랫폼에서 ASE 15.7 SP110 이상의
BATCHSQLReplicat 기능:-
AIX
-
Linux x64
-
Sun Solaris SPARC
-
Sun Solaris x64
-
윈도우 x64
특정 시나리오에서
CS_NUMERIC및CS_DECIMAL데이터 유형은 Sybase 특정 CT 라이브러리의 버그로 인해BatchSQL에서 지원되지 않습니다. LOB 복제는 Sybase 데이터베이스 버전 157 SP110 이후의 경우 BatchSql 모드에서 지원됩니다. 이렇게 하면 LOB 복제 성능이 향상됩니다. 16384바이트의 LOB 데이터로 제한됩니다. 즉, LOB 데이터가 16384바이트를 초과하는 경우 데이터가 Normal 모드로 전환되는 대신BATCHSQL모드를 통해 처리되지 않습니다. -
-
계산된 열 지원 제한 사항은 다음과 같습니다.
-
지속된 계산된 열을 완전히 지원합니다. 변경 값은 트랜잭션 로그에 있으며 추적에 캡처될 수 있습니다.
-
행 내 LOB 열에는
NOT NULL제약 조건을 사용할 수 없습니다.NOT NULL제약 조건을 사용해야 하는 경우 행이 아닌 LOB 열에서만 사용합니다. -
비지속 계산 열이 있는 테이블은 데이터베이스는 트랜잭션 로그에 기록하지 않으므로 이러한 열에 대한 변경 데이터를 캡처하지 않습니다. 비지속 계산 열에 대한 데이터를 복제하려면
TABLE매개변수의FETCHCOLS또는FETCHMODCOLS옵션을 사용하여 테이블에서 열 데이터를 인출합니다. 데이터베이스에서 열이 변경된 시기와 Extract가 처리 중인 트랜잭션 레코드의 데이터를 인출하는 시기 사이의 데이터 값 차이로 인해 불일치가 발생할 수 있습니다. -
데이터베이스는 해당 열 유형에 대해 DML을 허용하지 않으므로 Replicat는 해당 열의 데이터가 트레일 내에 있더라도 계산된 열에 DML을 적용하지 않습니다. 소스 지속 계산 열의 데이터 또는 패치된 비지속 열의 데이터는 계산된 열이 아닌 대상 열에 적용될 수 있습니다.
-
초기 로드에서는 모든 데이터가 트랜잭션 로그가 아닌 소스 테이블에서 직접 선택됩니다. 따라서 초기 로드에서는 비지속 계산 열을 포함한 모든 열의 데이터 값이 사용 중인 방법에 따라 추적에 기록되거나 대상으로 전송됩니다. 그러나 변경 데이터를 적용할 때와 마찬가지로 데이터베이스가 해당 유형의 열에 대해 DML을 허용하지 않기 때문에 Replicat는 초기 로드 데이터를 계산된 열에 적용하지 않습니다.
-
키 열, 인덱스 열 또는
TABLE또는MAP문에서KEYCOLS절의 일부인 지속된 계산된 열은 사용되지 않습니다. 고유 키 또는 인덱스에 계산된 열이 포함되어 있고 Oracle GoldenGate에서 해당 키를 사용해야 하는 경우 계산된 열은 무시됩니다. 또한 고유 키나 인덱스가 계산된 열을 포함하고 테이블의 유일한 고유 식별자인 경우 계산된 열을 제외하고 대상 행을 찾기 위한 식별자로 모든 열이 사용됩니다. 따라서 키 또는 인덱스에 계산된 열이 있으면 나머지 열이 고유성을 강요하지 않으면 데이터 무결성에 영향을 줍니다. Sybase는 비지속 계산 열을 키의 일부로 지원하지 않으므로 Oracle GoldenGate도 지원하지 않습니다. -
TRUNCATE TABLE를 지원하려면 모든 테이블 이름이 데이터베이스 내의 모든 스키마에서 고유해야 합니다. 이 규칙은 Extract 및 Replicat에 적용됩니다.
-
-
자동 하트비트 테이블 지원의 제한 사항은 다음과 같습니다.
-
하트비트 빈도는 분 단위로 허용되며 1에서 133 사이의 정수여야 합니다(둘 다 포함).
-
GG_HEARTBEAT_SEED,GG_HEARTBEAT및GG_HEARTBEAT_HISTORY테이블의incoming_routing_path및outgoing_routing_path에 대해 1500자를 초과할 경우 Replicat 비정상 종료 시 데이터 잘림이 발생합니다. 이러한 테이블의incoming_routing_path및outgoing_routing_path크기는 ASCII에서 1500자로 설정되며 멀티바이트 문자의 최대 바이트 수는 500자입니다. 수신 및 송신 경로 문자열이 지정된 제한 내에 있는지 확인합니다. -
Sybase 작업 스케줄러는 Oracle GoldenGate 하트비트 기능을 실행하기 전에 ASE 서버에서 구성해야 합니다.
-
하트비트 테이블 기능이 올바르게 작동하려면 로그인 사용자에게
replication_role,js_admin_role,js_user_role역할이 있어야 합니다.
-
Sybase에 대해 지원되지 않는 작업 및 객체
이 섹션에는 Oracle GoldenGate가 지원하지 않는 데이터 작업 및 데이터베이스 객체가 나열됩니다.
-
구체화된 뷰 또는 미리 계산된 결과 집합의 복제는 지원되지 않습니다. 따라서 구체화된 뷰에 대한 trandata를 추가할 수 없습니다. 자세한 내용은 Sybase ASE 설명서를 참조하십시오.
-
사용자 정의 암호로 암호화된 데이터입니다.
-
DDL(데이터 정의어) 작업의 추출 또는 복제
-
다중 추출 구성입니다. 하나의 Extract만 Sybase 트랜잭션 로그를 읽기 위한 컨텍스트를 예약할 수 있습니다.
-
SHOWSYNTAX는DYNSQL모드에서 지원되므로NODYNSQL는 더 이상 사용되지 않습니다. -
밑줄과 일부 문자가 뒤따르는 데이터가 포함된 테이블 이름은 공백(예:
'zzz_j')이 지원되지 않습니다. Oracle GoldenGate는 GGSCI,DEFGEN,EXTRACT또는REPLICAT를 사용하여 이 유형의 문자열을 포함하는 레코드를 처리할 수 없습니다. 또한 이 유형의 데이터는 Oracle GoldenGate 와일드카드(*)와 함께 사용할 수 없습니다. 테이블 이름에 이 유형의 데이터가 있는 경우 데이터베이스에서 이러한 종류의 테이블 이름을 삭제한 다음 응용 프로그램을 재시작하여 Oracle GoldenGate 와일드카드를 처리하고 준수해야 합니다.