teradata 액세스 구성

Campaign Federated Data Access (FDA) 옵션을 사용하여 외부 데이터베이스에 저장된 정보를 처리합니다. 아래 절차에 따라 Teradata 액세스를 구성합니다.

  1. Teradata 드라이버 설치 및 구성
  2. Campaign에서 Teradata 외부 계정을 구성합니다
  3. teradata 및 Campaign 서버에 대해 추가 구성을 설정합니다

Teradata 구성

Campaign에 대한 연결을 구현하려면 Teradata에 드라이버를 설치해야 합니다.

  1. Teradata용 ODBC 드라이버를 설치합니다.

    Red Hat(또는 CentOS)/Suse에 다음 순서로 설치할 수 있는 세 개의 패키지로 구성됩니다.

    • TeraGSS
    • tdicu1510(setup_wrapper.sh를 사용하여 설치)
    • tdobc1510(setup_wrapper.sh를 사용하여 설치)
  2. ODBC 드라이버를 구성합니다. 구성은 표준 파일에서 수행할 수 있습니다. 일반 매개 변수의 경우 /etc/odbc.ini , 드라이버 선언의 경우 /etc/odbcinst.ini:

    • /etc/odbc.ini

      [ODBC]
      InstallDir=/etc/
      

      "InstallDir"은 odbcinst.ini 파일의 위치에 해당합니다.

    • /etc/odbcinst.ini

      [ODBC DRIVERS]
      teradata=Installed
      
      [teradata]
      Driver=/opt/teradata/client/15.10/lib64/tdata.so
      APILevel=CORE
      ConnectFunctions=YYY
      DriverODBCVer=3.51
      SQLLevel=1
      
  3. Adobe Campaign 서버의 환경 변수를 지정합니다.

    • LD_LIBRARY_PATH: /opt/teradata/client/15.10/lib64 및 /opt/teradata/client/15.10/odbc_64/lib.
    • 오디치니: odbc.ini 파일의 위치(예: /etc/odbc.ini)입니다.
    • NLSPATH: opermsgs.cat 파일의 위치(/opt/teradata/client/15.10/msg/opermsgs.cat?lang=ko)
노트

FDA에서 Teradata 외부 데이터베이스에 연결하려면 Adobe Campaign 서버에서 추가 구성 단계를 수행해야 합니다. 자세히 알아보기

Teradata 외부 계정

teradata 외부 계정을 사용하면 Campaign 인스턴스를 Teradata 외부 데이터베이스에 연결할 수 있습니다.

  1. Campaign Explorer​에서 Administration / Platform / External accounts​를 클릭합니다.

  2. New 을 클릭하고 External databaseType(으)로 선택합니다.

  3. Teradata 외부 계정을 구성하려면 다음을 지정해야 합니다.

    • Type: 유형을 Teradata 선택합니다.

    • Server: teradata 서버의 URL 또는 이름

    • Account: teradata 데이터베이스에 액세스하는 데 사용되는 계정의 이름입니다

    • Password: teradata 데이터베이스에 연결하는 데 사용되는 암호

    • Database: 데이터베이스 이름(선택 사항)

    • Options: teradata을 통해 전달할 옵션입니다. 다음 형식을 사용하십시오. 'parameter=value'. 반열을 값 사이의 구분자로 사용합니다.

    • Timezone: teradata에서 설정된 시간대. 자세히 알아보기

쿼리 밴딩

여러 Adobe Campaign 사용자가 동일한 FDA Teradata 외부 계정에 연결할 때 Query banding 탭에서는 세션 중에 쿼리 대역(예: 키/값 쌍 집합)을 설정할 수 있습니다.

이 옵션이 구성되면 Campaign 사용자가 Teradata 데이터베이스에서 쿼리를 수행할 때마다 Adobe Campaign은 이 사용자와 연결된 키 목록으로 구성된 메타 데이터를 전송합니다. 그런 다음 이 데이터를 Teradata 관리자가 감사 목적으로 사용하거나 액세스 권한을 관리하는 데 사용할 수 있습니다.

노트

Query banding​에 대한 자세한 내용은 Teradata 설명서를 참조하십시오.

쿼리 밴딩을 구성하려면 아래 단계를 수행하십시오.

  1. 사용자에게 연관된 쿼리 범위가 없는 경우 사용할 기본 쿼리 밴드를 입력하려면 Default 을 사용하십시오. 이 필드를 비워 두면 쿼리 범위가 없는 사용자는 Teradata을 사용할 수 없습니다.

  2. Users 필드를 사용하여 각 사용자에 대한 쿼리 밴드를 지정합니다. 필요한 만큼 키/값 쌍을 추가할 수 있습니다(예: priority=1;workload=high). 사용자에게 할당된 쿼리 범위가 없는 경우 Default 필드가 적용됩니다.

  3. 이 기능을 활성화하려면 Active 상자를 선택합니다.

외부 계정 문제 해결

