데이터베이스 로드 유틸리티를 사용하기 위한 IBM® Campaign 설정
모든 데이터 소스에 대해 데이터베이스 로드 유틸리티를 사용하여 성능을 향상시킬 수 있습니다.
IBM® Campaign은 데이터베이스 벤더에서 사용할 수 있는 데이터베이스 로드 유틸리티 사용을 지원합니다. 라이센스가 있는 데이터베이스 로드 유틸리티 사본을 가지고 있어야 합니다.
데이터베이스 로드 유틸리티는 임시 테이블에 ID 목록을 푸시하고 IBM® 에서 Campaign으로 데이터를 내보낼 때 성능을 향상시킬 수 있습니다. 예를 들어 스냅샷, 메일 목록 또는 통화 목록 프로세스 중에 데이터를 내보냅니다.
로드 유틸리티는 상당한 성능 향상을 제공할 수 있습니다. DB2®에서 테스트는 로드 유틸리티 없이 수백만 개의 행을 삽입하는 데 5시간 이상의 CPU 사용이 필요하고 상당한 디스크 입출력이 있음을 나타냅니다. 결과는 사용 중인 하드웨어에 따라 다릅니다.
다음 지시사항은 DB2® 데이터베이스를 사용한다고 가정합니다. 다른 데이터베이스를 사용하는 경우 그에 맞게 지시사항을 조정하십시오.
*
1.
데이터베이스 로드 유틸리티를 사용하도록 IBM® Campaign을 설정하기 위해 각 데이터 소스에 수행할 세 가지 기본 단계가 있습니다. 로드 제어 파일 템플리트를 작성하고, 로드 유틸리티를 시작할 스크립트 또는 실행 파일을 작성하고, IBM® Campaign에서 로더 구성 특성을 설정합니다.
2.
대부분의 데이터베이스 로드 유틸리티는 제어 파일을 사용해야 합니다. IBM® Campaign은 작성된 제어 파일 템플리트를 기반으로 하여 제어 파일을 동적으로 생성할 수 있습니다.
a.
connect to <DATABASE> user <USER> using <PASSWORD>;
load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
<FIELDNAME><,>
)
nonrecoverable;
b.
connect to <DATABASE> user <USER> using <PASSWORD>;
load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
<FIELDNAME><,>
)
nonrecoverable;
이제 데이터를 새로 작성되거나 비어 있는 데이터베이스 테이블로 로드하고 데이터를 기존 데이터베이스 테이블에 추가할 수 있는 템플리트가 작성되었습니다.
IBM® Campaign은 템플리트의 DATABASE, USER, PASSWORD, DATAFILE, TABLEFIELDNAME 토큰을 채우고 DB2® 로드에 대한 CONTROLFILE이라는 구성 파일을 작성합니다.
3.
로드 유틸리티를 호출하기 위해 IBM® CampaignLoadercommand 구성 특성에서 식별되는 쉘 스크립트(또는 Windows의 경우 실행 파일)를 사용합니다. 데이터베이스 로드 유틸리티 실행 파일에 대한 직접 호출 또는 데이터베이스 로드 유틸리티를 실행하는 스크립트에 대한 호출 중 하나를 지정할 수 있습니다.
a.
이 예에서는 db2load.sh 쉘 스크립트를 작성하여 로더를 시작합니다. /tmp 경로는 사용자가 선택한 디렉토리로 바꿀 수 있습니다.
#!/bin/sh
cp $1 /tmp/controlfile.tmp
cp $2 /tmp/db2load.dat
db2 -tvf $1 >> /tmp/db2load.log
b.
chmod 755 db2load.sh
4.
IBM® Campaign에서 로더 구성 특성을 설정하십시오.
로더 구성 특성은 제어 파일 템플리트를 식별하고 스크립트 또는 실행 파일의 위치를 표시합니다.
a.
설정 > 구성을 선택한 후 Campaign|partitions|partition1|dataSources|<datasourcename>을 선택하십시오.
b.
단어 Loader로 시작하는 특성을 설정하십시오. 중요한 정보는 IBM® Campaign 관리자 안내서 또는 온라인 도움말에서 IBM® Campaign의 구성 특성 주제를 참조하십시오.
*
LoaderCommand: 데이터베이스 로드 유틸리티를 호출할 스크립트 또는 실행 파일의 경로. 대부분의 데이터베이스 로드 유틸리티에서는 여러 개의 인수가 성공적으로 실행되어야 합니다. DB2®에 필요한 토큰은 다음 예에서 꺽쇠괄호로 표시되어 있습니다. 표시된 대로 정확하게 입력하십시오. 명령을 실행할 때 지정된 요소로 바뀝니다. 예: /Unica/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
*
LoaderCommandForAppend: 데이터베이스 테이블에 레코드를 추가하기 위해 데이터베이스 로드 유틸리티를 호출할 스크립트 또는 실행 파일의 경로. 예: /Unica/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
*
LoaderDelimiterLoaderDelimiterForAppend: 로더 제어 파일 템플리트에 사용되는 구분 기호.
*
LoaderControlFileTemplate: 현재 파티션에 상대적인 제어 파일 템플리트의 경로. 예: loadscript.db2
*
LoaderControlFileTemplateForAppend: 레코드를 추가하기 위한 현재 파티션에 상대적인 제어 파일 템플리트의 경로. 예: loadappend.db2
*
다른 모든 로더 설정: IBM® Campaign의 구성 특성에서 제공된 정보에 따라 사용자 구현에 필요한 대로 지정하십시오.
다음 이미지는 로더 구성 설정의 예를 보여 줍니다. Screen capture of loader configuration settings for a partition
c.
각 데이터 소스에 대해 로더 구성 설정을 조정하십시오.
IBM® Campaign은 데이터베이스에 기록할 때 다음 조치를 수행합니다. 먼저 임시 데이터 파일을 고정 너비 또는 구분 텍스트로 작성합니다. LoaderControlFileTemplate 특성으로 지정된 경우, 임시 제어 파일은 데이터베이스로 보낼 필드 목록 및 템플리트 파일을 기반으로 동적으로 작성됩니다. 그 다음, LoaderCommand 구성 특성으로 지정된 명령을 실행합니다. 마지막으로, 임시 데이터 파일 및 제어 파일을 정리합니다.
IBM Campaign용 데이터베이스 로드 유틸리티 문제점 해결