[Oracle] TOra 윈도우즈버전 문제해결법

사용환경

  • 운영체제 : Microsoft Windows XP SP3
  • 오라클 클라이언트 버전 : Oracle Client 10.1.0
  • TOra 버전 : TOra 2.1.3

01. 시작하기 전에…

오라클을 사용하면서 오라클 클라이언트를 설치하면 같이 설치되는 SQL Plus도 나쁘지는 않지만… 대부분의 개발자들은 보다 빠르고 편하게 데이터를 조회하고 튜닝하는 등의 작업을 할 수 있는 SQL Tool을 설치하여 사용합니다.

대표적인 솔류션들이 Toad for Oracle, Golden, SQLGate, Orange 등이 있는데.. 저의 경우에는 각 솔루션의 특징에 따라서 사용하곤 합니다. 주로 사용하는 것이 Toad for Oracle인데… 워낙 많은 기능을 지원하고 있어서 약간 무거운 편이긴 합니다. 데이터를 조회해서 그리드에 출력할 때는 500 row 단위로 끊어서 출력해주므로… 신규로 쿼리를 작성할 때 편리합니다.

그렇지만… 역시 상용 솔루션이고, 저 처럼 윈도우즈와 리눅스를 동시에 사용하는 개인사용자에게는 Toad for Oracle을 대체할 만한 다른 오픈소스 프로젝트를 찾아볼 수 밖에 없었습니다. 그래서 찾게된 것이 TOra입니다.(참고문서 1)

02. 다운로드 및 설치

설치하려는 운영체제가 리눅스라면 해당 배포판별 저장소(Repository)를 추가해서 해당 저장소를 이용하여 설치 및 업데이트를 하실 수 있을 겁니다. 여기에서는 윈도우즈XP에서 설치를 할 예정이라… 소스포지(SourceForge)의 링크에서 다운받았습니다.

http://torasql.com/Download

자세한 내용은 위의 링크를 참고하시면 될 것 같습니다. 다운로드 및 설치과정은 워낙 간단하므로 생략하도록 하겠습니다.

03. TNS 설정읽어오기

기존에 Toad for Oracle을 정상적으로 사용하였기 때문에 기본적으로 오라클 클라이언트와 tnsnames.ora 파일은 정상적으로 셋팅이 완료된 상태입니다.

TOra를 실행한 뒤에 TNS를 이용해서 접속하려는데… tnsnames.ora 파일을 정상적으로 읽어오질 못해서 Database를 선택할 수 있는 콤보박스에 Database 이름들이 정상적으로 출력되질 않더군요… 그래서 원인을 인터넷으로 찾아보니 %ORACLE_HOME%%TNS_ADMIN%이라는 환경변수 셋팅이 필요하다고 하더군요.(참고문서2) 그래서 아래와 같이 TNS_ADMIN 환경변수를 추가해줬습니다.

%ORACLE_HOME%NETWORKADMIN

물론… 기존에 ORACLE_HOME은 설정이 되어 있어야 합니다.

위 처럼 %TNS_ADMIN%이라는 환경변수가 설정이 완료되면 아래처럼 TNS 설정을 정상적으로 읽어오는 것을 확인할 수 있습니다.

04. OCI.DLL 문제

이제 정상적으로 TNS설정을 읽어왔으므로 오라클 서버 접속에 문제가 없을 것이라고 생각했지만… 아이디와 비밀번호를 정상적으로 입력했음에도 계속 아래와 같은 오류가 발생하더군요…

관련된 이슈에 대해서 검색을 해보니… 오라클 클라이언트가 설치되지 않은 상태에서도 접속을 할 수 있도록 TOra 자체적으로 oci.dll (Oracle Call Interface)을 가지고 있다고 합니다. 문제는 우선순위가 자체적으로 가지고 있는 oci.dll을 우선적으로 사용하나본데.. 그게 문제가 되어서 접속이 정상적으로 이루어지지 않았던 것입니다.

그래서 TOra 설치 디렉토리 내(C:Program FilesToraoci.dll) 의 oci.dll 파일을 oci.dll.old 파일로 변경하니 정상적으로 오라클 서버에 로그인이 가능하게 되었습니다.

05. 마치면서

아직 제대로 사용해보지는 않았지만… 기본적인 사용에는 큰 문제가 없을 것이라고 생각합니다. Toad for Oracle에 비하면 아무래도 기능면에서 좀 부족할 수 있지만 사실 Toad for Oracle에서도 사용하지 않는 기능이 워낙 많다보니… 크게 부족함은 없을 것이라고 생각합니다.

약간 아쉬운 점이라면 Toad for Oracle에서 즐겨 사용하던 SQL Formatter, Recall Named SQL 정도?

06. 참고문서

  1. Toad 대체 오픈소스 솔루션 : http://www.osalt.com/toad-oracle
  2. TNS_ADMIN 설정 : http://commit.co.kr/92
  3. OCI.DLL 문제 : http://www.mplsoft.co.kr/entry/Open-SourceTOra-Oracle-Magnagement-Tool-Alternative-to-Toad-or-PLSQL-Developer-or-SQLGate-or-Orange