본문 바로가기
Database/Oracle DB

Oracle 네트워크 설정

by 슬픈 야옹이 2023. 3. 5.

이 포스트에서는 다음 내용을 다룬다.

1. listener 설정과 구동

2. 리눅스 클라이언트 설정과 접속

 

 

 

1. listener 설정과 구동

Oracle Database는 listener 프로세스를 통해 네트워크 접속을 관리한다.

 

리스너 설정 파일의 이름은 listener.ora이며, 오라클 설치 시 $TNS_ADMIN 경로 하위에 자동으로 생성된다.

지난 포스트에서 구축한 오라클에 대해 listener가 동작하도록 설정 파일을 편집한다.

 

$ cd $TNS_ADMIN
$ vi listener.ora

 

listener.ora 파일에 다음 내용을 추가한다.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = DB19)
      (ORACLE_HOME = /app/ora19c/19c)
    )
  )

 

lsnrctl 명령을 이용하여 listener를 구동한다.

$ lsnrctl [start | stop | status | reload ] <리스너명>

start : 리스너를 시작한다.
stop : 리스너를 종료한다.
status : 리스너의 상태를 출력한다.(listener.ora 파일의 내용을 확인 할 수 있다.)
reload : listener.ora를 다시 읽는다.

기본 리스너 이름은 listener이고, lsnrctl 명령에 리스너명을 쓰지 않으면 자동으로 listener 리스너를 대상으로 작동한다.

 

$ lsnrctl start listener

 

실행화면 중 [Services Summary... ] 부분에 유의한다.

오라클과 리스너의 동작은 별개이기 때문에 오라클 인스턴스가 startup되지 않았어도 리스너가 구동될 수 있다.

그러한 경우 당연히 네트워크 접속이 되더라도 데이터베이스에 접속이 불가능하다.

연결하려는 오라클의 호스트명이 제대로 출력되는지 확인해야 한다.

 

 

 

 

2. 리눅스 클라이언트 설정과 접속

외부 클라이언트에서 오라클 데이터베이스에 접속하려 할 때는 sqlnet.ora 파일과 tnsnames.ora 파일을 편집한다.

두 파일 모두 오라클 설치 시에는 자동으로 생성되고, 오라클 클라이언트 설치 시에는 별도로 작성해야 한다.

 

sqlnet.ora 파일을 편집한다.

vi $TNS_ADMIN/sqlnet.ora

 

sqlnet.ora 파일에는 다음 내용을 작성한다.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

 

 

tnsnames.ora 파일에는 tns 설정이 저장되어 있다.

파일 구성은 다음과 같다.

<TNS 명> =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP) (HOST = <IP 주소>) (PORT = <port 번호>))
 (CONNECT_DATA = (SID = <서버의 SID>))
 )


TNS 명 : 접속 서버의 네트워크 이름
호스트명은 각 클라이언트가 임의로 정한다. (DNS 도메인명과는 무관하다.)
HOST : 오라클 서버의 IP주소
PORT : 접속 서버의 리스너 port 번호
SID : 접속 오라클 서버의 SID

 

 

tnsnames.ora 파일을 편집한다.

$ vi $TNS_ADMIN/tnsnames.ora

접속하려는 tns명은 클라이언트 측에서 임의로 정할 수 있다.

하지만 IP주소와 포트 번호, SID는 서버의 설정을 따라야 한다.

 

오라클이 설치된 서버의 tnsnames.ora 파일 구성이다.

HOST에 IP주소 대신 도메인이 들어가 있는데, 해당 서버의 /etc/hosts 파일에 관련 내용이 저장돼 있기 때문이다.

 

 

sqlplus(클라이언트 프로그램)이 설치된 외부 window 클라이언트의 tnsnames.ora 파일 구성이다.

tns명을 st07로 지정하고 관련 내용을 저장했으므로 st07이라는 tns명을 통해 오라클 데이터베이스에 접속 가능하다.

 

 

sqlplus를 이용한 오라클 데이터베이스 접속 방법은 다음과 같다.

Linux, Windows 모두 동일하다.

sqlplus [계정]/[패스워드]@[tns명]

 

 

 

tnsping 명령을 통해 접속을 테스트해볼 수 있다.

성공 시 확인(혹은 OK) 메시지가 출력된다.

tnsping [tns명 | IP주소]