IT기술/BigData

윈도우용 R 에서 오라클 DB 에 접속하는 방법

dobbby 2014. 2. 28. 15:59
반응형

이번 테스트 환경은 윈도 7 (64비트) 에 설치된 64비트 R (3.0.2) 버전에서 물리적으로 다른 장비에 RHEL 5 버전에 설치된 Oracle 11g R2 에 버전에 접속하게 합니다.

이 실습을 하기 위해 윈도 PC 에는 Oracle client 가 설치되어 있고 tnsnames.ora 파일이 설정되어 있어 오라클 DB 와 접속이 잘된다고 가정하고 진행합니다.

만약 이 전제조건이 안될 경우 아래 내용도 안되므로 이 부분이 잘 되는지 확인 후 아래의 연결작업을 진행하세요.

확인방법은 윈도에서 cmd 창을 열어서 tnsping tns_name 해서 ok 나와야 합니다.


1. R 설치 (http://www.r-project.org/ 에서 다운받기)


2. 64비트 R 이므로 64-bit oracle data access components (ODAC) 를 다운로드 받아서 적당한 곳에 압축을 풉니다.

(http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html)

계약서에 동의하고 데이터베이스와 동일하거나 높은 버전을 다운로드 받아서 적당한 곳에 압축을 풉니다.


3. 설치할 때 윈도에 기존에 설치되어 있는 Oracle Client 와 동일한 경로에 설치하세요. 그래야 Oracle cleint 가 가지고 있던 설정을 그대로 가져옵니다.

경로가 바뀌면 기존 설정들을 가져오지 못해서 번거로워집니다.


4. ODAC 설치가 끝나면 제어판 → 시스템 및 보안 → 관리 도구 에 가서 데이터원본 (ODBC) 를 실행합니다.


5. 추가


6. 데이터원본설정할 드라이버 선택 Oracle in OraClient11g_home1


7. Test Connection


8. OK 


접속이 정상적으로 되는 것이 확인되면 OK 버튼을 눌러 설정을 저장하세요.


위에서 생성한 testdb3 을 사용하여 R 에서 오라클로 접속하는 테스트를 계속 진행합니다.


R로 돌아와서 필요한 패키지인 "DBI", "RODBC" 를 설치합니다.


> install.packages("DBI")

> install.packages("RODBC")

> library(DBI)

> library(RODBC)

> db <- odbcConnect("testdb3") <- 이렇게 하면 암호를 입력하라는 창이 뜹니다.

# 만약 이렇게 하기 귀찮다면

# > db <- odbcConnect("testdb3", uid="scott", pwd="tiger")

> sqltest <- sqlQuery(db, "select * from emp")

> sqltest


> a <- sqltest$DEPTNO

> barplot(a)


위와 같이 Oracle DB 에 저장된 데이터를 불러와서 동일하게 작업할 수 있습니다.





반응형