에디션 기반 재정의 사용
Oracle GoldenGate는 Oracle Databases와 에디션 기반 재정의(EBR) 사용을 지원하므로 사용 중인 애플리케이션의 데이터베이스 구성요소를 업그레이드할 수 있으므로 작동 중지 시간을 최소화하거나 제거할 수 있습니다.
에디션은 에디션 객체가 속한 비스키마 객체입니다. 에디션은 에디션된 객체를 소유하거나 네임스페이스로 간주할 수 있습니다. 모든 데이터베이스는 ORA$BASE이라는 하나의 에디션으로 시작합니다. 여기에는 업그레이드된 데이터베이스가 포함됩니다. 하나 이상의 에디션이 데이터베이스에 존재할 수 있으며 각 에디션은 하나의 하위만 가질 수 있습니다. 예를 들어, edition1, edition2, edition3의 세 버전을 연속으로 생성하는 경우 edition1는 edition3의 상위인 edition2의 상위입니다. 이는 유저나 데이터베이스 세션에 관계없이 생성되거나 새 에디션이 생성될 때 현재 버전이었던 것입니다. 에디션을 만들면 해당 상위의 모든 에디션된 객체가 상속됩니다. Oracle GoldenGate와 함께 에디션을 사용하려면 에디션을 생성해야 합니다.
객체는 에디션 가능 유형이고, EDITIONABLE 속성으로 생성되며, 해당 객체 유형의 에디션에 대해 스키마가 사용으로 설정된 경우 에디션된 것으로 간주됩니다. 에디션화된 객체를 생성, 변경 또는 삭제할 때 리두 로그에는 해당 에디션이 속한 에디션의 이름이 포함됩니다. 컨테이너 데이터베이스에서 에디션은 컨테이너에 속하며 각 컨테이너에는 고유의 기본 에디션이 있습니다.
모든 Extract 구성에 대해 CREATE | DROP EDITION DDL이 캡처됩니다. OTHER 범주에 속하며 EDITION의 OBJTYPE 옵션 값이 지정되었습니다. OBJTYPE 옵션은 필터링에 사용할 수 있습니다. 예를 들면 다음과 같습니다.
DDL EXCLUDE OBJTYPE EDITION
DDL EXCLUDE OBJTYPE EDITION OPTYPE CREATE
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP ALLOWEMPTYOWNER OBJNAME *edition_name*
Extract 또는 Replicat에서 에디션을 제외하려면 다음 구문을 사용해야 합니다.
EXCLUDE OBJTYPE EDITION, ALLOWEMPTYOWNER OBJNAME *edition_name*
에디션은 OTHER 범주에 속하므로 에디션 이름에 대해 매핑이 수행되지 않습니다. 적용되면 USE 권한이 Replicat 사용자에게 자동으로 부여됩니다. 또한 Replicat는 사용자가 대상 데이터베이스에 있는 경우 원래 생성 사용자에게 grant use on edition name with grant option을 수행합니다. 에디션은 매핑 가능한 작업이 아니므로 소유자가 없으므로 표준 EXCLUDE 문이 작동하지 않습니다.
에디션을 생성하거나 변경하는 데 사용되는 DDL은 사용자가 에디션을 사용으로 설정하지 않고 에디션에 대한 스키마를 사용으로 설정합니다. 이는 에디션이 에디션된 객체에 DDL을 적용하기 위해 Replicat 사용자를 사용으로 설정할 필요가 없기 때문에 중요한 차이점입니다. Replicat는 CREATE EDITION DDL을 적용할 때 원래 사용자가 대상 데이터베이스에 있는 경우 원래 생성 사용자 권한을 USE에 부여합니다. 복제되지 않은 CREATE EDITION 문의 경우 Replicat 사용자에게 USE WITH GRANT OPTION 권한 부여를 실행해야 합니다.
에디션 가능 객체가 에디션화되는지 여부는 적용된 스키마에 의해 제어됩니다. 에디션 이름 속성이 트레일 파일에 있고 비어 있지 않은 경우 Replicat는 DDL을 적용하기 전에 현재 세션 에디션을 전환합니다.
컨테이너 데이터베이스 환경은 Extract 및 Replicat에 모두 지원됩니다. 추가 구성은 필요하지 않습니다. 일반 사용자인 경우 에디션에 대해 Replicat 사용자의 스키마를 사용으로 설정할 수 없습니다. 다른 스키마의 에디션된 객체에 DDL을 적용할 때 에디션에 대해 Replicat 사용자의 스키마를 사용으로 설정할 필요가 없습니다.
Oracle Database 23ai 이후부터는 이전에 차단되었던 온라인 DDL 작업을 수행할 수 있습니다. 따라서 EBR(Edition Based Redefinition)을 통해 수행되는 Oracle Application 업그레이드를 위한 추가적인 유연성을 제공합니다. 자세한 내용은 Oracle AI Database Development Guide의 Using Edition-Based Redefinition을 참조하십시오.
또한 Oracle GoldenGate Extract 및 Replicat는 이러한 DDL 작업에 대한 복제를 관리할 수 있으므로 Oracle Application 업그레이드의 변경 사항이 올바르게 복제됩니다. 또한 ACDR이 제거된 테이블에서 사용되지 않은 열을 온라인으로 DROP할 수 있습니다.