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

 

Real MySQL 8.0 1

COUPANG

www.coupang.com

 MySQL 성능 책 :    https://link.coupang.com/a/VyDxL

 

MySQL 성능 최적화:고성능 시스템 구축을 위한 전략과 최적화 기법

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

'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

+ Recent posts