Kafka connector 에 오라클 구축시 OCI(Oracle instant client) driver를 사용해야하는 이슈로 OCI 설치 리서치했던 내용 중 성공했던 방법을 기록한다.
Reference
1. Download Oracle instant clinet
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
- instantclient-basic-linux.x64-12.1.0.2.0.zip
- instantclient-sdk-linux.x64-12.1.0.2.0.zip
꼭 같은 버전으로 셋트 맞춰 다운받자! (버전이 같아야 나중에 압축을 해제시 같은 폴더에 풀리게 된다.)
2. 압축 해제
위에서 다운받은 압축 파일을 설치한 디렉토리에 복사(본 예제는 /opt/
안에 생성한다.) 한 이후 과정이다.
$ cd /opt
$ unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
$ unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
# 버전이 같아야 아래 디렉토리 안에 압축해제된 파일들이 모두 들어간다.
$ ls -al
..
drwxr-xr-x 4 root root 4096 Aug 31 03:07 instantclient_12_1
..
3. Oracle 환경 변수 설정
$ vi ~/.bashrc
...
export OCI_HOME=/opt/instantclient_12_1
export OCI_LIB_DIR=$OCI_HOME
export OCI_INCLUDE_DIR=$OCI_HOME/sdk/include
export OCI_VERSION=12
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LD_LIBRARY_PATH=/opt/instantclient_12_1:${LD_LIBRARY_PATH}
export TNS_ADMIN="/opt/instantclient_12_1/network/admin"
export NLS_LANG=KOREAN_KOREA.KO16MSWIN949
...
$ source ~/.bashrc
source 명령어로 갱신했지만 그냥 로그아웃했다가 다시 접속하는게 나을 수도 있다.
4. Id에 Oracle Instant Client 라이브러리 설정 (옵션)
$ echo '/opt/instantclient_12_1' | sudo tee -a /etc/ld.so.conf.d/oracle_instant_client.conf
$ ldconfig
5. NS_ADMIN 디렉토리 및 tnsnames.ora 설정 (옵션)
mkdir -p /opt/instantclient_12_1/network/admin
cd $TNS_ADMIN
vi tnsnames.ora
DEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS_LIST =
(ADDRESS_LIST =
(ADDRESS =(PROTOCOL=TCP)(HOST=192.168.0.40)(PORT=1521)
)
)
)
)
(CONNECT_DATA =(SERVICE_NAME=orcl)
)
)
부록
ora-01882: TimeZone Region not found. with Kafka Connect JdbcSource connector.
오라클 접속시 ora-01882: TimeZone Region not found.
에러가 발생할 경우 다양한 방법으로 oracle.jdbc.timezoneAsRegion=false
옵션을 주고 접속하면 된다.
그러나 이를 지원하지 않는 plugin의 경우 강제로 ojdbc8.jar
파일을 수정해 해결 할 수 있다.
해결방법:
ojdbc8.jar
압축 해제 (linux에서는.jar
확장자를.zip
로 수정하고unzip
으로 압축해제 하자.)- ojdbc8/oracle/jdbc/defaultConnectionProperties.properties 파일에
oracle.jdbc.timezoneAsRegion=false
라인 추가 후 저장 - 수정된 파일이 있는 디렉토리(ojdbc8) 다시
.zip
으로 압축 - 확장자를
.zip
->.jar
로 수정
간단한 properties 파일 같은 텍스트 기반에 파일을 수정하는 경우는 재컴파일 할 필요없이 압축해서 확장자만 바꿔줘도 정상 동작한다.
'DataBase' 카테고리의 다른 글
mysql의 'ON DUPLICATE KEY UPDATE' 구문 (0) | 2010.02.09 |
---|---|
show variables 변경하기 5.0 기준 서버 변수 변경하기 (0) | 2010.01.06 |
mysqldump 옵션 및 사용법 (0) | 2009.10.09 |
EXPLAIN을 사용해서 쿼리 최적화 하기 (1) | 2009.06.03 |
MYSQL Explain (0) | 2009.05.14 |