콘텐츠로 이동

2. 설치와 설정#

이 장에서는 Adapter for Oracle을 설치하고 사용환경을 설정하는 방법을 설명한다.

설치 전 작업#

oraAdapter를 설치하고 실행하기 위해서는 다음의 시스템 요구사항을 만족해야 한다. 또한 oraAdpater가 올바르게 작동하려면 몇가지 시스템 환경 설정도 필요하다.

시스템 요구사항에 대한 자세한 정보는 Altibase 고객서비스포털을 통해 확인할 수 있다.

운영체제#

현재 아래의 운영체제에서만 oraAdapter를 지원한다.

  • AIX 6.1

  • LINUX

데이터베이스 버전#

  • Altibase: 버전 6.5.1 이상
  • 오라클 데이터베이스: 버전 10g 또는 그 이상 (10g OCI와 호환되는 OCI 라이브러리가 필요하다. 자세한 내용은 설정의 라이브러리 경로를 참조한다.)

데이터베이스 문자집합#

이는 데이터를 저장하기 위한 기본 캐릭터셋이다.

Altibase와 오라클을 같은 데이터베이스 캐릭터셋으로 설정하면 데이터 변환과 관련된 비용을 줄일 수 있으므로, 같은 캐릭터셋으로 설정하기를 권장한다.

국가 문자집합#

데이터베이스 문자집합이 지원하지 않는 언어에 해당하는 데이터는 NCHAR 또는 NVARCHAR 타입을 사용해서 저장할 수 있다. 데이터베이스 문자집합과 마찬가지로, Altibase와 오라클의 내셔널 캐릭터셋을 같은 것으로 설정하면, 데이터 변환 비용을 줄일 수 있으므로, 같은 내셔널 캐릭터셋으로 설정하기를 권장한다.

인터페이스#

oraAdapter를 설치하기 전에 Oracle Call Interface (이하 OCI라 칭한다) 가 설치되어 있는지를 확인해야 한다. OCI 설치에 대한 자세한 설명은 관련된 오라클 문서를 참고한다.


설치#

디스플레이 설정이 적절히 되어 있다면 oraAdapter 인스톨러를 GUI모드로 실행할 수도 있다. 이 매뉴얼은 GUI모드로 수행하는 것을 가정하여 oraAdapter 설치에 대해 기술하였다. 또한 디스플레이 설정이 적절히 되어 있지 않거나 할 수 있는 상황이 아닐 때는, 텍스트 모드로 oraAdapter를 설치하는 것도 가능하다.

