Oracle
이 섹션에서는 Oracle 대상 커넥터를 사용하여 Oracle 대상에 대한 연결을 구성하는 방법을 설명합니다. Oracle은 복제 작업에서만 대상으로 사용할 수 있습니다. Oracle 대상에 연결하려면 먼저 데이터베이스에서 필요한 권한을 구성해야 합니다. 데이터 이동 게이트웨이를 통해 Oracle에 연결하는 경우 드라이버 설정에 설명된 대로 드라이버도 설치해야 합니다.
Oracle 커넥터 사용 시 제한 사항 및 고려 사항에 대한 자세한 내용은 제한 사항 및 고려 사항을 참조하십시오.
연결 속성 설정
커넥터를 구성하려면 다음을 수행합니다.
-
연결에서 연결 만들기를 클릭합니다.
-
Oracle 대상 커넥터를 선택한 후 다음 설정을 제공합니다.
데이터 대상
-
데이터 게이트웨이: 데이터 이동 게이트웨이 작업 시 Oracle 대상에 대한 연결을 테스트하는 데 사용할 데이터 게이트웨이를 선택합니다. 이는 데이터 소스에 액세스하는 데 사용된 것과 동일한 게이트웨이여야 합니다.
정보 메모- 이 구독 계층에서는 데이터 이동 게이트웨이가 지원되지 않으므로 이 필드는 Qlik Talend Cloud 시작 구독에서 사용할 수 없습니다.
-
또한 데이터 이동 게이트웨이 컴퓨터에 적절한 드라이버를 설치해야 합니다. 자세한 내용은 아래 드라이버 설정을 참조하십시오.
-
연결 문자열: 작업하려는 Oracle 데이터베이스에 대한 Oracle 연결 문자열입니다.
정보 메모- Oracle Autonomous Data Warehouse에 복제하는 경우 먼저 Oracle Autonomous Data Warehouse에 연결 에 설명된 절차를 수행해야 합니다.
- 이 정보는 대/소문자를 구분합니다.
계정 속성
사용자 이름 및 비밀번호: Oracle 서버 데이터베이스에 액세스하도록 권한 부여된 사용자의 사용자 이름 및 비밀번호입니다.
내부 속성
내부 속성은 특별한 사용 사례를 위한 것이므로 대화 상자에 표시되지 않습니다. Qlik 지원 팀에서 지시한 경우에만 사용해야 합니다.
필드 오른쪽에 있는 및 버튼을 사용하여 필요에 따라 속성을 추가하거나 제거합니다.
이름
연결의 표시 이름입니다.
전제 조건
필요한 권한
연결 문자열에 지정된 사용자에게는 Oracle 데이터베이스에서 부여된 다음 권한이 부여되어야 합니다.
-
CREATE ANY TABLE
-
CREATE ANY INDEXES
-
ALTER ANY TABLE
- DROP ANY TABLE
-
INSERT ANY TABLE
-
UPDATE ANY TABLE
-
DELETE ANY TABLE
-
SELECT ANY TABLE
-
SELECT all_indexes
-
SELECT all_ind_columns
-
SELECT all_constraints
-
SELECT all_cons_columns
-
LOCK ANY TABLE
드라이버 설정
드라이버 설치 유틸리티(권장)를 사용하거나 수동으로 driver를 설치할 수 있습니다. 수동 설치는 드라이버 설치 유틸리티에 문제가 발생하는 드문 경우에만 시도해야 합니다.
드라이버 설치 유틸리티를 사용하여 드라이버 설치
이 섹션에서는 필수 driver를 설치하는 방법에 대해 설명합니다. 이 프로세스에는 필수 driver를 자동으로 다운로드, 설치 및 구성하는 스크립트 실행이 포함됩니다. 필요에 따라 스크립트를 실행하여 driver를 업데이트하고 제거할 수도 있습니다.
설치 준비
-
Python 3.6 이상이 데이터 이동 게이트웨이 서버에 설치되어 있는지 확인합니다.
Python은 대부분의 Linux 배포에 사전 설치되어 있습니다. 다음 명령을 실행하여 시스템에 설치된 Python 버전을 확인할 수 있습니다.
python3 --version
driver 설치
driver를 다운로드하고 설치하려면:
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./install oracle
driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 install oracle 명령을 다시 실행합니다.
그렇지 않으면 driver에 대한 EULA가 표시됩니다.
-
다음 중 하나를 수행합니다.
- [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
- 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
- q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
-
다음 중 하나를 수행합니다.
- "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
- "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
-
"v"를 입력하고 [Enter] 키를 눌러 EULA를 다시 봅니다.
driver가 설치됩니다.
driver 업데이트
제공된 driver를 설치하기 전에 driver의 이전 버전을 제거하려면 업데이트 명령을 실행합니다.
driver를 다운로드하고 업데이트하려면:
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./update oracle
driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 update oracle 명령을 다시 실행합니다.
그렇지 않으면 driver에 대한 EULA가 표시됩니다.
-
다음 중 하나를 수행합니다.
- [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
- 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
- q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
-
다음 중 하나를 수행합니다.
- "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
- "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
- "v"를 입력하고 [Enter] 키를 눌러 EULA를 처음부터 검토합니다.
이전 driver가 제거되고 새 driver가 설치됩니다.
driver 제거
driver를 제거하려면 제거 명령을 실행합니다.
driver를 제거하려면:
-
이 커넥터를 사용하도록 구성된 모든 작업을 중지합니다.
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./uninstall oracle
driver이 제거됩니다.
수동으로 드라이버 설치
자동 드라이버 설치가 성공적으로 완료되지 않은 경우에만 수동으로 driver 설치를 시도해야 합니다.
데이터 이동 게이트웨이를 설치한 후 oracle-instantclient-basiclite-<version>.x86_64.rpm 드라이버를 다운로드합니다. /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml의 binary-artifacts에서 지원되는 버전에 대한 직접 다운로드 링크를 찾을 수 있습니다. 다운로드가 완료되면 RPM을 데이터 이동 게이트웨이 컴퓨터에 복사합니다.
그런 다음 데이터 이동 게이트웨이 서버에서 셸 프롬프트를 열고 다음을 수행합니다.
-
데이터 이동 게이트웨이 서비스 중지:
sudo systemctl stop repagent
-
선택적으로 서비스가 중지되었는지 확인합니다.
sudo systemctl status repagent
- 드라이버(RPM)를 설치합니다.
-
또한 시스템에 아직 포함되어 있지 않은 경우 $Oracle_Home\lib 디렉터리에 기호 링크를 만듭니다. 링크 libclntsh.so의 이름을 지정하고 이 파일의 특정 버전을 가리킵니다.
예:
lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -> /u01/app/oracle/home/lib/libclntsh.so.21.1
-
작업 디렉터리를 <데이터 이동 게이트웨이-Install-Dir>/bin으로 변경하고 드라이버 위치를 site_arep_login.sh 파일에 복사하여 Oracle Instant Client 디렉터리와 데이터 이동 게이트웨이lib 디렉터리에 LD_LIBRARY_PATH 환경 변수를 추가합니다.
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/oracle/instantclient_<version>:/opt/qlik/gateway/movement/lib/" >> site_arep_login.sh
-
선택적으로 드라이버 위치가 복사되었는지 확인합니다.
cat site_arep_login.sh
-
데이터 이동 게이트웨이 서비스 시작:
sudo systemctl start repagent
-
선택적으로 서비스가 시작되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: active (running) since <timestamp> ago
상태는 다음과 같아야 합니다.
Active: inactive (dead) since <timestamp> ago
Oracle Autonomous Data Warehouse에 연결
Oracle Autonomous Data Warehouse에 복제하는 경우 다음 절차를 수행해야 합니다.
Oracle ADW(Autonomous Data Warehouse)에 대한 연결을 설정하려면 Oracle Autonomous Data Warehouse 환경을 설정할 때 다운로드한 클라이언트 자격 증명(Wallet) ZIP 파일이 필요합니다.
Oracle Autonomous Data Warehouse에 연결하기 위해 Qlik Talend Data Integration를 활성화하려면 다음을 수행합니다.
-
클라이언트 자격 증명 ZIP 파일의 콘텐츠를 선택한 폴더에 추출합니다.
임의의 폴더일 수 있지만 이 절차에서는 /home/adw_credentials가 추출된 파일이 포함된 Linux 폴더가 됩니다.
-
추출된 파일이 포함된 폴더에서 sqlnet.ora 파일을 편집하여 ?/network/admin을 추출된 파일이 포함된 폴더의 경로로 바꿉니다.
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adw_credentials")))
SSL_SERVER_DN_MATCH=yes
-
TNS_ADMIN 환경 변수를 만들고 이를 자격 증명 파일의 위치로 설정합니다.
다음 명령을 실행합니다.
export TNS_ADMIN=/home/adw_credentials
export PATH=$TNS_ADMIN:$PATH
-
Oracle 대상 커넥터의 연결 문자열 필드에 tnsnames.ora 파일의 이름 중 하나를 입력합니다.
Oracle ADW 연결 설정에 대한 자세한 내용은 다음을 참조하십시오.
클라이언트 응용 프로그램을 사용하여 자율 트랜잭션 처리 연결
제한 사항 및 고려 사항
Oracle을 복제 대상으로 사용하는 경우 다음 제한 사항이 적용됩니다.
- Oracle 데이터베이스에서는 새 스키마를 만들 수 없습니다. 새 스키마로 복제하려면 새 스키마 이름이 대상 데이터베이스에 이미 존재해야 합니다. 그런 다음 작업 설정의 Metadata 탭에서 새 스키마 이름을 지정해야 합니다.
-
일괄 최적화 적용 모드에서 작업할 때 빈 LOB 열이 NULL 값으로 복제될 수 있습니다.
- 전체 로드가 완료된 후, LOB 크기 제한 옵션이 활성화되고 테이블에 NCLOB 데이터가 포함된 경우 대상의 NCLOB 크기는 LOB 크기 제한 필드에 지정된 크기의 절반으로 잘립니다. CDC는 제한에 따라 해당 정보를 잘라냅니다.
데이터 유형
기본 데이터 유형 정보는 보존되며 데이터 집합 보기의 기본 데이터 유형 열에 표시됩니다. 열이 표시되지 않으면 데이터 집합 보기의 열 선택기를 열고 기본 데이터 유형 열을 선택해야 합니다.
Qlik Cloud 데이터 유형 | Oracle 데이터 유형 |
---|---|
BOOLEAN |
NUMBER(1) |
BYTES |
RAW(길이) |
DATE |
DATETIME |
TIME |
TIMESTAMP(0) |
DATETIME |
배율 <= 9이면 TIMESTAMP(배율) 그렇지 않으면 VARCHAR2(37) |
INT1 |
NUMBER(3) |
INT2 |
NUMBER(5) |
INT4 |
NUMBER(10) |
INT8 |
NUMBER(19) |
NUMERIC |
NUMBER(p,s) |
REAL4 |
BINARY_FLOAT |
REAL8 |
BINARY_DOUBLE |
STRING |
날짜 표시 사용: DATE 시간 표시 사용: TIMESTAMP 타임스탬프 표시 사용: TIMESTAMP timestamp_with_timezone 표시 사용: TIMESTAMP WITH TIMEZONE timestamp_with_local_timezone 표시 사용: TIMESTAMP WITH LOCAL TIMEZONE Interval_year_to_month 표시 사용: INTERVAL YEAR TO MONTH Interval_day_to_second 표시 사용: INTERVAL DAY TO SECOND 길이 > 4000인 경우: CLOB 기타 모든 경우: VARCHAR2(길이) |
UINT1 |
NUMBER(3) |
UINT2 |
NUMBER(5) |
UINT4 |
NUMBER(10) |
UINT8 |
NUMBER(19) |
WSTRING |
NVARCHAR2(길이) 길이가 2000보다 큰 경우 열 데이터 유형은 NCLOB가 됩니다. |
BLOB |
BLOB 정보 메모
|
CLOB |
CLOB 정보 메모
|
NCLOB |
NCLOB 정보 메모
|
XMLTYPE 대상 데이터 유형은 Oracle-Oracle 복제 작업에만 관련이 있습니다. 아래 메모 사항을 참조하십시오. |
XMLTYPE |