기본 동작 변경사항
이 섹션에서는 마지막 릴리스와 관련하여 Oracle GoldenGate에 적용된 기본 동작 변경사항에 대해 설명합니다.
릴리스 19.1(19.29.0.0.251021) - 2025년 10월
버그 37909236 : MariaDB - MariaDB에 대한 요구 사항을 제거 binlog_annotate_row_events=OFF
이 Oracle GoldenGate 버전부터 MariaDB에 대해 binlog_annotate_row_events를 OFF로 설정하는 요구사항이 제거되었습니다.
릴리스 19.1(19.28.0.0.250715) - 2025년 8월
버그 37757820: 일반 - 모든 비Oracle 데이터베이스에 대한 BATCHSQL의 기본값으로 NOCHECKUNIQUEKEYS 사용
모든 비Oracle 데이터베이스에 대해 BATCHSQL의 기본값으로 NOCHECKUNIQUEKEYS을 사용으로 설정했습니다.
릴리스 19c(19.27) - 2025년 5월
버그 37576949: 일반 - 체크포인트 테이블을 가지려면 새로운 통합 복제(IR)가 필요합니다.
통합 Replicat를 생성할 때 Oracle GoldenGate에 체크포인트 테이블이 필요합니다.
체크포인트 테이블을 포함하도록 기존 통합 Replicats를 재구축해야 합니다. ALTER REPLICAT 명령은 NODBCHECKPOINT로 생성된 기존 Replicat 프로세스에 체크포인트 테이블을 추가하는 데 사용할 수 없습니다.
릴리스 19.25.0.0.241015 - 2024년 10월
Oracle GoldenGate Wallets 보안 업데이트
Oracle GoldenGate 전자 지갑에서 자동 로그인 속성이 제거됨
인증서 정보(마이크로서비스 사용자의 로그인 정보)를 저장하는 Oracle GoldenGate 전자 지갑의 보안을 강화하기 위해 Oracle GoldenGate 전자 지갑의 자동 로그인 속성이 제거되었습니다.
따라서 배치가 Oracle GoldenGate 릴리스 19.25 이상에 패치되고 시작된 후에는 암호로 보호된 전자 지갑을 자동 로그인 전자 지갑으로 다시 변환할 수 없으므로 이전 Oracle GoldenGate 릴리스 19.24 이하로 롤백할 수 없습니다.
Oracle GoldenGate 릴리스 19.25 이상에 패치를 적용하기 전에 전자 지갑에 저장된 정보를 가져오는 단기 임시해결책은 이전 버전의 자동 로그인 전자 지갑을 저장하고 이러한 전자 지갑을 롤백에 수동으로 복원하는 것입니다.
릴리스 19.1.0.0.230418 - 2023년 4월
Oracle
Oracle용 JDK와 함께 번들된 Opatches
이제 JDK가 릴리스 버전 21.10 및 19.1.0.0.230418부터 Oracle GoldenGate 패치에 패키지화됩니다. <GG_HOME>/jdk 디렉토리만 GoldenGate 패치 릴리스로 업데이트됩니다. GoldenGate 패치를 통해 또는 독립적으로 JDK를 업데이트하기 위한 추가 참조 및 자세한 내용은 Doc ID 2359395.1을 참조하십시오.
항상 <GG_HOME>/jdk 디렉토리에 최신 JDK 패치를 독립적으로 설치할 수 있습니다. 자세한 내용은 문서 ID 1492980.1을 참조하십시오.
릴리스 19.1.0.0.200714 - 2020년 9월
PostgreSQL
데이터를 지정하는 동안 매개변수 TransactionErrorBehavior을 2로 설정해야 합니다.
PostgreSQL Replicat에서 데이터베이스 오류 조건을 적절하게 처리할 수 있으려면 매개변수 TransactionErrorBehavior의 값을 2로 설정해야 합니다. Oracle GoldenGate의 필수 매개변수로, DSN 아래의 odbc.ini 파일 내에 지정해야 합니다. 다음은 매개변수를 지정하는 샘플 DSN입니다.
[ODBC]
IANAAppCodePage=4
InstallDir=/u01/ggate
[pgdsn]
Driver=/u01/ggate/lib/GGpsql25.so
Description=DataDirect 7.1 PostgreSQL Wire Protocol
Database=mypgdb
HostName=mypghost
PortNumber=5432
LogonID=mypguser
Password=**********
TransactionErrorBehavior=2
자세한 내용은 https://media.datadirect.com/download/docs/odbc/allodbc/index.html#page/odbc/transaction-error-behavior.html을 참조하십시오.
릴리스 19c(19.1.0.0.200714) - 2020년 7월
PostgreSQL
PostgreSQL Replicat에 대해 예상대로 작동하지 않는 DEFERAPPLYINTERVAL
데이터베이스 및 운영 체제에 대한 시간대가 동일하지 않으면 Replicat는 소스 시스템의 로컬 GMT 시간이 레코드 커밋 시간 기록 + DEFERAPPLYINTERVAL 지연보다 클 때까지 기다립니다.
Replicat가 Replicat 재시작 후 대소문자가 혼합되어 생성된 경우 체크포인트 테이블을 식별할 수 없습니다.
체크포인트 테이블 이름은 따옴표 없이 소문자여야 하며 특수 문자가 없어야 합니다.
릴리스 19c(19.1.0) - 2020년 5월
Oracle GoldenGate 홈 디렉토리 이름에 공백이 있는 경우 Oracle GoldenGate Configuration Assistant가 실행되지 않습니다.
Oracle GoldenGate 홈 디렉토리 이름 또는 OGG_HOME에 공백이 있는 경우(예: OGG HOME) Windows에서 OGGCA(Oracle GoldenGate Configuration Assistant)가 실행되지 않습니다.
릴리스 19c(19.1.0) - 2019년 9월
INFO HEARTBEATTABLE
SQL Server에 대한 INFO HEARTBEATTABLE 명령은 이제 하트비트 빈도 간격, 비우기 빈도 간격 및 보존 시간을 보고합니다.
TRANLOGOPTION QUERYTIMEOUT 기본값
SQL Server의 경우 기본 QUERYTIMEOUT가 30초에서 300초로 확장되었습니다.
DDL 변경 후 검증 추가
소스 테이블과 변경 데이터 캡처 테이블 간의 테이블 구조 차이를 감지하면 SQL Server용 Extract가 비정상 종료됩니다.
TLS 1.2 연결 지원
SQL Server의 경우 TLS 1.2 연결 지원이 사용으로 설정된 경우 Extract 및 Replicat에서 자동으로 제공됩니다.
MySQL에서 Oracle GoldenGate 19c를 사용하기 위한 필수 조건
MySQL용 Oracle GoldenGate는 OpenSSL 라이브러리에 종속되므로 OpenSSL 라이브러리의 가용성이 필수 조건입니다.
Linux: OpenSSL 라이브러리가 설치된 경로를 포함하도록 LD_LIBRARY_PATH를 설정합니다.
Windows: MySQL 8.0 이상의 경우 OpenSSL 라이브러리는 MySQL 서버와 함께 제공되며 MySQL 홈 디렉토리의 \bin 디렉토리에 보관됩니다. OpenSSL의 위치가 경로 환경 변수에 추가되었는지 확인해야 합니다.
예를 들어, D:\path\to\MySQLServer_install_dir\bin 디렉토리를 PATH 환경 변수에 추가해야 합니다.
또는 OpenSSL 라이브러리가 포함된 최신 MySQL C++ 커넥터(MySQL 8.0 이상)를 설치하고 OpenSSL의 위치가 경로 환경 변수에 추가되었는지 확인할 수 있습니다. 예를 들어, C:\Program Files\MySQL\Connector C++ 8.0\lib64 디렉토리를 PATH 환경 변수에 추가해야 합니다.
MySQL 5.7 이하의 경우 OpenSSL 라이브러리가 포함된 최신 MySQL C++ 커넥터(MySQL 8.0 이상)를 설치하고 OpenSSL의 위치가 PATH 환경 변수에 추가되었는지 확인해야 합니다. 예를 들어, C:\Program Files\MySQL\Connector C++ 8.0\lib64 디렉토리를 PATH 환경 변수에 추가해야 합니다.
MySQL 8.0용 Oracle GoldenGate는 OpenSSL 라이브러리에 종속되어 있으므로 이 라이브러리의 가용성이 필수 조건입니다. Oracle GoldenGate를 실행하는 시스템에 라이브러리가 설치되어 있고 이 라이브러리에 대한 경로가 적절히 설정되어 있는지 확인해야 합니다.
Oracle GoldenGate 사용자 이름에 대한 패턴 제한은 없지만 최대 길이는 512자입니다.
Oracle GoldenGate 사용자 이름에 대한 제약 조건이 제거되었지만 최대 길이는 512자입니다. 기본 및 인증서 유형 사용자의 경우 REST API에서 사용자 이름에 대한 특수 문자에 대한 제약 조건이 없습니다.
그러나 Microservice Architecture 웹 인터페이스에서 사용자 이름에는 기본 유형 사용자에 대한 특정 특수 문자만 포함될 수 있습니다. 다음 문자는 다음과 같습니다.
at sign (@), period (.) , dash (-), comma (,), underscore (_), number sign (#), dollar sign ($), plus sign (+), backslash (\), slash (/), equal sign (=), less than sign (<), or greater than sign (>).
릴리스 19c(19.1.0) - 2019년 5월 초기 릴리스
마이크로서비스를 구현하려면 더 강력한 비밀번호가 필요합니다.
마이크로서비스를 구현하는 사용자의 비밀번호에는 대문자, 숫자 및 특수 문자가 포함된 더 강력한 비밀번호가 필요합니다.
추적 파일 형식
추출 업데이트 후 최신 추적 파일 형식이 지정된 경우 기본 추출은 지정된 추적 파일 형식으로 다음 추적 파일 및 기록기로 자동으로 롤오버됩니다. ALTER EXTRACT ETROLLOVER 명령을 실행할 필요가 없습니다.
기본 추적 파일 버전 추출
FORMAT RELEASE 옵션을 사용하여 추적 파일 형식 버전을 명시적으로 지정하지 않는 한 Oracle GoldenGate 19c로 업그레이드할 때 기본 Extract는 기존 추적 파일 형식과 동일한 형식으로 추적 파일을 씁니다. 이 동작 변경으로 인해 Replicat가 업그레이드되지 않은 경우 후속 Replicat가 비정상 종료되지 않습니다.
_INFINITYTOZERO 매개변수는 더 이상 필요하지 않습니다.
_INFINITYTOZERO 매개변수는 더 이상 필요하지 않습니다. Oracle GoldenGate가 Oracle 숫자 필드에서 +INF 또는 -INF 값을 감지하면 이 매개변수가 이미 설정된 것처럼 자동으로 처리됩니다.
대상이 Oracle Replicat 19c 릴리스인 경우 +INF 및 -INF가 제대로 적용됩니다. 이전 Oracle Replicat를 비롯한 다른 모든 데이터베이스의 경우 0 값이 적용됩니다.
Oracle TIMESTAMP WITH TIME ZONE 캡처
이제 FETCH 및 초기 로드에 대해 지역 ID 데이터가 포함된 TIMEZONE가 포함된 TIMESTAMP가 지원됩니다. 자세한 내용은 Oracle GoldenGate 참조에서 [TRANLOGOPTIONS](/pls/topic/lookup?ctx=en/middleware/goldengate/core/19.1/release-notes&id=GWURF-GUID-B6ADFEC9-10E6-456D-9477-088513E113AF)를 참조하십시오.
이 기능은 필요한 경우 자동으로 사용으로 설정되며 더 이상 TRANLOGOPTIONS INCLUDEREGIONID를 지정할 필요가 없습니다. 비Oracle 대상의 경우 TRANLOGOPTIONS INCLUDEREGIONIDWITHOFFSET를 사용하여 지역 ID를 UTC의 시간 오프셋으로 변환합니다.
GETCTASDML 옵션 기본 설정
TRANLOGOPTIONS 매개변수와 함께 사용할 수 있는 GETCTASDML 옵션은 기본적으로 사용으로 설정됩니다.
NOALLOWNULLABLEKEYS 기본 설정
NOALLOWNULLABLEKEYS 매개변수에 대한 기본 설정은 true로 설정됩니다.
이 기능은 고객이 키 열에서 허용되는 여러 NULL 값으로 인해 문제가 있을 수 있는 테이블을 쉽게 식별할 수 있도록 하기 위해 생성되었습니다.
Binlog 형식 지원 변경
(MySQL만 해당) Capture는 ROW 이외의 binlog_format를 감지할 때 비정상 종료하는 대신 ROW 형식으로 기록되지 않은 binlog 이벤트를 자동으로 무시합니다.