본문 바로가기

오라클 Oracle ORA-12541 에러 해결 방법

다프트 코더 2024. 8. 20.
반응형

오라클 데이터베이스 21c를 설치하고 DBeaver를 통해 Oracle Database에 접속하려는데 "ORA-12541 : 데이터베이스에 접속할 수 없습니다. %에 리스너가 없습니다."라는 에러가 발생했다. 해당 에러는 Oracle 리스너 문제로 발생하는 현상이다. 

반응형

ORA-12541 에러는 크게 2개의 원인으로 발생된다.

1. Oracle Listener 실행이 안 되는 경우

2. Oracle Listener에 데이터베이스가 없는 경우

 

이제 2개의 문제에 대해서 차례대로 해결 방법을 조치해 보자

1️⃣ Oracle Listener 실행 여부 확인

제일 먼저 작업 관리자에서 Oracle Listener 실행 여부를 확인해 본다. 상태가 중지됨으로 되어있다면 시작을 해보자. 만약 정상적으로 시작된다면 다행인데 시작이 안되고 다시 중지가 된다면 실행이 안 되는 원인을 찾아야 한다.

반응형

자세히 알아보기 위해 명령 프롬프트에서 Oracle Listener 상태를 조회한다.(명령어 : lsnrctl status)

TNS-12545, TNS-12560, TNS-00515, TNS-12541, TNS-12560, TNS-00511 등 다양한 원인으로 Oracle Listener가 정상적으로 실행되지 않았다. 그런데 자세히 보니 HOST 항목에 있는 값이 내 컴퓨터 이름 정보가 현재 내 컴퓨터 이름과 다르다는 걸 발견했다.

2️⃣ listener.ora, tnsnames.ora 수정

잘못된 HOST 정보 값을 수정해야 한다. 수정할 파일은 listener.ora, tnsnames.ora 총 2개의 파일이다. 해당 파일은 Oracle을 설치한 경로에서 homes\OraDB21Home1\NETWORK\ADMIN\ 경로에 존재한다.

반응형

listener.ora 파일을 보면 HOST 정보를 현재 내 컴퓨터 이름과 동일하게 변경해 준다.

tnsnames.ora 파일도 동일하게 HOST 정보를 현재 내 컴퓨터 이름과 동일하게 수정해 준다.

수정한 파일을 저장 후 Oracle listener를 다시 시작해 본다.(명령어 : lsnrctl start)

이제 Oracle listener가 정상적으로 작동하는 걸 확인하였다.

HOST 값도 수정한 값으로 잘 보인다.

하지만 DBeaver에서는 여전히 ORA-12541 에러가 발생한다. 리스너가 정상적으로 작동하는 상태에서 해당 에러가 발생할 경우 오라클 리스너에 데이터베이스가 없을 경우 발생할 수 있다. 

반응형

3️⃣ Oracle Listener 데이터베이스 생성

Oracle Net Manager 프로그램을 관리자 권한으로 실행한다.

생성할 전역 데이터베이스 이름과 SID 정보를 입력하고 네트워크 구성 저장을 한다.

그러면  listener.ora 파일에 아래와 같이 ORCL 항목이 생성된 걸 확인할 수 있다.

반응형

이제 다시 Oracle Listener를 멈추고(명령어 : lsnrctl stop) 시작(명령어 : lsnrctl Start)을 한다.

그러면 ORCL 인스턴스도 실행된 걸 확인할 수 있다.

이제 DBeaver에서 Test Connection을 해보면 Database 연결이 성공했다고 나온다.

DB 접속 후 Select 쿼리도 날려보았다. 정상적으로 조회된다.

📋 Database 관련 포스팅

오라클 데이터베이스 21c 설치하기

 

오라클 데이터베이스 21c 설치하기

오라클 데이터베이스 설치하는 방법을 알아보자. 설치할 일이 많지는 않지만 그래도 아주 가끔씩 설치를 할 때가 있기에 내가 보려고 포스팅한다.1. 오라클 데이터베이스 21c 버전을 다운 받는다

daftcoder.tistory.com

GCP 구글 클라우드 MySQL 데이터베이스 구축 및 DBeaver로 연결하기

 

GCP 구글 클라우드 MySQL 데이터베이스 구축 및 DBeaver 로 연결하기

최근 노트북을 새로 구매하면서 기존 PC에 있던 로컬 데이터베이스를 사용하는거에 불편함을 느끼게 되면서 클라우드 서버에 대한 필요성을 느끼게 되었다. 그래서 로컬에서 작업하던 프로그램

daftcoder.tistory.com

반응형

댓글