oraAdapter 설치#

  1. 첫 번째 작업은 oraAdapter 를 실행할 시스템에 맞는 oraAdapter 인스톨러의 버전을 결정하는 것이다. 아래의 그림은 oraAdapter 인스톨러의 명명 규칙을 보여준다.
    oraAdapter 의 버전은 같이 수행되는 Altibase의 버전과 같아야 한다.

    Altibaseversion

  2. 인스토러를 실행하면 다이얼로그 박스가 나타난다. 설치하려는 oraAdapter의 버전이 맞는지 확인한 후, "Next" 버튼을 누른다.

  3. 다음 다이얼로그 박스에서는 oraAdapter를 설치할 디렉터리를 선택한다. 기본으로 설치하고 있는 사용자 계정의 홈 디렉터리 내에 oraAdapter 라는 디렉터리를 생성하게 된다.

  4. oraAdapter를 사용하려면 Altibase Log Analyzer (ALA) 프로퍼티 설정을 다음처럼 해야 한다.

    • ALA_SENDER_IP: Altibase가 설치된 서버의 IP 주소이다. Altibase와 oraAdapter가 같은 서버 장비에서 작동하는 것을 가정하여, 이의 기본값은 127.0.0.1이다.

    • ALA_RECEIVER_PORT: oraAdapter가 대기하고 있는 포트 번호이다. 이는 1024에서 65536사이의 값으로 설정해야 한다.

    • ALA_REPLICATION_NAME: Altibase에 존재하는 이중화 객체의 이름이다.

    • ALA_XLOG_POOL_SIZE: XLog 풀의 최대 크기를 설정한다. 기본값은 100,000 XLog 개수이다.

    • ALA_SOCKET_TYPE: ALA가 사용할 통신 소켓 타입을 설정한다. oraAdapter는 TCP/IP와 UNIX Domain소켓을 지원한다.

    • ALA_LOGGING_ACTIVE: ALA가 트레이스 로그를 남길 것인지를 지정한다. 기본값은 1로 트레이스 로그를 남기게 된다.

  5. 다음 다이얼로그 박스에서는 Altibase 프로퍼티 설정을 해야 한다. 프로퍼티에 대한 자세한 설명은 이 장의 뒷 부분에 있는 "제약조건 확인용 프로퍼티"절을 참고한다.

    • ALTIBASE_USER: Altibase에 접근할 사용자의 이름이다.

    • ALTIBASE_PASSWORD: Altibase에 접근할 사용자 계정의 암호이다.

    • ALTIBASE_IP: Altibase가 설치된 서버 장비의 IP 주소이다. Altibase와 oraAdapter가 같은 서버 장비에서 작동하는 것을 가정하여, 이의 기본값은 127.0.0.1이다.

    • ALTIBASE_PORT: Altibase서버가 대기하고 있는 포트 번호이다. 이는 1024에서 65536사이의 값으로 설정해야 한다.

  6. oraAdapter를 사용하려면 오라클 DB 프로퍼티를 적절히 설정해야 한다. 프로퍼티에 대한 자세한 설명은 이 장의 뒷 부분에 있는 "OCI 프로퍼티"와 "DML 관련 프로퍼티"절을 참고한다.

    • ORACLE_SERVER_ALIAS: 오라클 DB에 접근하기 위한 앨리어스를 지정한다. 이를 명시하지 않으면, 기본 호스트로 설정된 오라클 DB로 접근할 것이다.

    • ORACLE_USER: 오라클 DB에 접근할 사용자의 이름이다.

    • ORACLE_PASSWORD: 오라클 DB에 접근할 사용자의 암호이다.

    • ORACLE_SKIP_INSERT: "Yes"를 선택하면, Altibase에서 실행된 INSERT 구문은 오라클 DB로 적용되지 않는다.

    • ORACLE_SKIP_UPDATE: "Yes"를 선택하면, Altibase에서 실행된 UPDATE 구문은 오라클 DB로 적용되지 않는다.

    • ORACLE_SKIP_DELETE: "Yes"를 선택하면, Altibase에서 실행된 DELETE 구문은 오라클 DB로 적용되지 않는다.

  7. 그 다음 두 다이얼로그 박스에서는 추가로 오라클 DB 프로퍼티를 설정해야 한다. 이 프로퍼티에 대한 자세한 설명은 이 장의 뒷 부분에 있는 "OCI 프로퍼티"절을 참고한다.

    • ORACLE_ASYNCHRONOUS_COMMIT: "Yes"를 선택하면, 오라클 DB에서 비동기 커밋 (asynchronous commit)이 사용된다.

    • ORACLE_GROUP_COMMIT: "Yes"를 선택하면, 오라클 DB에서 그룹 커밋 (group commit)이 사용된다.

    • ORACLE_ARRAY_DML_MAX_SIZE: "Array DML"은 여러 개여 DML 구문을 그룹화하는 것을 의미한다. 이 프로퍼티는 최대 몇 개의 DML 구문을 그룹화할 것인지를 지정한다. Array DML기능을 끄려면, 이 프로퍼티를 1로 설정한다.

    • ORACLE_UPDATE_STATEMENT_CACHE_SIZE: 이 프로퍼티는 prepared UPDATE 구문을 저장하는 캐시의 크기를 지정한다. 이 프로퍼티를 0으로 설정하면, oraAdapter는 UPDATE 구문을 저장하지 않는다.

  8. oraAdapter의 사용과 관련된 모든 프로퍼티의 설정이 끝나면, 설정된 값을 확인하는 다이얼로그 박스가 나타난다. 프로퍼티가 모두 올바로 설정되었는지 확인하고 "Next"를 클릭한다.

  9. "Ready to Install" 다이얼로그 박스에서 "Next"를 누르면, 설치를 시작한다.

  10. oraAdapter가 설치되는 동안, 다음의 두 환경 변수가 설정된다. 시스템에 새로운 환경 변수가 적용되게 하려면, 로그아웃 후에 다시 로그인할 필요가 있다.

    • ORA_ADAPTER_HOME: 이 환경 변수는 설치 과정의 앞 단계에서 지정한 oraAdapter 홈 디렉터리를 값으로 가지게 된다.

    • PATH: 이 환경 변수에는 $ORA_ADAPTER_HOME/bin 경로가 추가된다.

  11. 성공적으로 설치가 완료된 후에, 완료 다이얼로그 박스가 나타난다.


