teradata 액세스 구성 configure-access-to-teradata

외부 데이터베이스에 저장된 정보를 처리하려면 Campaign FDA(Federated Data Access) 옵션을 사용하십시오. teradata에 대한 액세스를 구성하려면 아래 단계를 따르십시오.

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

Teradata 구성 teradata-config

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

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

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

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

    • /etc/odbc.ini

      code language-none
      [ODBC]
      InstallDir=/etc/
      

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

    • /etc/odbcinst.ini

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

    • LD_LIBRARY_PATH: /opt/client/15.10/lib64 및 /opt/teradata teradata/client/15.10/odbc_64/lib.
    • ODBCINI: odbc.ini 파일의 위치입니다(예: /etc/odbc.ini).
    • NLSPATH: opermsgs.cat 파일의 위치(https://experienceleague.adobe.com/opt/teradata/client/15.10/msg/opermsgs.cat?lang=ko)
NOTE
FDA에서 Teradata 외부 데이터베이스에 연결하려면 Adobe Campaign 서버에서 추가 구성 단계가 필요합니다. 자세히 알아보기.

Teradata 외부 계정 teradata-external

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

  1. Explorer 캠페인에서 Administration / Platform / External accounts ​을(를) 클릭합니다.

  2. New ​을(를) 클릭하고 External database ​을(를) Type(으)로 선택합니다.

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

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

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

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

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

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

    • Options: Teradata에 전달할 옵션입니다. 'parameter=value' 형식을 사용하십시오. 값 사이의 구분 기호로 세미콜론을 사용합니다.

    • Timezone: Teradata에 설정된 시간대입니다. 자세히 알아보기

커넥터는 다음 옵션을 지원합니다.

옵션
설명
TD_MAX_SESSIONS
teradata Parallel Transporter가 연산자 작업에 대해 얻을 수 있는 최대 로그온 세션 수를 지정합니다.
시간대 이름
서버 표준 시간대의 이름입니다.
문자 집합
teradata 문자 집합을 구성하는 데 사용됩니다.
자세한 정보는 이 페이지를 참조하세요.
IANAAppCodePage
ODBC 응용 프로그램 코드 페이지입니다.
자세한 정보는 이 페이지를 참조하세요.

추가 ODBC 외부 계정 추가 add-external

NOTE
7.3.1 이전 버전에서는 이 옵션을 사용할 수 없습니다.

teradata 드라이버가 자체 ODBC 라이브러리를 제공하지만 이 라이브러리는 다른 ODBC 외부 계정과 호환되지 않을 수 있습니다.

ODBC도 사용하는 다른 외부 계정(예: Snowflake)을 구성하려면 기본 ODBC 라이브러리의 경로(Debian의 /usr/lib/x86_64-linux-gnu/libodbc.so 및 RHEL/CentOS의 /usr/lib64/libodbc.so)로 설정된 ODBCLib 옵션을 추가해야 합니다.

쿼리 밴딩

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

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

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

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

  1. Default ​을(를) 사용하여 사용자에게 연결된 쿼리 대역이 없는 경우 사용할 기본 쿼리 대역을 입력합니다. 이 필드를 비워 두면 쿼리 대역이 없는 사용자는 Teradata을 사용할 수 없습니다.

  2. Users 필드를 사용하여 각 사용자에 대한 쿼리 대역을 지정하십시오. 키/값 쌍을 필요한 만큼 추가할 수 있습니다(예: 우선 순위=1;워크로드=높음). 사용자에게 할당된 쿼리 대역이 없으면 Default 필드가 적용됩니다.

  3. 이 기능을 활성화하려면 Active 상자를 선택하세요.

외부 계정 문제 해결 external-account-troubleshooting

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

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

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

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

추가 구성 teradata-additional-configurations

사용자 구성 user-configuration

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

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

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

기본 대체 항목 비활성화
MODIFY USER $login$ AS NO FALLBACK;

MD5 설치 md5-installation

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

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

md5를 설치하려면

  1. md5_20080530.zip 파일의 압축을 풉니다.

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

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

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

    code language-none
    .run file = hash_md5.btq
    

SHA2 설치 sha2-installation

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

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

sha2를 설치하려면:

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

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

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

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

    code language-none
    .run file = hash_sha256.sql
    .run file = hash_sha512.sql
    

UDF_UTF16TO8 설치 UDF-UTF16TO8-installation

Adobe Campaign 인스턴스에서 udf_utf16to8 함수를 사용하려면 유니코드 도구 키트 ​에서 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 UDFs/suselinux-x8664/udf_installation/ 로 지정해야 합니다.

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

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

    code language-none
    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 서버 구성 campaign-server-linux

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

  • page에서 찾을 수 있는 teradata ODBC 드라이버

  • 페이지에서 찾을 수 있는 teradata 도구 및 유틸리티(대량 로드에 사용됨)

파일 이름 및 sha1:

  • tdodbc1620__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-installation

ODBC 드라이버를 설치하려면:

  1. tdodbc1620__linux_indep.16.20.00.00-1.tar.gz 파일의 압축을 풉니다.

  2. tdodbc1620 디렉터리로 이동합니다.

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

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

Teradata 도구 및 유틸리티 설치 teradata-tools-installation

도구를 설치하려면:

  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. teradata libtelapi.so 파일은 /opt/client/16.20/lib64에서 사용할 수 있어야 합니다.

Windows용 Campaign 서버 구성 campaign-server-windows

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

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

드라이버와 유틸리티의 경로가 실행 중에 nlserver에 포함될 PATH 변수에 있는지 확인합니다. 기본적으로 경로는 C:\Program 파일(x86)\Teradata\Client\15.10\bin(Windows 32비트 또는 C:\Program Files\Teradata\Client\15.10\bin 64비트)입니다.

시간대 timezone

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

변환은 linux의 /usr/local/neolane/nl6/datakit 디렉터리에 있어야 하는 teradata_timezones.txt 파일을 읽으면서 수행됩니다. 이 파일을 편집하는 경우 Adobe Campaign 팀에 문의하여 소스 코드를 변경하십시오. 그렇지 않으면 다음 Campaign 업데이트 중에 이 파일을 덮어씁니다.

연결에 사용되는 시간대는 -verbose 스위치와 함께 nlserver를 실행할 때 표시됩니다. 예를 들면 다음과 같습니다.

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

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

일괄 로드 또는 Teradata 문서에서 "빠른 로드"를 사용할 때 Campaign에서 시간대를 표시할 수 없습니다. 따라서 Campaign에서 연결에 사용할 사용자의 기본 시간대를 설정하는 것이 좋습니다.

MODIFY USER $login$ AS TIME ZONE = 'Europe Central';
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1