DoubleDBDeep

[ORANGE] 오렌지 for 오라클 연결 | tnsnames.ora | oracle client 설치 본문

NOTE

[ORANGE] 오렌지 for 오라클 연결 | tnsnames.ora | oracle client 설치

DBCAMI 2023. 2. 13. 09:14
  ENVIRONMENT
OS WINDOWS 11
오라클 버전 19.17
오라클 클라이언트 버전 11g 32bit
오렌지 버전 6

 

Media 준비

클라이언트

- OSCD에서 받음

 

클라이언트 설치 참조문서

https://docs.oracle.com/cd/E11882_01/install.112/e49704/toc.htm#BGBIJEDD

 

Oracle® Database Client Quick Installation Guide

5.1 Installation Consideration on Windows Vista and Later On Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows 7, and Windows 8, and Windows 8.1, command prompts should be opened with Administrator privileges. 5.2 Guidelines for Installin

docs.oracle.com

- 오렌지

계정 및 라이센스 구매 필요 (체험판 有)

https://www.warevalley.com/support/download_list.asp

 

Warevalley

 

www.warevalley.com

 

설치

클라이언트 설치

관리자로 설치
언어선택
설치경로 선택
요약 및 설치 하면 됨!

 

오렌지는 DBA EDITION으로 설치하였음 (이미 깔려있어서 설치 과정은 생략함)

설치 후 HELP -> 라이센스 키를 등록해주면 된다

 

오라클과 오렌지 연동

오렌지와 연결하기 위해서는

내 컴퓨터 (윈도우) 의 오라클 CLIENT의 TNSNAMES.ORA 파일의 TNS 정보 <-> ORACLE DATABASE 서버(LINUX)가 (LISTENER) 연결되어야한다.

 

 

1. 오라클 데이터베이스가 설치된 서버의 LISTENER 및 서버 정보 확인 (IP, PORT)

// db listener.ora 확인

리스너명 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 특정서버ip주소 or hostname)(PORT = 포트))
    )
  )
// $ORACLE_HOME/network/admin 경로의 listener.ora
[ORA12|oracle:/u01/app/oracle/product/12c/dbhome_1/network/admin]> cat listener.ora 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ORA12)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORA12)
      (ORACLE_HOME = /u01/app/oracle/product/12c/dbhome_1)
      (SID_NAME = ORA12)
    )
)

// db에서 사용하는 리스너 상태 확인 

[ORA12|oracle:/home/oracle]> lsnrctl status LISTENER

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-FEB-2023 08:39:17

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ORA12)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                13-FEB-2023 06:46:00
Uptime                    0 days 1 hr. 53 min. 17 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12c/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ora12/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora12)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORA12" has 2 instance(s).
  Instance "ORA12", status UNKNOWN, has 1 handler(s) for this service...
  Instance "ORA12", status READY, has 1 handler(s) for this service...
Service "ORA12XDB" has 1 instance(s).
  Instance "ORA12", status READY, has 1 handler(s) for this service...
The command completed successfully

 

--> IP = /etc/hosts에 정의된 hostname의 ip 정보 (나는 192.168.~.~)

--> PORT = 1521  임을 확인했음

 

2. 오라클 클라이언트가 설치된 서버의 TNSNAMES.ORA 수정

tnsnames.ora 작성 경로 이동

내 환경 --> C:\app\oracle\product\11.2.0\client_1\network\admin

 

수정 전 해당 폴더 및 파일에대한 수정 권한이 있는지 속성을 통해 확인하시길.

TNS별칭 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 오라클 db 서버 ip)(PORT = db port))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = db sid)
    )
  )

 

// 해당 내용 추가
ORA12 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XX.XX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORA12)
    )
  )

 

3. 오렌지에서 연결

CONNECT 

--> 버튼 눌러도 되고 / File tab -> Connect / Ctrl + n 모두 가능

해당 부분을 작성하면 됨

TNS : tnsnames.ora 파일에 작성한 TNS명 (별칭)

USERNAME : 접속할 DB 유저

PASSWORD : 접속할 DB 유저의 패스워드

Authentication Mode : sys로 로그인 할것이라면 sysdba를 선택해야 함.

Comment : 참조용 코멘트

Label : 구별용 (나는 색깔을 반드시 해놓는 편.. 실수로 건들지 말아야할 DB를 건드리지 않기위해)

 

ORA-28040 : 일치하는 인증 프로토콜 없음

이런 오류가 떴다면 ? 두두둥탁

오라클 데이터베이스 버전과 오라클 클라이언트 버전이 맞지 않아서 뜨는 오류

--> 데이터베이스 서버의 sqlnet.ora를 수정해야함

// sqlnet.ora 경로 이동 및 샘플 파일 복사
[ORA12|oracle:/u01/app/oracle/product/12c/dbhome_1/network/admin]> cd samples/
[ORA12|oracle:/u01/app/oracle/product/12c/dbhome_1/network/admin/samples]> ls -al
total 44
drwxr-xr-x. 2 oracle dba    64 Feb 10 14:51 .
drwxr-xr-x. 3 oracle dba    79 Feb 13 07:01 ..
-rw-r--r--. 1 oracle dba  3867 Sep  9  1997 listener.ora
-rw-r--r--. 1 oracle dba 32844 May 21  2014 sqlnet.ora
-rw-r--r--. 1 oracle dba  2939 Feb 13  1997 tnsnames.ora
[ORA12|oracle:/u01/app/oracle/product/12c/dbhome_1/network/admin/samples]> cp -apv sqlnet.ora ../sqlnet.ora
‘sqlnet.ora’ -> ‘../sqlnet.ora’
// sqlnet.ora 파일 수정 (추가)

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 10
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10

다시 시도하면 연결 완!

 

 

내가하는 오렌지 간단 설정

 

1. 한번에 조회되는 SQL 길이 늘이기

--> 값이 너무 길면 중간에 잘리는 현상 방지

Tools -> Orange Options -> Common -> Session -> Array Size, Long 수정

 

2. 한번에 조회하는 row 수 늘리기 (아마.. default 200건으로 되어있음)

Tools -> Orange Options -> SQL Tool -> General -> Initial Fetch , Next Fetch 수정

 

+++) 프젝하다가 배운사항.. 

Fetch as Need 체크된거 해제하면 50000건 이상도 완전히 끝까지 조회할 수 있다함 ㅎㅎ 나 바보임

출력 최대로 ~!!

 

그럼 이만..

728x90