이 장에는 SharePlex에서 지원하는 Oracle DDL 작업을 복제하기 위해 알아야 할 정보가 포함되어 있습니다.
이 장에는 SharePlex에서 지원하는 Oracle DDL 작업을 복제하기 위해 알아야 할 정보가 포함되어 있습니다.
SharePlex는 Oracle 데이터베이스에 대해서만 DDL 복제를 지원합니다. SharePlex는 리두 로그에 기록된 특정 Oracle DDL 변경 사항을 복제합니다. 리두 로그를 우회하는 변경 사항은 복제되지 않습니다.
SharePlex가 지원하는 DDL에 대한 자세한 내용은 SharePlex 릴리스 노트를 참조하십시오.
단계화 구성에서는 중간 시스템을 통해 소스에서 타겟으로 DDL 복제가 지원됩니다. 그러나 중간 시스템에서 시작된 DDL은 불일치로 인해 Post 오류가 발생할 수 있으므로 피해야 합니다. 자세한 내용은 중간 시스템을 통한 복제 설정를 참조하십시오.
SharePlex 사용자가 소유한 객체 또는 시스템 소유 객체에 대한 DDL은 복제되지 않습니다.
참고: SharePlex 복제에서는 소스 데이터베이스와 타겟 데이터베이스의 버전이 다를 수 있기 때문에 소스 객체와 타겟 객체가 다를 수 있습니다. 타겟에 DDL을 적용할 때 해당 작업이 타겟에서는 금지되어 있지만 소스에서는 허용되는 경우 실패할 수 있습니다.
DDL이 지원되는 객체 목록은 SharePlex 릴리스 노트를 참조하십시오.
기본적으로 SharePlex는 활성 구성에 나열된 객체에 대한 일부 Oracle DDL을 복제하지만(명시적으로 또는 와일드카드로) 매개변수 설정을 통해 이 지원을 확장할 수 있습니다.
중요!
|
SharePlex는 구성 파일의 객체에 대한 기본 DDL 지원을 제공합니다. 매개변수 설정을 통해 이 지원을 확장할 수 있습니다.
SharePlex에서 지원하는 DDL에 대한 자세한 내용은 SharePlex 릴리스 노트를 참조하하십시오.
SharePlex는 기본적으로 몇 가지 기본 DDL 지원을 제공합니다.
기본적으로 SharePlex는 다음을 복제합니다.
ADD, MODIFY, DROP, SPLIT, COALESCE, MOVE, TRUNCATE, EXCHANGE PARTITION/SUBPARTITION
ADD, MODIFY 또는 DROP 컬럼
해당 경우:
이 기능은 SP_OCT_REPLICATE_DDL 매개변수로 제어됩니다.
유효한 값은 다음과 같습니다.
0(ALTER TABLE 및 TRUNCATE 모두 복제 비활성화)
1(ALTER 복제만 활성화)
2(TRUNCATE 복제만 활성화)
3(ALTER 및 TRUNCATE 복제 활성화)
기본적으로 SharePlex 자동 추가 기능도 활성화되어 있어 활성화 후에 생성되는 테이블 및 인덱스에 대한 DDL 지원을 제공합니다. SharePlex가 이러한 객체 중 하나에 대한 CREATE 문을 감지하고 해당 이름이 구성 파일의 와일드카드를 충족하는 경우 SharePlex는 다음을 수행합니다.
자동 추가 기능은 SP_OCT_AUTOADD_ENABLE 매개변수에 의해 제어되며, 이는 기본적으로 1(활성화)로 설정됩니다.
이 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
구성 파일에 있는 객체에 대해 실행되는 경우 다음 DDL의 복제를 활성화할 수 있습니다. DDL 명령 복제를 활성화하려면 관련 매개변수를 1로 설정합니다.
DDL 명령 | 이 매개변수를 1로 설정 |
---|---|
CREATE / DROP TRIGGER | SP_OCT_REPLICATE_TRIGGER |
CREATE / DROP SYNONYM | SP_OCT_REPLICATE_SYNONYM |
GRANT | SP_OCT_REPLICATE_GRANT |
이러한 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
다음 표에 나열된 객체 유형을 포함하도록 자동 추가 지원을 확장할 수 있습니다. 이름이 활성 구성 파일의 와일드카드 사양을 충족하는 경우 객체가 복제에 추가됩니다.
개별 객체 유형의 자동 추가를 활성화하려면 다음을 수행합니다.
다음 테이블을 참조하여 적절한 매개변수를 1로 설정합니다.
자동 추가를 위한 DDL | 1로 설정할 매개변수 | 추가 요구 사항 |
---|---|---|
시퀀스 생성/삭제 | SP_OCT_AUTOADD_SEQ |
SP_SYS_TARGET_COMPATIBILITY 매개변수를 8.6.3 이상으로 설정 |
구체화된 뷰 생성/삭제* | SP_OCT_AUTOADD_MVIEW |
SP_SYS_TARGET_COMPATIBILITY 매개변수를 8.6.2 이상으로 설정 |
* SharePlex는 구체화된 뷰를 구체화된 뷰로 복제하지 않습니다. SharePlex는 CREATE MATERIALIZED VIEW를 CREATE TABLE로 변환하고 CREATE TABLE을 타겟에 적용한 후 뷰를 채우는 DML을 복제합니다. SharePlex는 DROP MATERIALIZED VIEW를 복제하지만 ALTER MATERIALIZED VIEW는 복제하지 않습니다. 이러한 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
구성 파일에 나열되지 않은 특정 객체에 대해 DDL을 복제하도록 SharePlex를 구성할 수 있습니다. SharePlex는 DDL 문을 복제하지만 객체에 대한 데이터 변경 작업은 활성 복제의 일부가 아니기 때문에 복제하지 않습니다. 따라서 SharePlex는 타겟에서 이러한 객체의 동기화를 유지하지 않습니다. 구성을 활성화하기 전에 객체가 소스와 타겟에 있어야 합니다.
참고: 확장된 DDL 복제는 테이블과 시퀀스뿐만 아니라 복제에 속하지 않는 프로시저, 함수, 사용자, 뷰 등 다양한 객체도 지원합니다. 이러한 객체 중 일부에는 복제에 있는 기본 객체가 있을 수 있습니다. 이러한 경우 확장된 DDL 복제는 복제 구성 외부에 있는 객체뿐만 아니라 복제에 있는 기본 객체에도 적용됩니다. |
SharePlex Oracle Flashback Table 기능을 지원하지 않습니다. SP_REPLICATE_ALL_DDL 매개변수가 활성화된 경우(값 1) SharePlex는 플래시백 DDL을 복제하려고 시도할 수 있으며 이로 인해 오류가 반환됩니다. 복제 중인 테이블에서 Flashback Table을 수행하려면 의 다음 절차를 수행하여 이 문제를 해결하십시오.
|
복제 구성 외부의 객체에 대한 DDL을 복제하려면 다음을 수행합니다.
Set the SP_OCT_REPLICATE_ALL_DDL 매개변수를 1로 설정합니다.
이 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
구성 파일에 없는 객체에 지원되는 DDL에 대한 자세한 내용은 SharePlex 릴리스 노트를 참조하십시오.
SP_OCT_REPLICATE_ALL_DDL 매개변수가 활성화되면 DDL이 복제되는 객체를 필터링할 수 있습니다. 복제 구성에 없는 DDL입니다.
참고: DDL 필터링은 복제 구성 외부의 객체에만 허용됩니다. DML이 성공하려면 소스 및 타겟 메타데이터의 일관성을 유지하기 위해 복제 구성 내의 객체에 수행되는 모든 DDL을 복제해야 합니다.
DDL 필터링은 SharePlex 스키마에 설치된 SHAREPLEX_DDL_CONTROL 테이블에서 제어됩니다.
Name |
Type |
------------- |
------------ |
DDL_PARAMETER |
NUMBER |
DDL_CODE |
NUMBER |
SCHEMA_FILTER |
VARCHAR2(32) |
OBJECT_FILTER |
VARCHAR2(32) |
SHAREPLEX_DDL_CONTROL 테이블의 각 행은 다음의 각 컬럼에 지정하는 내용을 기반으로 필터를 정의합니다.
SCHEMA_FILTER는 스키마 이름을 기준으로 DDL을 필터링합니다.
DDL_CODE 컬럼의 null 값은 필터가 모든 DDL 유형에 적용된다는 의미입니다. SCHEMA_FILTER 또는 OBJECT_FILTER 컬럼의 null은 필터가 어떤 스키마 또는 객체 이름에든 적용된다는 의미입니다.
참고: DDL_PARAMETER 컬럼은 이번 릴리스부터 활성 컬럼이 아닙니다.SharePlex
DDL을 필터링하려면 다음을 수행합니다.
활성 컬럼에 원하는 값이 있는 테이블에 행을 삽입합니다.
다음은 ALTER TABLE에 대한 DDL 복제를 필터링합니다.
INSERT INTO SPLEX.SHAREPLEX_DDL_CONTROL (DDL_CODE, SCHEMA_FILTER, OBJECT_FILTER) values (15,null,null);
다음은 스키마에서 이름이 TEST_로 시작하는 모든 객체에 대한 모든 DDL을 복제에서 필터링합니다.
INSERT INTO SPLEX.SHAREPLEX_DDL_CONTROL (DDL_CODE, SCHEMA_FILTER, OBJECT_FILTER) values (null,null,'TEST_%');
다음은 "Sales" 스키마에 대한 CREATE TABLE용 DDL과 이름이 "TEST_"로 시작하는 객체를 필터링합니다.
INSERT INTO SPLEX.SHAREPLEX_DDL_CONTROL (DDL_CODE, SCHEMA_FILTER, OBJECT_FILTER) values (1,'Sales','TEST_%');
DDL 유형 | DDL_CODE |
---|---|
CREATE TABLE | 1 |
ALTER TABLE | 15 |
DROP TABLE | 12 |
ASSOCIATE STATISTICS | 168 |
DISASSOCIATE STATISTICS | 169 |
COMMENT TABLE, COMMENT ON COLUMNS | 29 |
TRUNCATE | 85 |
CREATE INDEX | 9 |
ALTER INDEX | 11 |
DROP INDEX | 10 |
CREATE SEQUENCE | 13 |
ALTER SEQUENCE | 14 |
DROP SEQUENCE | 16 |
CREATE CLUSTER | 4 |
DROP CLUSTER | 8 |
CREATE USER | 51 |
ALTER USER | 43 |
DROP USER | 53 |
CREATE_ROLE | 52 |
ALTER_ROLE | 79 |
DROP_ROLE | 54 |
GRANT | 17 |
REVOKE | 18 |
CREATE SYNONYM | 19 |
DROP SYNONYM | 20 |
CREATE VIEW | 21 |
ALTER VIEW | 88 |
DROP VIEW | 22 |
CREATE TYPE | 77 |
ALTER TYPE | 80 |
DROP TYPE | 78 |
CREATE TYPE BODY | 81 |
DROP TYPE BODY | 83 |
CREATE FUNCTION | 91 |
ALTER FUNCTION | 92 |
DROP FUNCTION | 93 |
CREATE PROCEDURE | 24 |
ALTER PROCEDURE | 25 |
DROP PROCEDURE | 68 |
CREATE PACKAGE | 94 |
ALTER PACKAGE | 95 |
DROP PACKAGE | 96 |
CREATE PACKAGE BODY | 97 |
ALTER PACKAGE BODY | 98 |
DROP PACKAGE BODY | 99 |
CREATE DIRECTORY | 157 |
DROP DIRECTORY | 158 |
© 2025 Quest Software Inc. ALL RIGHTS RESERVED. 이용 약관 개인정보 보호정책 Cookie Preference Center