Oracle용 Amazon RDS에서 Oracle Object Storage로 데이터 복제
Oracle Cloud Infrastructure GoldenGate를 사용하여 Oracle용 Amazon RDS에서 Oracle Object Storage로 데이터를 복제하는 방법을 알아봅니다.
시작하기 전에
이 빠른 시작을 성공적으로 완료하려면 다음이 있어야 합니다.
-
Oracle Cloud 계정에 사인인하거나 사인인합니다.
-
Environment 설정에 설명된 Oracle 인스턴스용 소스 Amazon RDS입니다.
환경 설정: Oracle용 Amazon RDS
Oracle 인스턴스용 Amazon RDS를 프로비전한 후 다음 단계에 따라 Oracle GoldenGate와 함께 사용할 소스 데이터베이스를 설정합니다.
-
소스 데이터베이스에서 보완 로깅을 설정합니다.
-
ENABLE_GOLDENGATE_REPLICATION초기화 매개변수를true로 설정합니다. -
Source Database의 아카이브를 활성화하고 아카이브된 리두 로그를 보존합니다.
-
소스 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.
-
소스 데이터베이스에 대한 사용자 계정 권한을 부여합니다.
GRANT CREATE SESSION, ALTER SESSION TO GGADMIN; GRANT RESOURCE TO GGADMIN; GRANT SELECT ANY DICTIONARY TO GGADMIN; GRANT FLASHBACK ANY TABLE TO GGADMIN; GRANT SELECT ANY TABLE TO GGADMIN; GRANT EXECUTE ON DBMS_FLASHBACK TO GGADMIN; GRANT SELECT ON SYS.V_$DATABASE TO GGADMIN; GRANT ALTER ANY TABLE TO GGADMIN; EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'GGADMIN', privilege_type => 'capture', grant_select_privileges => true, do_grants => TRUE); -
샘플 데이터베이스 스키마를 다운로드하고 압축을 풉니다.
-
소스 샘플 스키마 및 데이터를 로드합니다.
-
SQL Developer에서 Amazon RDS for Oracle 인스턴스에
SRC_OCIGGLL사용자로 연결합니다. -
OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql에서 스크립트를 복사하여 SQL Worksheet에 붙여 넣습니다. -
스크립트 실행을 선택합니다. 스크립트 출력 탭에는 확인 메시지가 표시됩니다.
-
SQL Worksheet를 지운 다음
OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql에서 SQL 스크립트를 복사하여 붙여 넣습니다.참고: SQL 도구가 스크립트를 성공적으로 실행하려면 각 명령문을 별도로 실행해야 할 수 있습니다.
-
테이블이 성공적으로 생성되었는지 확인하려면 SQL window를 닫고 다시 여십시오. Navigator 탭에서
SRC_OCIGGLL스키마를 찾은 다음 해당 드롭다운 목록에서 테이블을 선택합니다.
-
작업 1: OCI GoldenGate 리소스 생성
-
Oracle 인스턴스용 소스 Amazon RDS에 대한 Oracle 배치를 생성합니다.
-
빅데이터 배포를 생성하여 대상 Oracle Object Storage 버킷을 생성합니다.
-
Oracle 인스턴스용 소스 Amazon RDS에 대한 접속을 생성합니다.
-
Big Data 배치에 퍼블릭 끝점이 없는 경우 GoldenGate에 대한 접속을 생성하고 이 접속을 소스 Oracle 배치에 지정합니다.
작업 2: Extract 추가 및 실행
-
Deployments 페이지에서 Oracle 배치용 소스 Amazon RDS를 선택합니다.
-
배포 세부정보 페이지에서 콘솔 실행을 선택합니다.
-
소스 배포의 관리자 사용자 이름 및 비밀번호로 로그인합니다.
작업 3: 배포 경로 추가 및 실행
-
GoldenGate 인증서 저장소를 사용하는 경우 대상 Big Data 배치에서 배포 경로에 대한 사용자를 생성하고, 그렇지 않은 경우 3단계로 건너뜁니다.
-
소스 GoldenGate 배치 콘솔에서 1단계에서 생성한 사용자에 대한 경로 접속을 추가합니다.
-
소스 GoldenGate 배치 콘솔의 왼쪽 탐색에서 경로 접속을 선택합니다.
-
Add Path Connection(더하기 아이콘)을 선택한 후 다음을 완료합니다.
-
자격 증명 별칭에
GGSNetwork을 입력합니다. -
사용자 ID의 경우 1단계에서 만든 사용자의 이름을 입력합니다.
-
확인을 위해 사용자 암호를 두 번 입력합니다.
-
-
제출을 선택합니다.
경로 연결이 경로 연결 목록에 나타납니다.
-
-
source 배치 콘솔에서 다음 값을 사용하여 배포 경로를 추가합니다.
-
소스 옵션 페이지에서 다음을 수행합니다.
-
소스 추출의 경우 태스크 2에서 생성된 추출을 선택합니다.
-
트레일 이름에 2자 이름(예:
E1)을 입력합니다.
-
-
대상 옵션 페이지에서 다음을 수행합니다.
-
대상 호스트에 대상 배치의 호스트 도메인을 입력합니다.
-
포트 번호에서
443을 입력합니다. -
트레일 이름에 2자 이름(예:
E1)을 입력합니다. -
별칭의 경우 단계 2에서 생성된 인증서 별칭을 입력합니다.
-
-
-
대상 Big Data 배치 콘솔에서 배포 경로의 결과로 생성된 수신기 경로를 검토합니다.
-
대상 Big Data 배치 콘솔에서 수신기 서비스를 선택합니다.
-
경로 세부정보를 검토합니다. 이 경로는 이전 단계에서 생성된 배포 경로의 결과로 생성되었습니다.
-
작업 4: Replicat 추가 및 실행
-
대상 Big Data 배치 콘솔 탐색 메뉴에서 복제를 선택합니다.
-
[복제] 페이지에서 복제 추가(더하기 아이콘)를 선택한 후 다음과 같이 양식을 완성합니다.
-
Replicat Information 페이지에서 다음을 수행합니다.
-
복제 유형에 대해 클래식 복제를 선택합니다.
-
프로세스 이름에
REP과 같은 이름을 입력합니다.
-
-
Replicat Options 페이지에서 다음을 수행합니다.
-
복제 추적 이름에 2자 이름(예:
E1)을 입력합니다. -
대상의 경우 Oracle Object Storage를 선택합니다.
-
-
Parameter File 페이지에서
MAP *.*, TARGET *.*;를 다음으로 바꿉니다.MAP SRC_OCIGGLL.*, TARGET *.*; -
Properties File 페이지에서 필요에 따라 OCI 이벤트 처리기 속성을 구성합니다.
필수 속성:
-
gg.eventhandler.oci.compartmentID: Oracle Object Storage 버킷이 상주하는 컴파트먼트 OCID입니다. -
gg.handler.oci.fileNameMappingTemplate: 템플리트 키워드를 사용하여 파일 이름을 동적으로 생성합니다.
수정할 수 있는 등록 정보는 다음과 같습니다.
-
gg.handler.oci.format: 출력의 형식을 지정하는 방법을 선택합니다. 기본 설정은json_row입니다. 사용 가능한 옵션은 다음과 같습니다.-
참고: Oracle Object Storage에 대한 형식 지정 속성을 사용하려면
name를oci로 바꿉니다. 예를 들어,gg.handler.name.format는gg.handler.oci.format가 됩니다.
-
gg.handler.oci.inactivityRollInterval: GoldenGate가 파일을 생성하고 쓰기 위해 열린 상태로 유지합니다. 이 속성은 지정된 비활동 기간(수신 트랜잭션 없음) 후에 파일을 닫은 다음 Oracle Object Storage로 로드합니다. 기본적으로 5초로 설정됩니다. 밀리초(밀리초), 초(초), 분(m) 또는 시간(h)으로 시간을 지정할 수 있습니다. 예:gg.handler.oci.inactivityRollInterval=10m. -
gg.handler.oci.maxFileSize: 파일 작성기 처리기는 파일을 열고 메타 데이터 변경 사항이 없다고 가정하여 최대 파일 크기에 도달할 때까지 파일을 열린 상태로 유지합니다. 기본적으로 최대 파일 크기는 1GB이지만 이 등록 정보를 사용하여 변경할 수 있습니다. 크기에 도달하면 파일이 닫히고 새 파일이 생성됩니다. 예:gg.handler.oci.maxFileSize=500m. -
gg.handler.oci.rollOnShutdown: 기본값은 true입니다. true로 설정하면 Replicat 프로세스를 정지할 때 GoldenGate가 열린 파일을 종료합니다. 기본적으로 파일 작성기 처리기는 Replicat가 다시 시작될 때 Replicat가 중지되고 동일한 파일에 계속 쓰는 경우에도 파일을 열린 상태로 유지합니다. 예:gg.handler.oci.rollOnShutdown=false -
gg.handler.oci.fileRollInterval: 파일을 닫고 새 파일로 롤오버하기 전에 해당 파일을 열린 상태로 유지하는 시간을 지정합니다. 기본적으로 7분으로 설정됩니다. 밀리초(밀리초), 초(초), 분(m) 또는 시간(h)으로 시간을 지정할 수 있습니다. 예:gg.handler.oci.fileRollInterval=10m. -
gg.eventhandler.oci.bucketMappingTemplate: Oracle Object Storage 버킷 이름을 입력합니다.
-
-
생성 및 실행을 선택합니다.
-
작업 5: 복제 확인
Oracle 인스턴스용 소스 Amazon RDS에 대한 일부 업데이트를 수행하여 Oracle Object Storage에 대한 복제를 확인합니다.
-
SQL Developer에서 Amazon RDS for Oracle 인스턴스에
SRC_OCIGGLL사용자로 연결합니다. -
워크시트에 다음을 입력하고 스크립트 실행을 선택합니다.
Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002); -
소스 GoldenGate OCI GoldenGate 배치 콘솔에서 추출 이름을 선택한 다음 통계를 선택합니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.
-
대상 Big Data OCI GoldenGate 배치 콘솔에서 Replicat 이름을 선택한 다음 통계를 선택합니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.