Jost Do It.

그냥 IT해.

서버 및 환경/DB

[Oracle] Database 연결 시 발생하는 에러 종류

그냥하Jo. 2022. 10. 17. 14:54
반응형

이번에 회사를 이직하면서 Oracle database에 연결할 일이 생겼다.

 

나는 오픈소스 기반의 DBeaver가 편해서 해당 소프트웨어로 보통 데이터베이스를 연결하는데, 연결하면서 몇가지 에러가 발생해 이를 정리하려 한다.

 

 

0. 연결 과정

 

먼저 DBeaver에서 Oracle DB 연결을 위해 아래 과정을 진행한다.

 

 

 

 

(1) 새 데이터베이스 연결을 클릭

 

새 연결을 클릭

 

 

 

 

(2) 화면에서 Oracle 항목을 선택하고 다음을 클릭

 

Oracle DB를 선택하고 다음을 클릭

 

 

 

 

(3) 서버 정보를 입력

 

서버에 접속하기 위한 정보를 입력한다.

  • Host: 서버(IP) 주소
  • Port: DB의 포트번호 (Oracle DB의 경우 default1521이다).
  • Databse: 데이터베이스 이름 (이름 default는 ORCL이다).
  • Service Name / SID: DB를 단일 인스턴스로 구성할 때는 SID로, 여러 인스턴스로 분리할 때는 Service Name으로 형성된다. DB관리자가 DB를 어떻게 설계했는지에 따라 달라짐.
  • Username: DB에 접속하려는 ID
  • Password: 비밀번호

 

 

 

 

(4) 제대로 DB에 접속이 가능한지 확인하기 위해 Test Connection을 클릭한다.

 

 

 

만약에 Connection이 제대로 되지 않으면 Test Connection 버튼을 눌렸을 때 아래 에러들이 출력된다.

 

그러면 각 에러별로 발생 원인을 알아보자.

 

그리고 마지막에서는 정상적으로 연결될 시 출력되는 상태를 기술한다.

 

 

 

 

 

1. Connection refused: connect

IO 오류 메시지

 

 

위 에러메시지는 서버 연결이 안된다는 의미로, 서버 주소(IP주소)나 포트번호가 틀렸을 때 출력된다.

 

내 경우에는 포트번호가 틀려서 위 메시지가 출력됐었다.

 

보통 오라클 서버의 포트 번호는 디폴트로 1521 이나 회사마다 다르게 설정했을 수 있어 확인이 필요하다.

 

위 에러 메시지가 떴다면 IP주소와 포트번호가 올바른지 확인해보자.

 

 

 

 

2. ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

 

ORA-12505 에러 메시지

 

 

다음 에러는 SID 설정을 잘못했을 때 나타난다.

 

서버의 SID 이름이 적절한지, 서버가 Service Name을 사용하진 않는지 확인할 필요가 있다.

 

 

 

 

3. ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

 

ORA-12514 에러 메시지

 

위 메시지는 DB 접속을 위한 정보가 틀렸을 때 출력된다.

 

내 경우는 Database 정보가 틀렸을 때 출력이 됐었다.

 

Database 이름이 올바른지 확인하자.

 

 

 

 

4. ORA-01017: 사용자명/비밀번호가 부적합, 로그온할 수 없습니다.

 

ORA-01017 에러 메시지

 

위 메시지는 말그대로 사용자명이나 비밀번호가 틀렸을 때 출력된다.

 

DB에 로그인하려는 Username과 Password가 모두 올바른지 확인하자.

 

 

 

 

5. Connected (정상 연결)

 

Connected! 정상적으로 연결됐습니다.

 

입력한 정보들이 모두 올바르고, 서버가 정상적으로 동작한다면 위와 같은 메시지가 출력된다.

 

위 메시지가 출력되는 것을 확인했다면 DB에 정상적으로 접근할 수 있다.

 

 

데이터베이스 연결 설정 완료

 

확인을 누르고  DB 연결을 위와 같이 완료를 눌러 마무리해주자.

 

 

 

DB의 구조를 살펴볼 수 있다.

 

정상적으로 DB의 Schema를 조회할 수 있다.

 

 

반응형