MariaDB (Stoarge Engine) - Connect(ODBC)
공식 홈페이지 내용:
CONNECT 스토리지 엔진을 사용하면 MariaDB가 외부 로컬 또는 원격 데이터(MED)에 액세스할 수 있습니다. 이는 다양한 데이터 유형, 특히 다양한 형식의 파일, ODBC 또는 JDBC를 통해 다른 DBMS 또는 제품(예: Excel 또는 MongoDB)에서 추출한 데이터 또는 환경에서 검색된 데이터(예: DIR, WMI 및 MAC 테이블)
이 스토리지 엔진은 테이블 파티셔닝, MariaDB 가상 열을 지원하며 ROWID, FILEID 및 SERVID와 같은특수열정의를 허용 합니다.
사용 이유?
서로 다른 데이터베이스에 저장된 데이터들과 소스들을 실시간으로 결합시키기 위해 사용한다.
Connect 엔진 사용 가능한 MariaDB 버전
우선 테스트 하기 쉽도록 VmWare를 설치했다고 가정하고 진행하도록 하겠습니다.
사용한 os는 centos7입니다.
MariaDB(MySQL) --> Oracle DB로 엑세스를 해보겠습니다.
Oracle ODBC Driver 설치를 위해 OracleClient를 설치해야 합니다.
(https://www.oracle.com/kr/database/technologies/instant-client/linux-x86-64-downloads.html)
자신의 OS와 알맞는 버전을 파악한 후 basic, odbc, devel RPM파일을 다운받습니다.
저는 최신버전인 Version 21.1.0.0.0을 받도록 하겠습니다.
다운이 완료 된 후 Vmware에 공유 파일을 설정합니다.
manage - virtual Machine Setting - options - share Folders로 가서
Always enabled로 설정해주고 Add 버튼을 누릅니다.
Host path에는 자신이 다운 받은 Rpm 파일들의 폴더를 입력해줍니다.
이렇게 공유 폴더를 지정하고 실제 폴더를 우클릭 후 속성 - 공유 - 고급 공유 - 권한에 들어가서
모든 권한에 허용을 눌러주고 적용합니다.
이렇게 권한을 설정해주고 터미널을 실행하고 cd /mnt/hgfs 명령어를 실행해줍니다.
공유하기 위한 폴더가 나타났다면 다행이지만 만약 나타나지 않은 분들은 설정을 다시해보시거나
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
명령어를 실행해 보시기 바랍니다.
이제 설치를 진행해보도록 하겠습니다.
root 계정이 아니신 분들은 sudo 명령어를 추가하시거나 root 계정으로 들어가셔서 명령어를 실행해주면 됩니다.
1. Oracle Client 설치
rpm -ivh oracleClient/oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
rpm -ivh oracleClient/oracle-instantclient-devel-21.1.0.0.0-1.x86_64.rpm
rpm -ivh oracleClient/oracle-instantclient-odbc-21.1.0.0.0-1.x86_64.rpm
basic => 실행하기 위한 기초 파일들
devel => 컴파일을 위한 헤더 및 라이브러리 패키지
odbc => 오라클과 연결하기 위한 ODBC를 제공하는 추가 라이브러리
이렇게 모두 설치를 했으면 bash_profile에 들어가 오라클 클라이언트 경로를 환경변수에 설정해줍니다.
vi ~/.bash_profile
source ~/.bash_profile // 환경변수 적용
env (환경변수가 적용되었는지 확인)
LD_LIBRARY_PATH => Linux에 Tomcat 서버를 올린 후 외부 라이브러리를 링크할때 참조할 경로(동적 라이브러리)
2. ODBC 설치
자동으로 설치할 분들은 Yum을 이용해서 설치.
yum install unixODBC
yum install unixODBC-devel
수동으로 설치해야 하는 분들은 tar 파일을 받아 수동으로 설치해줍니다.
(https://www.unixodbc.org/unixODBC-2.3.9.tar.gz)
마찬가지로 공유폴더로 지정한 곳에 넣어두고 다시 mnt/hgfs/공유폴더 로 들어갑니다.
tar xvf unixODBC-2.3.9.tar.gz
명령어를 실행해주면 기본경로 usr/local/에 설치됩니다.
만약 경로를 임의로 지정하고 싶은 경우
./configure --prefix= 원하는 경로 로 지정해줍니다.
저는 기본경로로 선택하고 설치를 이어나가겠습니다.
압축이 풀린 폴더로 들어가
./configure 명령어를 실행해줍니다. (경로 지정)
make //컴파일 후 바이너리 파일 생성
make install // 경로 지정된 곳에 설치
3. ODBC 설정
설치가 완료되었으면 ODBC 설정 파일이 위치해 있는 /usr/local/etc로 이동합니다.
odbcinst.ini
[Oracle]
Description = Oracle ODBC driver for Oracle
Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
odbc.ini
[Oracle]
Driver = Oracle #odbcinst.ini와 동일하게
ServerName = // IP :1521/XE
UserName = 유저명
Password = 패스워드
Trace = yes
TraceFile = /tmp/odbc_oracle.log
이렇게 설정해주고 isql을 이용해 실행해봅니다.
isql -v Oracle 아이디 비밀번호
만약에 ORA-12162: TNS:net service name is incorrectly specified 이런 오류가 생긴다면
bash_profile에 다시 들어가 SID와 HOSTNAME을 추가해줍니다.
export ORACLE_SID=XE
export ORACLE_HOSTNAME=DESKTOP-BIAGIU7