설치 후 작업#

환경 변수 설정#

oraAdapter 설치 후 환경 변수 설정, 라이브러리 경로 추가, 및 데이터베이스 문자집합과 국가 문자집합 설정을 해야 한다.

환경 변수 설정에 대한 자세한 설명은 이 장의 뒷 부분에 있는 "설정" 절을 참고한다.

  • ORA_ADAPTER_HOME
    이 환경변수는 oraAdapter 설치 시에 자동으로 설정된다.

  • 라이브러리 경로 추가
    OCI 라이브러리가 위치하는 경로를 추가한다. AIX 운영체제에서 아래와 같이 OCI 라이브러리 경로를 추가할 수 있다:

    $ export LIBPATH=$LIBPATH:$ORACLE_HOME/LIB
    
  • NLS_LANG
    이 환경변수에는 Altibase에서 사용하는 문자 집합을 지정한다.

설치 디렉터리 확인#

oraAdapter 설치가 완료 후 bin, conf, msg 및 trc 디렉터리가 $ORA_ADAPTER_HOME 디렉터리 아래에 생성되었는지 확인한다. 각 디렉터리의 구조와 역할은 다음과 같다.

  • bin 디렉터리
    이 디렉터리에는 oraAdapter (Adapter for Oracle)와 oaUtility (Adapter for Oracle 유틸리티) 실행 파일과 몇몇 내부적으로 사용되는 파일이 존재한다.

  • conf 디렉터리
    이 디렉터리에는 oraAdapter 프로퍼티 설정을 저장하고 있는oraAdapter.conf 파일이 존재한다.

  • msg 디렉터리
    oraAdapter 설치 중 에러가 발생하면, 트레이스 로그에 에러 메시지가 기록되는데, 이 디렉터리의 메시지 파일에 있는 에러 메지지가 사용된다.

  • trc 디렉터리
    oraAdapter는 이 디렉터리의 파일에 트레이스 로그를 기록한다.


설정#

oraAdapter를 사용하려면 다음의 환경 변수를 설정해야 한다.

ORA_ADAPTER_HOME#

oraAdapter가 설치된 디렉터리를 설정하는 환경변수이다. 이 환경 변수는 oraAdapter 설치 중에 자동으로 설정된다.

라이브러리 경로#

oraAdapter는 Altibase에서 변경된 데이터를 오라클 DB에 적용하기 위해 10g OCI와 호환되는 OCI 라이브러리를 사용한다. 따라서 oraAdapter를 실행할 사용자 계정의 환경변수에 OCI 라이브러리가 위치하는 경로를 추가해야 한다.

라이브러리 경로가 추가되어야 하는 환경변수는 일반적으로 LD_LIBRARY_PATH이나 oraAdapter를 실행할 OS에 따라 상이하므로 확인이 필요하다.

예: AIX는 LIBPATH, Solaris는 LD_LIBRARY_PATH이다.

oraAdapter는 Oracle OCI 10g 라이브러리(libclntsh.so.10.1)를 동적 링크하도록 되어있다. 만약 다른 버전의 Oracle OCI 라이브러리를 사용하기 위해서는 해당 버전의 OCI 라이브러리를 libclntsh.so.10.1로 연결해야 한다.

예를 들어 Oracle 11g instant Client를 설치한 경우 다음과 같이 libclntsh.so.11.1을 libclntsh.so.10.1로 연결하면 된다.

$ cd $ORACLE_HOME/lib
$ ln -s libclntsh.so.11.1 libclntsh.so.10.1 

Oracle 10g OCI와 다른 버전의 OCI의 라이브러리 호환성 여부는 Oracle Call Interface 매뉴얼을 참조한다.

NLS_LANG#

NLS_LANG은 OCI에서 사용하는 환경변수로, OCI 로 입력되는 문자열의 캐릭터셋을 지정하는데 사용된다. OCI는 이 환경변수에 설정된 캐릭터셋을 참조하여 Altibase로부터 받은 데이터를 오라클 DB의 캐릭터셋으로 변환하게 된다. oraAdapter는 Altibase로부터 데이터를 수신하기 때문에, Altibase에 설정된 데이터베이스 문자집합에 대응하는 오라클 데이터베이스 문자 집합으로 이 프로퍼티를 설정해야 한다.

그러므로 Altibase와 오라클 데이터베이스가 서로 다른 문자 집합을 사용할 경우, OCI에서의 데이터 변환 때문에 성능이 다소 느릴 수 있다.

NLS_LANG 환경 변수의 값은 다음의 형식을 가진다.

nlslang

다음의 표는 Altibase에서 지원하는 문자 집합과 그에 대응하는 오라클 DB 문자 집합 및 oraAdapter 용 NLS_LANG환경 변수 설정 값을 보여준다.

[표 2-1] 데이터베이스 문자 집합

Altibase NLS_LANG 오라클 DB
US7ASCII .US7ASCII US7ASCII
KO16KSC5601 .KO16KSC5601 KO16KSC5601
MS949 .KO16MSWIN949 KO16MSWIN949
SHIFT-JIS .JA16SJIS JA16SJIS
MS932 JA16SJIS
EUC-JP .JA16EUC JA16EUC
GB231280 .ZHS16CGB231280 ZHS16CGB231280
BIG5 .ZHT16BIG5 ZHT16BIG5
MS936 ZHS16GBK
UTF-8 .UTF8 UTF8

[표 2-2] 국가 문자 집합

Altibase NLS_LANG 오라클 DB
UTF-8 .UTF8 UTF8
UTF-16 .AL16UTF16 AL16UTF16


프로퍼티#

oraAdapter에 설정되는 프로퍼티들은 Altibase Log Analyzer 와 Oracle Call Interface가 사용하고, oraAdapter 가 어떻게 동작할 것인지를 결정하는 데도 필요한다.

이 프로퍼티 파일은 $ORA_ADPATER_HOME/conf 디렉터리에 존재하는 oraAdapter.conf 이다.

oraAdapter에 사용되는 프로퍼티들은 아래처럼 분류된다.

  • ALA 프로퍼티

  • 제약조건 확인용 프로퍼티

  • OCI 프로퍼티

  • DML 관련 프로퍼티

ALA 프로퍼티#

oraAdapter가 Altibase Log Analyzer (ALA)를 사용할 수 있도록 다음의 프로퍼티를 설정해야 한다. ALA 프로퍼티에 대한 더 자세한 설명은 Log Analyzer User's Manual 을 참고한다.

ALA_SENDER_IP#

XLog 송신자의 IP 주소를 지정하는 프로퍼티이다. Altibase가 설치된 서버 장비의 IP 주소를 설정하도록 한다.

  • 기본 값: 127.0.0.1

ALA_SENDER_REPLICATION_PORT#

Altibase의 ALA 이중화 객체가 구동되어 있는 상태에서 oraAdapter가 ALA 이중화 송신자와 접속하는 방식을 지정한다.

  • 기본값: 0

  • 범위: 0 ~ 65535

  • 0: oraAdapter가 ALA 이중화 객체의 송신자가 접속을 시도할 때까지 대기한다

  • 0 이외의 값: oraAdapter가 해당 포트번호로 이중화 송신자와 직접 접속을 시도한다.

ALA_RECEIVER_PORT#

XLog 콜렉터가 XLog를 수신하기 위해 대기하는 포트 번호를 지정하는 프로퍼티이다. oraAdpater가 대기하고 있는 포트 번호를 지정하도록 한다.

  • 범위: 1024 - 65535

ALA_RECEIVE_XLOG_TIMEOUT (단위: 초)#

XLog 콜렉터가 XLog를 수신하기 위해 대기하는 시간을 지정하는 프로퍼티이다.

  • 기본 값: 300

  • 범위: 1 - 4294967295

ALA_REPLICATION_NAME#

XLog 송신자로 사용되는 이중화 객체의 이름을 지정하는 프로퍼티이다. Altibase내에 생성된 이중화 객체의 이름일 것이다.

ALA_SOCKET_TYPE#

Altibase Log Analyzer가 사용할 소켓의 종류를 지정하는 프로퍼티이다. oraAdapter는 TCP/IP와 UNIX Domain 소켓을 지원한다. 그러다 Unix Domain 소켓을 사용하려면, Altibase와 oraAdapter는 같은 서버 장비에 위치해야 한다.

  • TCP: TCP/IP 소켓 사용 (기본값)

  • UNIX: UNIX Domain 소켓 사용

ALA_XLOG_POOL_SIZE (단위: 개수)#

oraAdapter가 할당할 수 있는 XLog의 개수이다.

oraAdapter에는 원본DB의 트랜잭션이 커밋되기 전의 레코드 변경 작업 내용이 XLog로 각각 쌓인다. 만약, 원본DB에 발생하는 트랜잭션이 다수의 레코드를 변경시키는 경우에는 oraAdapter가 할당할 수 있는 XLog가 부족하여 정상적으로 복제할 수 없다. 따라서, 원본DB의 트랜잭션 유형에 따라서 이 프로퍼티 값을 조정해야 한다.

ALA Sender가 원본DB에서 Sync작업을 수행하는 경우에는 REPLICATION_SYNC_TUPLE_COUNT프로퍼티에 설정한 개수로 커밋이 수행된다. 따라서, ALA_XLOG_POOL_SIZE 프로퍼티 값이 REPLICATION_SYNC_TUPLE_COUNT 값보다 작다면 할당해야 하는 XLog가 부족하여 sync작업이 진행되지 않으므로 프로퍼티 값을 더 크게 설정해야 된다.

  • 기본 값: 100,000

  • 범위: 1 - 2147483647

ALA_LOGGING_ACTIVE#

Altibase Log Analyzer 가 트레이스 로그를 출력할 것인지를 지정하는 프로퍼티이다.

  • 0: 트레이스 로그를 출력하지 않는다.

  • 1: 트레이스 로그를 출력한다 (기본 값)

제약조건 확인용 프로퍼티#

ALTIBASE_USER#

Altibase에 접속할 사용자의 이름을 지정하는 프로퍼티이다.

ALTIBASE_PASSWORD#

Altibase에 접속할 사용자 계정의 암호를 지정하는 프로퍼티이다.

ALTIBASE_IP#

Altibase가 설치된 서버 장비의 IP 주소를 지정하는 프로퍼티이다.

  • 기본 값: 127.0.0.1

ALTIBASE_PORT#

Altibase가 대기하고 있는 포트 번호를 지정하는 프로퍼티이다.

  • 범위: 1024 - 65535

OCI 프로퍼티#

다음의 프로퍼티들은 oraAdapter에서 Oracle Call Interface (OCI)를 사용할 수 있도록 하기 위해서 설정해야 한다.

ORACLE_SERVER_ALIAS#

오라클 클라이언트가 오라클 서버에 접속하기 위한 정보를 담고 있는 tnsnames.ora 파일에 설정되어 있는 오라클 DB 서버를 위한 앨리어스를 지정하는 프로퍼티이다.

지정하지 않으면, 기본 호스트로 설정되어 있는 오라클 DB에 연결할 것이다.

예를 들어 tnsnames.ora 파일에 아래와 같은 정보가 있다면, ORACLE_SERVER_ALIAS는 orcl10g로 설정하도록 한다.

orcl10g =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = server1.us.oracle.com)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
  )
)

ORACLE_USER#

오라클 DB에 접속할 사용자의 이름을 지정하는 프로퍼티이다.

ORACLE_PASSWORD#

오라클 DB에 접속할 사용자 계정의 암호를 지정하는 프로퍼티이다.

ORACLE_ASYNCHRONOUS_COMMIT#

COMMIT 로그가 디스크에 기록될 때까지 대기할 것인지를 결정하는 프로퍼티이다.

  • 기본 값: 1

  • 0: 커밋 로그가 디스크에 기록된 후에, 커밋 메시지 (즉, 트랜잭션이 커밋되었음을 알리는 메시지)가 클라이언트에 반환되는 것을 보장한다.

  • 1: 커밋 로그가 디스크에 기록되었는지 여부에 상관없이 클라이언트에 커밋 메시지를 반환한다. 이를 "비동기 커밋 (asynchronous commit)"이라고 부르는데, 성능 만족을 위해 지속성 (durability)을 희생하는 방식이다. 그러므로 1로 설정하면, 오라클 데이터베이스에 장애가 발생한 경우, 오라클 데이터베이스를 Altibase 데이터베이스와 일치시킬 필요가 있을 수 있다.

