반응형

출처 : http://reznoa.nayana.com



윈도우에서 Oracle의 TNSListener는 서비스로 등록된다. 제어판이나 services.msc를 통하면 등록된 서비스를 확인할 수 있다.

만약 TNSListener가 시작되지 않는다면 HOST 설정이 잘못된 것은 아닌지 의심해볼 필요가 있다. 제공된 관리용 도구를 이용할 수도 있겠지만, 직접 설정 파일을 조작하는것이 훨씬 바르고 간단하다.1

<< IMG : HOST 설정이 올바르지 않을 경우의 에러 메시지 : HOST 설정이 잘못됐을 경우, TNSListener 서비스가 실행되자마자 죽어(끝나)버리는 현상이 생긴다. >>

관련 파일은 다음과 같다.

${ORACLE}/product/10.2.0/db_1/NETWORK/ADMIN

  • listener.ora
  • tnsnames.ora

여기서 ${ORACLE}은 Oracle이 설치된 경로를 의미한다. 버전에 따라서 10.2.0은 달라질 수 있다.

파일을 텍스트 편집기로 열어보면 대충 다음과 같은 구문이 보인다. (IP는 대충 랜덤으로 친거니까 개의치 마시라.)

listener.ora

  1. ORCL =
  2. (DESCRIPTION =
  3. (ADDRESS = (PROTOCOL = TCP)(HOST = 240.102.20.135)(PORT = 1521))
  4. (CONNECT_DATA =
  5. (SERVER = DEDICATED)
  6. (SERVICE_NAME = orcl)
  7. )
  8. )
<TEXTAREA class="Cpp" style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 240.102.20.135)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )</TEXTAREA>

tnsnames.ora

  1. ORCL =
  2. (DESCRIPTION =
  3. (ADDRESS = (PROTOCOL = TCP)(HOST = 240.102.20.135)(PORT = 1521))
  4. (CONNECT_DATA =
  5. (SERVER = DEDICATED)
  6. (SERVICE_NAME = orcl)
  7. )
  8. )
<TEXTAREA class="Cpp" style="DISPLAY: none" name=CodeHighLighterCode rows=10 readOnly cols=60>ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 240.102.20.135)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )</TEXTAREA>

여기서 HOST 값을 다시 확인해보고 설정해주면 된다.

이 때 IP를 이용하는 것 보다는 호스트 이름을 이용하는것이 여러모로 좋은데, IP가 변경되더 설정 파일을 바꾸지 않아도 되기 때문이다.

윈도우에서 호스트 이름을 확인하려면, 명령행에서 hostname이란 명령을 사용하면 된다.


hostname 명령을 이용하면 호스트 이름을 확인할 수 있다.

설정을 바꾸고 다시 서비스를 시작하면, 이제는 제대로 동작하는것을 확인할 수 있을 것이다.


반응형

+ Recent posts