혹시 이런 경험이 있으신 분이 있으실까요? 0 5 2,289

by [리베™] [설치/설정] [2010.03.19 11:12:15]



Windows 2003 Server에 Oracle 10g를 설치한 환경인데요.

listener에 문제가 생겼는지 tnsnames.ora에 설정한 Service Name으로 연결이 안되는 상황이었습니다.

예를들면, sqlplus hr/hr@testdb이나 sqlplus "sys/passwd@testdb as sysdba" 형태로는 DB에 접근이

안되었습니다. (DB Server에서 Command 창을 열어서 시도함.)

그런데 sqlplus / 로 접근하면 DB에 연결이 되더군요.

우리가 일반적으로 접근하는 형태인 sqlplus "sys/passwd@testdb as sysdba"와 "sqlplus / "로 연결을

시도하는 것이 사용하는 listener가 다른 것일까요??

listener.ora 파일을 열어보면 기본적인 LISTENER와 SID_LIST_LISTENER가 설정되어 있잖아요.

여기에 비밀이 숨겨져 있는것은 아닌지???

혹시 속 시원하게 답변을 해주실 수 있는 고수님이 있으실까요??

나름 유추를 해서 listener 설정도 인위적으로 바꿔보고 sqlnet, tnsnames 파일 등도 바꿔봤지만 아직

명확한 해답은 못 얻은듯 합니다.

고수님들의 고견을 부탁드립니다.
by 마농 [2010.03.19 11:18:56]
@를 붙이면 로컬서버의 tnsname의 접속경로를 통해 원격으로 접근하는 것입니다.
이때 원격서버에서는 리스너를 통해 접속을 허용하구요.
@를 안붙이면 로컬서버에 다이렉트로 접근합니다.

by 김원식 [2010.03.19 13:45:18]
시작프로그램의 오라클 메뉴 아래 보시면 구성 및 이전 툴 아래에 Net Configuration Assistant 라는게 있습니다.
이거 실행하셔서 Listener를 지우시고 다시 생성해 보세요...

by [리베™] [2010.03.19 13:46:15]
마농님.. 그렇다면 로컬서버에 다이렉트로 접근한다는 의미가 lisener나 sqlnet 파일과 같은 것의 설정과 무관하게, 직접 연결할 수 있는 전용 접근 수단의 개념이라는 말씀이신가요? 이걸 어떻게 확인 가능할지....

by [리베™] [2010.03.19 13:49:01]
제가 알고 싶은것은 접근 방법의 차이가 무엇 때문인가 입니다. 위의 문제는 해결된 상태이구요. 김원식님의 답변처럼 Listener도 재설정하고, 새로 내렸다가 올리는 등.. 일련의 과정을 통해서 처리했습니다.
다만, 왜 저런 차이가 있었는지가 궁금한거죠? 남들에게도 명확한 답변을 해줄수 있을 만큼.... ^^

by 마농 [2010.03.19 13:55:29]
설명은 충분한것 같은데요.. 훔...
원격접속이냐 직접접속이냐 차이죠.
직접 접속할때는 그냥 오라클리 기동되고 있는 서버에서 접속하면 되는거죠.
원격 접속할때는 클라리언트에서 원격으로 접속요청하면 원격에서 접속 수락하는거구요.
이때 원격의 리스너가 살아 있어야 된다는 거구요.
클라이언트와 서버가 물리적으로 동일하기 때문에 헷갈리시는 듯.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입