STEP4 Oracle Golden Gate를 사용하여 로컬 제작 환경 사용
4494 단어 GoldenGateoracle19c
다음과 같은 Oracle Golden Gate 환경을 로컬에서 구축합니다.

STEP1.oracle Database CUI 설치
STEP2.oracle Golden Gate 설치
STEP3. Oracle Golden Gate 설정
STEP4 Oracle Golden Gate 사용 (본문)
오라클 골든 게이트를 사용하려면
1. 서비스 시작 등
2. Golden Gate 프로세스 시작
3. 테스트표 작성
4. 테스트 수행
1. 서비스 시작 등(원본과 타겟 모두 실행)
Listener와 Oracle 인스턴스가 가상 환경을 시작할 때 시작하는 설정이 없으면 가상 환경을 시작할 때마다 시작해야 합니다.
이 작업은 소스 및 대상 가상 환경에서 수행됩니다.
가상 환경에 진입
# ソース側
vagrant ssh myora1
# ターゲット側
vagrant ssh myora2
소스 및 대상 가상 환경에서 실행# ユーザ変更
$ sudo su - oracle
# Listener起動
$ lsnrctl start LISTENER
# Oracleインスタンス 起動
$ sql / as sysdba
SQL> startup
# PDB open
SQL> alter pluggable database all open;
SQL> exit
2. Golden Gate 프로세스 시작먼저 대상(myora2)의 프로세스를 시작합니다.
그렇지 않으면 원본 프로그램을 시작할 때 연결이 실패합니다.
대상 측면(myora2)
# ggsci 起動
$ /gg/ggsci
# Manager 起動
GGSCI (myora2) x> start manager
Manager started.
# Replicat 起動
GGSCI (myora2) x> start repli2
Sending START request to MANAGER ...
REPLICAT REPLI2 starting
# 起動プロセス確認
GGSCI (myora2) x> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPLI2 00:00:00 00:00:06
# 終了
GGSCI (myora1) x> exit
다음에 원본 프로그램 (myora1) 을 시작합니다.소스 옆(myora1)
# ggsci 起動
$ /gg/ggsci
# Manager 起動
GGSCI (myora1) x> start manager
Manager started.
# Capture 起動
GGSCI (myora1) x> start capture1
Sending START request to MANAGER ...
EXTRACT CAPTURE1 starting
# Pump 起動
GGSCI (myora1) x> start pump1
Sending START request to MANAGER ...
EXTRACT PUMP1 starting
# 起動プロセス確認
GGSCI (myora1) x> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING CAPTURE1 00:00:00 00:00:02
EXTRACT RUNNING PUMP1 00:00:00 00:00:00
# 終了
GGSCI (myora1) x> exit
3. 테스트표 작성원본 (myora1) 과 목표 (myora2) 에서 테스트용 표를 만듭니다.
원극측(myora1)과 목표측(myora2) 둘
# Oracle PDB ログイン
$ sql c##gguser/oracle@//localhost:1521/ORCLPDB1
SQL> CREATE TABLE TABLE_X (COL_A NUMBER, COL_B VARCHAR(382), COL_C NUMBER, COL_D DATE);
Table created.
SQL> DESC TABLE_X;
Name Null? Type
----------------------------------------- -------- ----------------------------
COL_A NUMBER
COL_B VARCHAR2(382)
COL_C NUMBER
COL_D DATE
SQL> exit
4. 테스트 수행소스 테이블에 레코드를 삽입합니다.
소스 옆(myora1)
# Oracle PDB ログイン
$ sql c##gguser/oracle@//localhost:1521/ORCLPDB1
SQL> INSERT INTO TABLE_X (COL_A, COL_B, COL_C, COL_D) VALUES (10000, '10000-abc-1', 1, sysdate);
SQL> commit;
SQL> SELECT * from TABLE_X;
COL_A COL_B COL_C COL_D
10000 10000-abc-1 1 xx-SEP-21
원본 파일에 기록을 삽입했습니다.그럼 목표 쪽을 확인해 볼게요.
대상 측면(myora2)
# Oracle PDB ログイン
$ sql c##gguser/oracle@//localhost:1521/ORCLPDB1
SQL> SELECT * from TABLE_X;
COL_A COL_B COL_C COL_D
10000 10000-abc-1 1 xx-SEP-21
같은 기록이 퍼지고 있는 것을 확인했다.1대의 로컬 환경에서 시작된 2대의 가상 환경 사이를 동기화 처리하면 10초 정도에 전파된다.
다음은 그 기록을 삭제해 보자.
소스 옆(myora1)
SQL> DELETE FROM TABLE_X WHERE COL_A = 10000;
1 row deleted.
SQL> commit;
Commit complete.
SQL> SELECT * from TABLE_X;
no rows selected
목표를 확인해 보자.대상 측면(myora2)
SQL> select * from table_x;
no rows selected
이(가) 삭제되었습니다.기록의 삽입과 삭제 처리에 관하여 원본→목표 전파를 확인하였다.
지금까지 Oracle DB와 Oracle Golden Gate를 로컬 환경에 설치하여 실제 데이터 업데이트가 전파된 사실을 확인했습니다.
현지 환경이지만 기본적인 설정과 동작을 이해할 수 있다.
Oracle Golden Gate(라이센스료는 비싸지만...)는 백업용 DB 등 실시간 복제를 원하는 조건에 유력한 후보로 꼽힌다.
Reference
이 문제에 관하여(STEP4 Oracle Golden Gate를 사용하여 로컬 제작 환경 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/blueskyarea/items/031a09802f1ad08da346텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)