오라클 12c(12.2.0.1.0)을 설치하고 계정을 생성하고 필요한 권한을 부여한 후 테이블을 생성해 몇가지 데이터를 INSERT해서 최종적으로 JDBC로 연결해 쿼리를 날려 데이터를 받는 테스트를 하고 몇가지 내용을 정리합니다. 참고로 오라클 12c에는 기본적으로 공간 데이터 처리를 위한 기능이 같이 설치가 됩니다.
오라클을 설치하고 다음 명령을 통해 계정을 생성하고 해당 계정에 필요한 권한을 부여합니다. Console 창에서 실행한 경우입니다.
# sys 계정으로 접속 sqlplus / as sysdba # 계정 생성(로컬 사용자가 아닌 공통 사용자 생성의 경우 반드시 c##을 붙여줘야 함) create user c##dip2k identified by PASSWORD; # 계정 잠근 해제 alter user c##dip2k account unlock; # 로그인 및 테이블 생성 권한 부여 grant connect, resource to c##dip2k # Tablespace 권한 부여(INSERT 문 실행 가능하도록 함) alter user c##dip2k default tablespace users quota unlimited on users;
이제 다시 sqlplus를 실행해 앞서 생성한 계정으로 로그인하고 test_mytable이라는 이름의 테이블을 생성하고 데이터를 추가합니다. 그리고 오라클용 JDBC jar 파일을 다운로드 받고 다음 java 코드를 통해 연결을 테스트합니다.
package test_oracle_jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MainEntry { public static void main(String[] args) { String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String USER = "c##dip2k"; String PASSWORD = "PASSWORD"; String query = "SELECT * from test_mytable"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(URL, USER, PASSWORD); stmt = conn.createStatement(); rs = stmt.executeQuery(query); while(rs.next()) { String v = rs.getString(1); System.out.println(v); } } catch(Exception e) { e.printStackTrace(); } finally { try { if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(conn != null) conn.close(); } catch(SQLException e) {} } } }