나그네소
Ark CDC(Postgresql) 본문
Ark CDC 실시간 복제 솔루션을 소개 한다. 주력 제품은 Oracle for Oracle인 것으로
보이는데 나는 Opensource 관련 제품에 관심이 있어 이번 주제는 Opensouce인 postgresql
복제 관련 부분에 대하여 알아 본다.
일단 복제 솔루션은 제품의 Architecture보니 Software Replication으로 보면 될 것 같다.
Oracle의 OGG이용 하기 보다는 Logfile dump 하여 해당 내용을 추출 network 통화여 전송
후 이를 동기화 하는 일반적인 Replication 솔루션으로 보인다.
1. Ark 설치
Ark CDC oracle & postgresql 실시간 복제 솔루션
1-1) 소프트웨어 요구 사항 설치
- OPENSSL (LINUX 5)
- GNUTLS (LINUX 6/7)
2. Agent 설치 (Oracle 설치)
(source, target 둘다 설치해야 한다.)
2-1) 데이터베이스 설치 유저로 접속 한다.
su - oracle
2-2) tar xvf ArkCDC.tar
2-3) linux profile 설정(.bash_profile)
# ArkCDC PATH & LIBRARY PATH Environment Variables #
export ARKCDC_NAME=<DATABASE NAME>
export ARKCDC_HOME=/data/ARKCDC
export PATH=$ARKCDC_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ARKCDC_HOME/lib:$LD_LIBRARY_PATH
ex)
# ArkCDC PATH & LIBRARY PATH Environment Variables #
export ARKCDC_NAME=orcl # select * from v$database;
export ARKCDC_HOME=/home/oracle/ARKCDC
export PATH=$ARKCDC_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ARKCDC_HOME/lib:$LD_LIBRARY_PATH
참고 : AC/ASM 환경 추가 설정
※ Oracle RAC 혹은 ASM 환경에서는 환경변수 GRID_SID, GRID_HOME을 추가적으로 설정합니다.
export GRID_SID=<ASM Instance Name>
export GRID_HOME=<Grid Infrastructure 설치 경로>
ex)
export GRID_SID=+ASM
export GRID_HOME=/data/grid/product/12.2.0/grid
2-4) License File 입력
Ark for CDC 라이센스 파일(arklicense.dat)을 $ARKCDC_HOME/conf 디렉토리 하위로 복사합니다.
참고] 디렉토리 구조
3. Agent 설치 (Postgresql 설치)
3-1) 데이터베이스 설치 유저로 접속 한다.
su - postgres
3-2) tar xvf ArkCDC.tar
3-3) linux profile 설정(.bash_profile)
#ARK_CDC
export ARKCDC_NAME=edb
export ARKCDC_HOME=/home/enterprisedb/ARKCDC
export PATH=$ARKCDC_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ARKCDC_HOME/lib
3-4) License File 입력
Ark for CDC 라이센스 파일(arklicense.dat)을 $ARKCDC_HOME/conf 디렉토리 하위로 복사합니다.
4. 사전 절차( source : oracle만 수행)
4-1) Archive Log Mode 설정
- Archive Log Mode 설정 여부 확인
Source Database의 Archive Log Mode 설정 여부를 확인합니다.
- command
$ sqlplus '/as sysdba'
SQL> ARCHIVE LOG LIST
- command
- Archive Log Mode 설정 (Down Time 발생)
조회 결과가 ‘No Archive Mode’로 출력될 경우 Archive Log Mode를 설정합니다. Archive Log Mode 변경시Down Time이 발생합니다.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
- 캐릭터셋 확인
- 캐릭텃셋 확인(source database 캐릭터셋을 확인 합니다.)
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
PARAMETER VALUE
------------------------------ ------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_CHARACTERSET KO16MSWIN949
- Database Level Supplemental Logging 설정
- Database Min Level Supplemental Logging Mode 설정 여부 확인
- Database Min Level Supplemental Logging Mode 설정 여부 확인
Source Database의 Min Level Supplemental Logging 설정 여부를 확인합니다.
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN "MIN" FROM V$DATABASE;
MIN
--------
NO
- Database Min Level Supplemental Logging 설정