티스토리 뷰

R/Install

[R] R, Oracle 연동

Aaron 2019. 1. 14. 21:08
반응형

R, Oracle 연동 


  보통 현업에서 개인 컴퓨터로 서버 컴퓨터에 원격 접속하여 작업을 한다고 합니다. 

서버 컴퓨터(성능 향상을 위해 GUI가 없는 유닉스를 사용)에 원격 접속을 할 경우 서버 컴퓨터의 R, Python, Oracle을 사용하게 됩니다.

혹은 서버 컴퓨터에 접속하여 필요한 데이터를 긁어온 후 개인 컴퓨터로 가져와서 R, Python으로 분석을 수행할 수 있겠죠.


  개인 컴퓨터의 R 에서 서버 컴퓨터의 Oracle에 접속하여 서버용 Oracle DB에 저장된 데이터를 가져오는 것이 목적이라면

개인 컴퓨터에 Oracle client가 설치되어있어야 합니다. 


단순히 데이터를 가져오기 위해 target DB에 접속할 목적 => Client (저장공간이 없고 오라클 접속만 가능하도록 하는 시스템)

+ SQL 문을 실행할 목적 => Server (저장공간을 가지고 있는 오라클 서버)



저는 Orange Tool을 사용하기 위해 개인 컴퓨터에 Oracle 32bit를 다운 받았었습니다. 

Orange Tool이 Oracle 64bit와 충돌한다고 해서요..!


하지만, R과 Oracle의 bit가 같아야 연동이 가능하다고 해서 저는 먼저 

R(64bit) 와 Oracle(32bit) 를 연동하기 위해 Oracle(64bit) Client를 설치할 것입니다.


이미 Oracle 64bit를 사용하시던 분들은 아래 32bit 설치를 스킵하고 연동하는 부분 3. R & Oracle 연동부터 참고하세요!




1. Oracle(64bit) Client 다운



--------------------------------------------------------------------------------------------


설치 할 Oracle Client의 bit를 확인 후 See All을 눌러주세요.



--------------------------------------------------------------------------------------------



--------------------------------------------------------------------------------------------



2. Oracle(64bit) Client 설치

 

 저장공간 없이 DB에 접속하기 위한 껍데기(?)라서 접속 환경만 제공해주므로 설치 방법도 단순합니다.


1. setup.exe 파일 실행



2. Instant Client 선택



3. 위치는 D:\ 혹은 E:\ 로 이미 설치된 32bit Oracle과 구별하기 위해, 다른 디스크로 경로가 자동 설정됩니다. 

   설치 경로는 환경 변수 설정과, 연동을 위해 사용되므로 꼭! copy해두거나 기억해주셔야 합니다.



4. 완료를 누르면 설치 끝입니다!



5. 기존 Oracle DB와 충돌할 수 있으므로 환경변수 PATH 설정 

보통 자동으로 경로가 잡혀있지만, 그렇지 않다면 PATH를 추가해주어야 합니다. 기존 PATH don't touch!

환경변수 PATH 설정하는 방법 (이동)



6. ojdbc6.jar 파일 확인

  ojdbc6.jar 파일은 R과 Oracle의 연동을 위한 파일입니다. 이 파일을 얻기 위해 Oracle Client를 설치한 것 입니다 !




3. R & Oracle 연동


1. Client쪽에 Oracle설치 필요

- Oracle client : *.jar 파일들만 가지고 있고 저장 공간은 갖추지 못한 DataBase

- Oracle Server : Oracle DBMS라고하는 저장 공간까지 갖춘 DataBase

 

2. client R 서버에서 접속 환경 설정

2-1) RJDBC 패키지 설치

 RJDBC pakage를 loading하기 위해 rJava가 필요합니다. 기존에 rJava가 설치되어있지 않다면 install.packages("rJava"), library(rJava) 를 먼저 수행해주시면 됩니다.

혹시나! rJava가 잘 설치되지 않는다면  Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_191") 명령어로 java경로를 다시 설정해보세요.

> install.packages("rJava")   # Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_191")

> library(rJava)

> install.packages("RJDBC")

> library(RJDBC)

 

2-2) ojdbc6.jar 파일 연결

> jdbcDriver <- JDBC(driverClass = "oracle.jdbc.OracleDriver", 

                              classPath = "E:/app/Aaron/product/11.2.0/client_1/ojdbc6.jar")

                           # classPath Oracle client가 설치되어 있는 폴더에서 ojdbc 파일을 찾기 위한 위치를 저장합니다.

 

2- 3) target DB connection 생성

# 타겟 DB에 접속하기 위한 정보 : 1. 주소(ip, port), / 2. DB 이름, / 3. 접속 유저

> con <- dbConnect(jdbcDriver, 

                            "jdbc:oracle:thin:@192.168.0.5:1521:orcl",     # target DB의 ip : port : DB이름

                            "scott","oracle")     # target DB 계정 정보(계정명, 패스워드) 

# target DB의 ip 주소는 : 시작 -> cmd -> ipconfig -> IPv4 주소를 확인하면 됩니다.

# port 번호 1521 은 오라클이 자동 설정해놓은 default 주소입니다. 현업에서는 보안을 위해 다른 주소 사용한답니다! 


2- 4) Oracle 데이터 가져오기

> query <- "select * from emp"  # data.frame 형식으로 데이터 불러오기 가능

> result <- dbGetQuery(con, query)

> head(result)

  EMPNO  ENAME      JOB  MGR            HIREDATE  SAL COMM DEPTNO

1  7369  SMITH    CLERK 7902 1980-12-17 00:00:00  800   NA     20

2  7499  ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600  300     30

3  7521   WARD SALESMAN 7698 1982-02-22 00:00:00 1250  500     30




참고: KIC 캠퍼스 머신러닝기반의 빅데이터분석 양성과정

반응형

'R > Install' 카테고리의 다른 글

[R] R Studio 설치하기  (0) 2018.12.22
[R] R 설치하기 - R, JRE  (2) 2018.12.21
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday