오라클 리스너 확인하기
1. 리스너 구동하기
lsnrctl stop : 리스너 중단하기
이 명령어는 오라클이 설치되어 있는 서버에서 실행해야 한다. 당연 oracle 유저로 실행해야 먹을 것이다. 윈도우 커맨드모드에서 실행하는 client 용 명령어는 아니다.
2. 리스너 환경 파일
$ORACLE_HOME/network/admin 아래에 있는 listener.ora
3. tnsping 사용하여 외부에서 리스너 동작 확인하기
사용법 : tnsping TNS명
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 28-8월 -2008 12:25:17
Copyright (c) 1997, 2005, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora
별칭 분석을 위해 TNSNAMES 어댑터 사용
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 111.60.1.61)(PORT = 1543))) (CONNECT_DATA = (SERVICE_NAME = DBDCBS1)))
확인(10밀리초)
여기서 사용한 DBDCBS1 는 tns명으로서 client pc의 $ORACLE_HOME/network/admin 아래에 있는 tnsname.ora 파일 속에 정의되어 있다. oracle 10g 의 경우 보통 C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 아래에 있다.
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 111.60.1.61)(PORT = 1543))
)
(CONNECT_DATA =
(SERVICE_NAME = DBDCBS1)
)
)
위와 같은 파일을 직접 울트라에디터 같은 것으로 열어서 편집을 할 수도 있으나 주의할 점이 있다. tnsname명 앞에 스페이스 같은 문자가 끼어들어가면 안된다. 즉 "DBDCBS1=" 이라고 써야 되는데 실수로 " DBCBS1=" 이라고 D자 앞에 스페이스나 탭문자가 들어가면 제대로 인식되지 못 한다는 말이다.
오렌지나 토드 같은 SQL 쿼리 툴이 있다면 위의 그림과 같이 쉽게 tnsname.ora 파일을 편집할 수 있다.
그러나 위의 그림과 같이 오라클에서 기본 제공하는 tnsname설정하는 용도의 Net Configuration Assistant 프로그램이 있지만 사용하기가 약간 어렵워 초보자에게 혼란만 주게 된다.
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 28-8월 -2008 12:34:39
Copyright (c) 1997, 2005, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora
별칭 분석을 위해 TNSNAMES 어댑터 사용
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 111.60.1.61)(PORT = 154))) (CONNECT_DATA = (SERVICE_NAME = DBDCBS1)))
TNS-12541: TNS:리스너가 없습니다.
해당 지정된 포트에 리스너가 떠 있지 않을 경우 위와 같은 메시지를 볼 수 있다.
3. telnet 사용하여 외부에서 리스너 동작 확인하기
사용법 : telnet IP 포트번호
이 때 방화벽은 뚫려 있으나 해당 포트에 리스너가 떠 있지 않을 경우에는 "연결하지 못했습니다." 라는 메시지가 바로 나오고 방화벽으로 막혀 있다면 20여초 가량 지체되다가 연결하지 못 했다는 메시지가 나오게 된다.
이것은 tcp/ip 프로토콜의 특성상 해당 destination 장비로 연결이 되지 못 했을 경우 연결(패킷 전송)을 여러번 재시도를 하기 때문이다.
만약 지정된 포트에 정상적으로 리스너가 떠 있고 방화벽이 뚫려있다면 다음과 같은 black 화면이 뜰 것이다. 이것은 해당 포트에 떠 있는 daemon 프로세서에 접속이 되어 다음 전문을 기다리고 있는 상태이다.
이렇게 연결된 상황을 탈출하고자 한다면 CTRL+] 문자를 입력한다. (Ctrl을 누른 상태에서 ] 를 친다) 그런 후에 quit 를 입력하면 다시 커맨드 모드로 빠져나올 수 있다.
출처: http://pangate.com/138 [호주 멜번스토리]
'IT > ORACLE' 카테고리의 다른 글
[Oracle]오라클 DBMS_output 사용 (0) | 2017.11.09 |
---|---|
[]오라클 설치후 sqlplus 접속 (0) | 2017.11.08 |
[오라클|ORACLE] 클라이언트(WIN)문제 [ ORA-12154: TNS:could not resolve the connect identifier specified ] (0) | 2017.09.29 |