ORACLE_GROUP_COMMIT#

"그룹 커밋 (Group commit)" 은 동시에 실행되는 여러 트랜잭션들의 로그를 버퍼에 모아서 그 양이 충분해 지면, 이 로그들를 한꺼번에 디스크에 쓰는 것을 말한다. 즉, 여러 개의 트랜잭션들의 리두 로그들을 한번의 I/O 작업으로 디스크에 쓴다.

그룹 커밋은 트랜잭션 커밋이 빈번한 환경에서 적합하다. 디스크 I/O 회수를 줄여, 전체적인 성능은 향상되지만, 개별 트랜잭션의 응답 시간은 늘어날 수도 있다. 또한 그룹 내의 한 트랜잭션의 커밋이 실패할 경우, 그 그룹에 속한 모든 트랜잭션들이 실패하게 되는 문제가 있다.

  • 기본 값: 1

  • 0: 그룹 커밋을 사용하지 않는다.

  • 1: 그룹 커밋을 사용한다.

ORACLE_ARRAY_DML_MAX_SIZE#

"Array DML"은 같은 종류의 여러 개의 DML 구문을 그룹화하는 것을 의미한다. 이는 네트워크 비용을 줄임으로써 성능 향상을 가져온다.

  • 기본 값: 10

  • 범위: 1 - 32767

이 프로퍼티는 다음의 특성을 가진다.

  • ORACLE_GROUP_COMMIT 프로퍼티를 켜면 성능이 향상된다.
  • 현재 이 프로퍼티는 INSERT 와 DELETE 구문에만 영향을 준다.
  • Array DML을 끄려면, 이 프로퍼티를 1로 지정한다.
  • LOB 인터페이스를 사용하여 LOB 데이터를 변경한 경우 Array DML 기능은 동작하지 않는다.

ORACLE_UPDATE_STATEMENT_CACHE_SIZE#

구문 저장은 반복해서 사용되는 실행 가능한 구문을 캐시에 저장해 둠으로써 성능을 향상시킨다.

  • 기본 값: 20

  • 범위: 0 - 4294967295

이 프로퍼티는 prepared 된 UPDATE 구문을 저장해 두는 캐시의 사이즈를 지정하는데 사용된다.

  • INSERT와 DELETE 구문은 각각 전용 캐시를 갖고 있기 때문에, 이 캐시에는 UPDATE 구문만 저장된다.

  • 이 프로퍼티를 0으로 명시하면, oraAdapter는 UPDATE 구문을 저장하지 않는다.

DML 관련 프로퍼티#

Altibase에서 실행된 DML 구문들을 오라클 DB에도 적용할지 여부를 결정하는 프로퍼티들이다.

ORACLE_ERROR_RETRY_COUNT (단위: 횟수)#

oraAdapter가 오라클 DB에 레코드를 반영하는 동안 오류가 발생했을 때, 재시도하는 횟수를 나타낸다.

단, LOB 데이터를 포함한 XLog는 오류가 발생할 경우 재시도 대상에서 제외된다.

  • 기본값: 0

  • 범위: 0 ~ 65535

  • 0: 재시도하지 않는다.

ORACLE_ERROR_RETRY_INTERVAL (단위: 초)#

ORACLE_ERROR_RETRY_COUNT 프로퍼티에 설정된 횟수만큼 재시도할 때, 재시도 주기를 나타낸다.

  • 기본값: 0

  • 범위: 0 ~ 65535

  • 0: 간격을 두지 않는다.

ORACLE_SKIP_ERROR#

oraAdapter가 레코드 반영에 오류가 발생한 이후부터 ORACLE_ERROR_RETRY_COUNT 횟수 만큼 ORACLE_ERROR_RETRY_INTERVAL 주기로 레코드 반영을 재시도하였는데도 성공하지 못했을 때, 해당 레코드의 반영 여부를 지정할 수 있다.

단, LOB 관련 XLog 처리 중 오류 발생 시 해당 프로퍼티 값과 상관 없이 레코드 반영을 포기하지 않고 Adapter를 종료한다.

  • 기본값: 1
  • 범위: 0, 1
  • 0: oraAdapter를 종료하면서 에러 메세지를 출력한다. (해당 레코드는 포기하지 않는 것을 의미) 단, dbms_skip_error_include.list에 포함된 에러가 발생한 레코드는 반영을 포기하고 다음 레코드부터 반영한다.
  • 1: 오류가 난 이후의 레코드부터 반영을 진행한다. 단, dbms_skip_error_exclude.list에 포함된 에러가 발생한 레코드는 oraAdapter를 종료한다.

dbms_skip_error_include.list와 dbms_skip_error_exclude.list에 포함되는 에러값은 OCI Error Message에서 prefix(ORA-)를 제외한 숫자값이다.

ORACLE_SKIP_INSERT#

Altibase에서 실행된 INSERT 구문을 오라클 DB에도 실행할 지 여부를 결정하는 프로퍼티이다. 이를 1 ("건너뜀")로 지정하면 INSERT 구문은 건너뛰는데, 오라클 DB에는 실행되지 않음을 의미한다.

  • 기본값: 0

  • 0: 구문을 건너뛰지 않는다. 즉, 정상적으로 구문을 실행한다.

  • 1: 구문을 건너뛴다.

ORACLE_SKIP_UPDATE#

Altibase에서 실행된 UPDATE 구문을 오라클 DB에도 실행할 지 여부를 결정하는 프로퍼티이다. 이를 1("건너뜀")로 지정하면 UPDATE 구문은 건너뛰는데, 오라클 DB에는 실행되지 않음을 의미한다.

  • 기본값: 0

  • 0: 구문을 건너뛰지 않는다. 즉, 정상적으로 구문을 실행한다.

  • 1: 구문을 건너뛴다.

ORACLE_SKIP_DELETE#

Altibase에서 실행된 DELETE 구문을 오라클 DB에도 실행할 지 여부를 결정하는 프로퍼티이다. 이를 1("건너뜀")로 지정하면 DELETE 구문은 건너뛰는데, 오라클 DB에는 실행되지 않음을 의미한다.

  • 기본값: 0

  • 0: 구문을 건너뛰지 않는다. 즉, 정상적으로 구문을 실행한다.

  • 1: 구문을 건너뛴다.

ORACLE_SET_USER_TO_TABLE#

오라클 DB에 DML 수행시 반영 테이블의 사용자를 XLog Sender에서 지정한 사용자로 설정한다.

  • 기본 값: 1

  • 0: 사용자 지정을 하지 않는다.

  • 1: 사용자 지정을 한다.

기타 프로퍼티#

ADAPTER_ERROR_RESTART_COUNT (단위: 횟수)#

oraAdapter가 오라클 DB에 레코드를 반영하는 동안 오류가 발생했을 때, oraAdapter를 재시도하는 횟수를 나타낸다.

  • 기본값: 0

  • 범위: 0 ~ 65535

  • 0: oraAdapter를 종료하고, 에러 메세지를 출력한다.

  • 1 이상: oraAdapter를 지정된 횟수만큼 수행하였음에도 실패하거나, oraAdapter의 자체 오류가 1회만 발생하여도, oraAdapter를 종료하고 에러 메세지를 출력한다.

ADAPTER_ERROR_RESTART_INTERVAL (단위: 초)#

ADAPTER_ERROR_RESTART_COUNT 프로퍼티에 설정한 횟수만큼 재시도할 때, 재시도 주기를 나타낸다.

  • 기본값: 0
  • 범위: 0 ~ 65535
  • 0: oraAdapter의 재시도 간격없이 재시도한다.

ADAPTER_LOB_TYPE_SUPPORT#

LOB 데이터 타입의 지원 여부를 결정하는 프로퍼티이다.

  • 기본 값: 0
  • 0: LOB 데이터 타입을 지원하지 않는다.
  • 1: LOB 데이터 타입을 지원한다.

프로퍼티 제약조건#

프로프티 값을 설정할 때 스페이스 또는 탭을 사용할 수 없다. 또한 특수 문자를 포함한 문자를 함께 사용하기 위해서는 해당 프로퍼티 값을 큰따옴표("")로 처리한다.