[sqlgate] sqlgate 에러(ORA-12505) TNS:listener does not currently know of SID given in connect descriptor
java IDE/sqlgate 2013. 4. 4. 12:45ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl
ORA-12505 오류는 DriverManager Object를 이용하여 오라클과 연결할 때
SID를 못 찾거나 인식되지 않을때 발생한다.
주요 원인
1. 컴퓨터 이름을 바꿨을때....
2. 유동IP 일경우
3. TNSListener 서비스가 정상 시작 안될 경우
확인방법:
1. 실행>cmd> lsnrctl services
실행 후 나온 리스트 중 DEDICATED이고 상태가 READY인 SID를 사용하면 됨
여기 화면에 총 4개의 SID가 있는 것이 보이며,
상태가 Ready 상태인 것만 정상적으로 작동되는 것이다.
화면에서는 가장 위에 있는 SID는 사용이 안되지만 나머지 SID 3개는 상태가 Ready로 되어 있기 때문에 사용 가능하다.
에러나는 SID를 확인 해보자
아마 lsnrctl services 명령 실행 후 자신이 설정한 SID가 보이지 않거나 Ready 상태가 아닐 것이다.
환경 셋팅 파일로 가도록 하자
저의 환경은 10g로 되어 있기 때문에 10g에 맞추도록 하겠습니다.
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
10g를 기본 경로로 설치하면 이 경로로 들어가시면 됩니다.
다른 버젼이신분은 경로는 다르지만 DB 안에 Network 안에 admin 폴더가 있습니다.
아님 검색을 하세요
listener.ora
tnsnames.ora
이 2개의 파일이 문제가 있습니다.
파일을 열어보면
listener.ora ============================================
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1) <<< 오라클 설치 경로
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = SEOL)(PORT = 1521)) <<<<<< IP , 호스트, 포트
)
)
===============================================================
listener.ora에서 마지막 부분에 보시면
HOST 와 PORT 등 여러 셋팅 부분이 있습니다.
컴퓨터 이름이나 오라클 PORT 변경하신 분들은 예전 셋팅으로 되어 있는 경우가 있습니다. 바꿔주세요
tnsnames.ora ====================================================
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SEOL)(PORT = 1521)) <<<<<<<<<< IP, 호스트, 포트
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl) <<<<<<<<<<<<<<<<<<<<< SID
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
===============================================================
tnsnames.ora 파일은 같은 폴더에 있다
여기서도 IP, 호스트, 포트 등을 확인 해서 변경해주면 된다..
그리고 재부팅 함 해주면 접속이 될 것입니다.
listener.ora 설정 파일이 잘못됐을 경우도 있다고 한다.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = 오라클 설치경로)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 추가할SID)
(ORACLE_HOME = 오라클 설치경로)
(SID_NAME = 추가할SID)
)
)
'java IDE > sqlgate' 카테고리의 다른 글
[sqlgate] listener.ora에 SID 추가하기 (0) | 2013.04.04 |
---|---|
[sqlgate] 접속 가능한 SID 확인 (0) | 2013.04.04 |
[sqlgate] 관리도구 서비스 실행파일경로 등록 및 수정 (0) | 2013.04.04 |