연결 TIM-030008 날짜 '2'를 테스트하는 동안 다음 오류가 표시되는 경우: 누락된 문자(s)(iRc=-53) ODBC 드라이버가 올바르게 설치되어 있고 Campaign 서버에 대해 LD_LIBRARY_PATH(Linux) / PATH(Windows)가 설정되어 있는지 확인합니다.

오류 ODB-240000 ODBC 오류: [Microsoft][ODBC Driver Manager] 데이터 원본 이름을 찾을 수 없고 기본 드라이버가 지정되지 않았습니다. 16.X 드라이버를 사용하는 경우 Windows에서 발생합니다. Adobe Campaign에서는 odbcinst.ini에서 '{teradata}' 이름을 지정해야 합니다.

  • Campaign 18.10부터 외부 계정의 옵션에 ODBCDriverName="Teradata 데이터베이스 ODBC 드라이버 16.10"을 추가할 수 있습니다. 버전 번호를 변경할 수 있으며, 정확한 이름은 odbcad32.exe를 실행하고 드라이버 탭에 액세스하여 찾을 수 있습니다.

  • 이전 Campaign 버전을 사용하는 경우 드라이버 설치에서 만든 odbcinst.ini의 Teradata 섹션을 Teradata라는 새 섹션으로 복사해야 합니다. 이 경우 재편집을 사용할 수 있습니다. 베이스가 latin1에 있는 경우 옵션에 APICharSize=1​을 추가해야 합니다.

추가 구성

사용자 구성

외부 데이터베이스에 대해 다음 권한이 필요합니다. 사용자 지정 절차 만들기/놓기/실행, 테이블 만들기/놓기/삽입/선택 Adobe Campaign 인스턴스에서 md5 및 sha2 함수를 사용하려면 사용자 모드 함수를 만들어야 할 수도 있습니다.

올바른 시간대를 구성해야 합니다. Adobe Campaign 인스턴스에서 만든 외부 계정에서 설정할 내용과 일치해야 합니다.

Adobe Campaign은 데이터베이스에서 만들 개체에 보호 모드(대체)를 설정하지 않습니다. 다음 쿼리를 사용하여 Adobe Campaign에서 Teradata 데이터베이스에 연결하는 데 사용할 사용자를 기본값으로 설정해야 할 수 있습니다.

기본 폴백 사용
MODIFY USER $login$ AS NO FALLBACK;

MD5 설치

Adobe Campaign 인스턴스에서 md5 함수를 사용하려면 이 page(md5_20080530.zip)에서 Teradata 데이터베이스에 사용자 모드 함수를 설치해야 합니다.

다운로드한 파일의 sha1은 65cc0bb6935f72fcd84fef1ebcd64c00115dfd1e와 같습니다.

md5를 설치하려면

  1. md5_20080530.zip 파일의 압축을 해제합니다.

  2. md5/src 디렉토리로 이동합니다.

  3. bteq를 사용하여 Teradata 데이터베이스에 연결합니다.

  4. 다음 bteq 명령을 실행합니다.

    .run file = hash_md5.btq
    

SHA2 설치

Adobe Campaign 인스턴스에서 sha2 함수를 사용하려면 이 page(teradata-udf-sha2-1.0.zip)에서 Teradata 데이터베이스에 사용자 모드 함수를 설치해야 합니다.

다운로드한 파일의 sha1은 e87438d37424836358bd3902cf1adeb629349780과 같습니다.

sha2를 설치하려면 다음을 수행하십시오.

  1. teradata-udf-sha2-1.0.zip 파일의 압축을 해제합니다.

  2. teradata-udf-sha2-1.0/src 디렉토리로 이동합니다.

  3. bteq를 사용하여 Teradata 데이터베이스에 연결합니다.

  4. 다음 두 가지 bteq 명령을 실행합니다.

    .run file = hash_sha256.sql
    .run file = hash_sha512.sql
    

UDF_UTF16TO8 설치

Adobe Campaign 인스턴스에서 udf_utf16to8 함수를 사용하려면 이 page (utk_release1.7.0.0.zip)의 Teradata 유니코드 도구 키트​에서 Teradata 데이터베이스에 사용자 모드 함수를 설치해야 합니다.

다운로드한 파일의 sha1은 e58235f434f52c71316a577cb48e20b97d24f470입니다.

udf_utf16to8을 설치하려면

  1. utk_release1.7.0.0.zip 파일의 압축을 해제합니다.

  2. 추출된 파일에서 udf_utf16to8.o를 찾은 다음 파일이 포함된 디렉토리로 이동합니다. 이름은 utk_release1.7.0.0/utk_release1.7.0.0/04 TranslationUDFs/01 Teradata UDF/suselinux-x8664/udf_installation/ 로 지정해야 합니다.

  3. bteq를 사용하여 Teradata 데이터베이스에 연결합니다.

  4. 다음 bteq 명령을 입력합니다.

    REPLACE FUNCTION udf_utf16to8 (
    inputString VARCHAR(8000) CHARACTER SET UNICODE
    ) RETURNS VARCHAR(16000) CHARACTER SET LATIN
    LANGUAGE C
    NO SQL
    EXTERNAL NAME 'CO!i18n103!udf_utf16to8.o!F!udf_utf16to8'
    PARAMETER STYLE SQL;
    
    -- Test: should return 410042
    SELECT CAST(Char2HexInt(UDF_UTF16to8(_UNICODE'004100000042'XC)) AS VARCHAR(100));
    

