Oracle ODBC 설정은 아래와 같은 단계로 이루어집니다.
1. Oracle 설치 (버전에 따라 client 및 server 설치)
2. MySQL odbc 다운 및 설치 (mysql-connector-odbc, https://dev.mysql.com/downloads/connector/odbc/)
3. odbc 구성
- ODBC driver
/etc/odbc.ini 파일 아래와 같이 설정
driver=mysql
database=test
port=3306
server=127.0.0.1
user=test1
password=test
charset=utf8 (mysql charset에 따라 맞게 설정)
- listener (in the ORACLE_HOME where the gateway software is installed)
listener에 mysql 접속을 위해 아래와 같은 정보 설정
SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(SID_NAME=test)
(ORACLE_HOME=/u01/app/product/12.1.0/db_1)
(PROGRAM=db4odbc)
(ENV="LD_LIBRARY_PATH=/usr/lib64:$ORACLE_HOME/lib")
- tnsnames (in the ORACLE_HOME where the Oracle database software is installed)
test =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA = (SID = test) )
(HS=OK)
)
- init<SID>.ora of the hs subsystem (in the ORACLE_HOME where the gateway software is installed)
$ORACLE_HOME/hs/admin에서 설정
sid 이름에 맞춰 inittest.ora 생성후 아래와 같이 설정
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
HS_FDS_SUPPORT_STATISTICS = FALSE
HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8 (oracle db에 맞게 설정)
HS_RPC_FETCH_REBLOCKING=OFF
HS_KEEP_REMOTE_COLUMN_SIZE=ALL
HS_NLS_LENGTH_SEMANTICS=VARHCAR or CHAR
HS_NLS_NCHAR=UCS2
set ODBCINI=/etc/odbc.ini
- Oracle database
sqlplus 상에서 한글이 깨지지 않도록 shell 환경에
export NLS_LANG=AMERICAN_AMERICA.UTF8 오라클 charset 설정
위에 설정한 tns 이름으로 db link 생성후 사용
create database link test connect to "test1" identified by "test" using 'test';
mysql에 table description이 맞는지 확인
desc "testu"@test;
# mysql에서 varchar2 사이즈가 클 경우 오라클에서는 long 타입으로 표시가
되니, mysql에서 해당 테이블에 대한 view를 생성후 해당 컬럼을 cast ( ~ as char(1000))식으로 만들어 데이터를 copy하면 됨.
# 위에 설정 변경후 db link를 삭제후 새로 만들어야 설정이 변경됨.
# ODBC 접속 테스트 : isql -v test
Real MySQL 8.0 : https://link.coupang.com/a/VyF9S
MySQL 성능 책 : https://link.coupang.com/a/VyDxL
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'RDB > Oracle' 카테고리의 다른 글
logmnr 설정 (0) | 2017.07.18 |
---|---|
DBCA 오라클 DB생성 (0) | 2017.01.23 |
oracle rac tde (0) | 2016.12.08 |
Oracle RAC: Rotating the TDE Master Key and Oracle Wallet Password with a Wallet Copy on Each Node (0) | 2016.12.08 |
oracle key vault 구성 (0) | 2016.12.08 |