답변 4
0
혹시 docker 기동을 명령어가 아닌 docker console 에서 기동하셨을까요?
저도 동일한 오류가 있었는데 docker run -d -p 1521:1521 docker.io/truevoly/oracle-12c 명령어로 기동하니 해결되었습니다.
0
안녕하세요. 데이터베이스 연결이 안되어서 문제를 겪고 계신거 같은데요.
다른 질문에서도 제가 답변을 드린 적이 있는데요. 현재 설치한 오라클에 문제가 많으면, 라이브 SQL 을 사용하시는 것 권해드립니다. 별도의 설치 과정없이 웹에서 바로 사용하실 수 있습니다. 제가 드린 교재에 사용 방법이 나와 있습니다. 접속링크는 아래와 같아요.
적극 권해드리구요. 오류 메세지 뿐 아니라, 화면 캡처 한 것 등 더 많은 자료를 질문에 남기시면 더 좋은 답변을 남길 수 있습니다. 아래 내용은 일반적인 오라클 리스너 오류에 대한 대응 방법입니다. 아래 내용 참고하십시오.
ORA-12541 오류는 오라클 데이터베이스에 접속할 때 발생하는 오류로, "TNS: 리스너가 없습니다"라는 의미입니다. 이 오류는 클라이언트가 데이터베이스에 연결을 시도했지만, 해당 데이터베이스의 TNS 리스너(TNS Listener)가 실행되고 있지 않거나 연결을 수락하지 못할 때 발생합니다. 리스너는 클라이언트와 데이터베이스 간의 통신을 중개하는 역할을 하므로, 리스너가 작동하지 않으면 연결이 불가능합니다.
리스너가 실행 중이지 않음: 가장 흔한 원인으로, 데이터베이스 서버에서 리스너 서비스가 시작되지 않았거나 비정상적으로 종료된 경우입니다.
잘못된 호스트 또는 포트 정보: 클라이언트의 연결 설정 파일(tnsnames.ora
)에 지정된 호스트 이름이나 IP 주소, 포트 번호가 서버의 리스너 정보와 일치하지 않을 때 발생합니다.
방화벽 문제: 서버의 방화벽이 리스너 포트(기본값 1521)를 차단하고 있을 수 있습니다.
listener.log
파일 용량 초과: 드문 경우지만, 리스너 로그 파일의 용량이 너무 커져 더 이상 기록할 수 없을 때 발생하기도 합니다.
도커 데스크탑에서 오라클을 시작시켰는지 확인해보세요.
도커 데스크탑에서 오라클이 가동 중인 상태인데도, 접속이 안되면.. 아래 내용을 체크해보십시오.
아래의 내용은 파워쉘에서 수행해야 합니다. 파워쉘을 관리자 권한으로 수행시키시고, 아래의 명령어를 수행하십시오. 이때 ecstatic_wilson은 도커 서비스이름입니다. 환경별로 다를 수 있어요. 도커 데스크탑에서 확인하십시오.
docker exec -it ecstatic_wilson bash
이 명령어를 수행하고 나면, 도커 가상환경에 설치된 리눅스에 접속할 수 있게 됩니다.
그 상태에서 아래의 내용을 확인하셔야 합니다.
리스너 상태 확인 및 재시작:
데이터베이스 서버에서 lsnrctl status
명령어를 실행하여 리스너가 정상적으로 작동하는지 확인합니다.
만약 리스너가 정지 상태라면, lsnrctl start
명령어로 리스너를 다시 시작합니다.
연결 정보 확인:
클라이언트의 tnsnames.ora
파일과 서버의 listener.ora
파일에 있는 호스트명(HOST)과 포트 번호(PORT)가 정확하게 일치하는지 확인합니다.
아래의 내용은 윈도우에서 확인하셔야 합니다. 윈도우 방화벽 혹은 보안 프로그램에서 1521을 막고 있는 건 아닌지 확인하세요.
방화벽 설정 확인:
서버의 방화벽 설정에서 리스너가 사용하는 포트(예: 1521)가 열려 있는지 확인합니다.
0
저것도 검색 다 해봤는데요...
'lsnrctl'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.
이렇게 떠서요,..
이제 곧 시험이라 정말 해야하는데
sql 실행 자체가 안되니 정말 막막합니다...
0
안녕하세요, 인프런 AI 인턴입니다. KyoungJin_Jinny 이경님.
ORA-12541 오류는 Oracle 데이터베이스 접속 문제로 흔히 발생하는 오류 중 하나입니다. 이 오류는 주로 데이터베이스 리스너(Listener)가 비활성화되어 있거나 실행되지 않을 때 발생합니다. 이를 해결하기 위한 몇 가지 조치를 안내드리겠습니다.
리스너 상태 확인:
lsnrctl status
lsnrctl start
리스너 설정 파일 (listener.ora) 확인:
$ORACLE_HOME/network/admin
디렉토리에 위치해 있습니다.포트 및 방화벽 설정:
Docker 사용 시 상태 체크:
docker exec -it <oracle-container-name> lsnrctl status
DBeaver 설정 확인:
localhost
또는 127.0.0.1
을 사용해야 할 수 있습니다.추가적으로, Docker와 SQL 설정에 대한 정보를 얻고 싶으시다면 아래 링크를 참고하시면 도움이 될 것입니다:
- Docker와 Oracle 연동 관련 문제 해결: Docker 설치 후 Oracle 설정 시의 해결 방법을 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
위에 제가 남긴 답글을 확인 하십시오.