Linux용 Campaign 서버 구성

드라이버 설치에 필요한 항목은 다음과 같습니다.

  • Teradata ODBC 드라이버. 이 page에 있습니다.

  • Teradata 도구 및 유틸리티(벌크 로드에 사용됨)로서 이 page에서 찾을 수 있습니다.

파일 이름 및 sha1:

  • tdobc1620__linux_indep.16.20.00.00-1.tar.gz 121fdd978b56fe1304fc5cb7819741b0847f44fd

  • TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz b 29d0af5ffd8dcf68a9dbbaa6f8639387b19c563

Linux 배포용 패키지가 없는 경우 CentOS 7(예: docker 사용)에 설명된 대로 설치한 다음 Adobe Campaign 서버에 /opt/teradata의 컨텐츠를 복사할 수 있습니다.

ODBC 드라이버 설치

ODBC 드라이버를 설치하려면

  1. tdobc1620__linux_indep.16.20.00.00-1.tar.gz 파일을 추출합니다.

  2. tdobc1620 디렉토리로 이동합니다.

  3. 설치 스크립트를 수정해야 할 수 있습니다.

    "sed -i s/16.10/16.20/ setup_wrapper.sh".
    
  4. setup_wrapper.sh를 실행합니다.

Teradata 도구 및 유틸리티 설치

도구를 설치하려면

  1. TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz 파일을 추출합니다.

  2. TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tdicu 디렉토리로 이동합니다.

  3. setup_wrapper.sh를 실행합니다.

  4. TeradataToolsAndUtilitiesBase/Linux/i386-x8664/cliv2 디렉토리로 이동합니다.

  5. setup_wrapper.sh를 실행합니다.

  6. TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tptbase 디렉토리로 이동합니다.

  7. setup_wrapper.sh를 실행합니다.

  8. libteapi.so 파일은 /opt/teradata/client/16.20/lib64에서 사용할 수 있습니다.

Windows용 Campaign 서버 구성

먼저 Windows용 Teradata 도구 및 유틸리티를 다운로드해야 합니다. 이 페이지에서 다운로드할 수 있습니다

ODBC 드라이버와 Teradata Parallel Transporter Base를 설치해야 합니다. teradata 데이터베이스에서 대량 로드를 수행하는 데 사용되는 telapi.dll을 설치합니다.

드라이버와 유틸리티의 경로가 실행 중에 nlserver가 가질 PATH 변수에 있는지 확인합니다. 기본적으로 경로는 C:\Program Files (x86)\Teradata\Client\15.10\bin on Windows 32 bits or C:\Program Files\Teradata\Client\15.10\bin on 64 bit)입니다.

시간대

Teradata은 표준이 아닌 표준 시간대 이름을 사용하므로 Teradata 사이트에서 목록을 찾을 수 있습니다. Adobe Campaign은 외부 구성에 지정된 시간대를 Teradata이 이해할 수 있는 시간대로 변환하려고 합니다. 서신이 없으면 세션에 대한 옷장 GMT+X(또는 GMT-X) 시간대를 찾아 로그에 경고가 표시됩니다.

변환은 다음 데이터 키트 디렉토리에 있어야 하는 teradata_timezone.txt 파일을 읽습니다. linux의 /usr/local/neolane/nl6/datakit 이 파일을 편집하는 경우 Adobe Campaign 팀에 연락하여 소스 코드를 변경해야 합니다. 그렇지 않으면 다음 Campaign 업데이트 중에 이 파일을 덮어씁니다.

연결하는 데 사용되는 시간대는 -verbose 스위치를 사용하여 nlserver를 실행할 때 표시됩니다. 예:

15:04:04 >   ODB-240007 Teradata: will use 'Europe Central' as session time zone.

사용된 시간대가 올바른 시간대가 아닌 경우 외부 계정에 "TimeZoneName"이라는 옵션을 추가할 수 있습니다. 이 경우 Teradata 값(예: "TimeZoneName=European Central")을 사용합니다.

teradata 문서에서 벌크 로드 또는 "빠른 로드"를 사용하는 경우 Campaign에서 시간대를 표시할 수 없습니다. 따라서 Campaign에서 연결하는 데 사용할 사용자의 기본 시간대를 설정하는 것이 좋습니다.

MODIFY USER $login$ AS TIME ZONE = 'Europe Central';

이 페이지에서는