[오라클] The Network Adapter could not establish the connection > db

본문 바로가기

db

[오라클] The Network Adapter could not establish the connection

페이지 정보

작성자 서방님 댓글 0건 조회 22회 작성일 09-01-30 11:32

본문

'*************************************************************************************
ORA-12541: TNS:no listener <-- 이 부분을 우선 해결해야 할 건데요.

Oracle 이 로컬 PC 에 설치되어 있다면, (Oracle 9i 기반으로 설명합니다)
[제어판]-[관리도구]-[서비스] 를 여셔서 OracleXXXTNSListner 서비스가 시작되었는지 확인하세요.
(여기서 XXX 는 Oracle 홈 이름입니다. 예:OracleOraHome92TNSListener)
이 서비스가 '시작됨'-'자동' 이 아니라면 우측 마우스클릭 메뉴에서 '시작' 을 시켜주세요.

혹시 안되시면 oracle 설치 디렉토리로 가셔서
oracle\ora92\network\admin\tnsnames.ora 파일 그리고
oracle\ora92\network\admin\listener.ora 파일을 확인하셔야 하고요,
내용 중 (HOST = xxxxxx) 부분을 확인하세요.
만약 호스트 이름이 한글로 되어 있다면 깨져보일 것입니다.

혹시 호스트 이름에 한글을 사용하신다면,
[내컴퓨터]-[속성]-[컴퓨터 이름]-[변경] 에서 컴퓨터 이름을 한글이 없는 영어/숫자 조합으로 바꾸고 oracle 설치를 다시 하시는게 좋을 겁니다.

그리고 지식in 에서 "OLEDB.UDL" 을 검색하셔서 UDL 파일로 테스트를 한번 해보시기 바랍니다.

'*************************************************************************************

The Network Adapter could not establish the connection

이 메시지는 다음 몇가지 원인에 의해 나타납니다.
가능성 순서대로 적어놓을 게요..
아래 모든것은 도스창으로 로그인되도 일어날수 있는 문제입니다.

1.  접속 정보 잘못됨.
  오라클 연동과정이라고 하셨으니까요..
  접속정보가 잘못된 것아닐까요..
  접속 정보에는  유저정보,패스워드,서버주소,서버포트,DB이름이 있습니다.

  ex )  scott / tiger / 127.0.0.1 / 1521 / orcl

  오라클 인터페이스 툴(ex : sql developer 무료임)을 사용해서 테스트를 해보세요.

2. 오라클과 연동프로그램(ex,jsp server) 가 같은 머신에 있지 않은 경우
   오라클 클라이언트를 설치하셨는지 확인해보시구 설치안되어 있으면 설치해보세요.
   같은 머신에서의 연동이면 설치하실 필요없습니다. 오라클 설치할때 그 머신에는 오라클클라이언트설치가
   같이 되니까요..

3. DB 서버에 리스너가 on 되어있는지 확인해 보세요..
    윈도우에서는 명령창에서 services.msc 를 쳐서 나오는 목록에 다음이 "시작됨" 에 있는지 확인해보세요..

'*************************************************************************************

1. sqlplus로 접근 가능한지 확인

2. 제어판>관리도구>서비스에서OracleOraHome92TNSListener (oracle 9i) 가 시작됐는지 확인

3. 도스창에서 tnsping으로 리스너 확인(결과에 에러코드가 나오면 아래와 같이 해결한다.)

   (tnsping 호스트주소  ->ex.tnsping 127.0.0.1)
 - listener.ora 에서 HOST가 제대로 되어 있는 확인(오라클홈\ora92\network\admin\listener.ora)
 -------------------------------------------------------------------
 LISTENER =
   (DESCRIPTION_LIST =
     (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
       )
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
       )
     )
   )

 SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = C:\oracle\ora92)
       (PROGRAM = extproc)
     )
     (SID_DESC =
       (GLOBAL_DBNAME = local)
       (ORACLE_HOME = C:\oracle\ora92)
       (SID_NAME = local)
     )
   )
 -------------------------------------------------------------------

 - tnsnames.ora 에 HOST와 listener.ora에서 설정한 HOST가 같은지 확인(오라클홈\ora92\network\admin\tnsnames.ora)
 -------------------------------------------------------------------
 LOCAL =
   (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
     )
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = local)
     )
   )
 -------------------------------------------------------------------

3. telnet으로 1521 포트에 연결 되는지 확인
   (도스창에서 telnet 호스트주소 포트) -> ex. telnet 127.0.0.1 1521

4. IP, SID 확인
이것 이외에도 여러가지가 있겠지만 검색한 한도내에서 올립니다.^-^

'*************************************************************************************

The Network Adapter could not establish the connection 에러 해결방법

tnsping 으로 리스너 확인해 보시고, sqlplus 로 접근해보시고, telnet 으로도 1521포트로 들어갈수 있는지, IP , SID 확인 해보시고,
오라클서버가 MTS(Multithreaded Server) 설정되어 있는지 확인하면 됨.

'*************************************************************************************

DB에 접속하셔서 아래 쿼리를 날리시면 해당 DB의 서비스명이 나옵니다.

C:\>LSNRCTL (리스너컨트롤)

 SQL> select value from v$parameter where name='service_names';

VALUE
------------------------------------------------
XXXXX

이 값을 님 PC의 %ORACLE_HOME%(오라클 설치된 디렉토리: 도스창에서 "echo %ORACLE_HOME%" 치시면 나옵니다) 밑에 network/admin 에 보시면 tnsnames.ora라는 파일이 있는데요. 저같은 경우는  D:\oracle\ora920\network\ADMIN 디렉토리입니다.

이 파일을 여시면  아래의 내용이 한 개 혹은 여러 개 있으실 겁니다.

ARIDBT_DEV51 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 11.1.1.100)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ARIDBT)
    )
  )

위의 SERVICE_NAME이 아까 DB에서 확인한 그 값과 불일치 할 때 ORA-12514 에러가 나는 것이니 해당 내용을 일치시키시면 에러가 안나고 DB에 잘 붙으실 거에요 ^^

'*************************************************************************************

sqlplus 로 상대컴에 접속할때는...tnsnames.ora파일에 등록을 해줍니다...

윈도우라면.  \oracle\ora92\network\admin\tnsnames.ora
유닉스라면.  \oracle/app/oracle/product/920/network/admin/tnsnames.ora 에서 지정을 하는데

접속피씨의 sid를 모르면 접속을 못하죠..-_-;;;;

서버를 아신다면...

서버쪽에접속해서 sqlplus 를 실행하여

사용자 이름에 :

/as sysdba

라고 입력을 하시고 접속을 하시면 됩니다.

/as sysdba 로그인 시 ora-12560 : TNS : 프로토콜 어댑터 오류는 OracleService 가 시작이 안되어서 발생하는 경우가 대부분 입니다.


sqlplus 에서

select name from v$database;

치면 sid를 알 수 있습니다.

'*************************************************************************************

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
364
어제
457
최대
592
전체
39,973

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]