[오류 해결] ora-12514, tns:listener does not currently know of service

2025. 1. 4. 01:50Programming/Error 처리

 
해당 오류는 C드라이브의 용량이 가득차 오라클을 삭제한 후,  D드라이브로 오라클을 재설치 하는 과정에서 발생하였다.
 
분명 삭제도 제대로 확인했고, cmd상에서 sqlplus도 정상적으로 실행되는데 막상 Dbeaver로 계정을 이용하여 연결 테스트만 하면 해당 오류가 나서 상당히 당황스러웠다.
 
나는 해당 사항들을 변경함을 통해서 오류를 해결하였다.
 
 
1. listener.ora 파일 설정 변경
 

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = XE)
      (ORACLE_HOME = D:\oracle\app\oracle\product\11.2.0\server)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

 
: D드라이브로 재설치 하는 과정에서 SID_LIST_LISTENER 의 ORACLE_HOME이 변경 되었다. 
또한 LISTENER에서 HOST도 localhost(사용하는 db 호스트)로 변경하였다.
 
 
또한 저장용량상 Service를 XE로 사용하였지만, 만약 실제로 서비스를 배포하여 ORCL형태의 운영 DB를 변경한다면
SID_NAME = ORCL ,
DEFAULT_SERVICE_LISTENER = (ORCL)로 변경해야한다.
 
 
 
2.해당 경로와 시스템 고급환경 변수  - 환경설정에서 두가지 설정이 이루어져야한다. 해당 설정후 cmd에서 명령어를 통해오라클 홈과 Path설정이 제대로 이루어졌는지 확인하면 된다.
 

 
 

echo %PATH%
echo %ORACLE_HOME%

 
 
 
3. 서비스에서 해당 설정이 자동으로 되었는지 확인 한 후, listener.ora를 변경했으므로 cmd를 통해
lsnrctl명령어를 통해 Oracle listener를 재실행시킨다.
 

# 리스너 중지
lsnrctl stop

# 리스너 시작
lsnrctl start

# 리스너 상태 확인
lsnrctl status

 
 
 
4.Debeaver를 통해 접속 확인
 

: 해당 부분도 만약 Database를 ORCL로 이용하였다면 Database 변경!
 
그 이후 Debeaver를 통해 TestConnection을 하면 해당 화면과 같이 오류가 해결 됨을 알 수 있다.
 
 
 
+) 사실 최근에 공부한 쿼리튜닝에 대해서 한번 정리하려고 했었는데 재설치 과정에서 삽질로 인해서 2-3시간 정도 시간이 지연되어서 다시한번 테스트 해볼 계획이다.
 
역시 기본 환경설정이 제일 시간이 많이 걸리는거 같다!