[oracle] ORA-12541 오류 해결방법
"오라클 ORA-12541 오류 해결방법"
언어셋 변경으로 하루종일 삽질만 했는데.. 이젠 리스너 문제까지 일어났다. 아니 어제까지만 해도 잘되던가 왜????갑자기 왜!!
정말 환장할 노릇이군!!!!!
환경> CentOS7에 oracle을 설치하여 사용 중, 개인 PC에서 오라클 서버로 접속시 오류 발생
* 에러 메시지 ORA-12541: TNS:no listener * 원인 - 오라클 리스너가 동작하지 않을 경우 - listener.ora 설정 오류 - listener.log 파일의 용량 초과 * 해결방법 - 리스너 재시작 - 설정파일 수정 - 로그파일 비우기 |
1. 리스너 상태 확인
- root가 아닌 oracle로 접속한 후 명령어 실행
- 아래는 리스너가 정상적으로 동작한 경우이다.
[oracle@orcl ~]$ lsnrctl status // 리스너 상태확인 LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 23-MAR-2018 04:29:26 Copyright (c) 1991, 2010, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.15)(PORT=1521))) [oracle@orcl ~]$ lsnrctl start // 리스너가 멈춰있을 경우 start로 시작해주기 |
리스너(Listener ) - 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 네트워크 관리자이다. (네트워크를 통한 연결은 모두 리스너가 관리) |
2. listener.ora 설정 확인
- ㅜㅜ.. 난.. 아래 host 부분을 잘못 설정해놔서 발생한 오류였다.
(혹시 파일 경로를 모른다면 맨 아래 참고 부분을 확인해주시기 바랍니당)
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx )(PORT = 1521)) // xxx.xxx.xxx.xxx 에 접속하려는 클라이언트의 ip가 있어야 함 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
|
3. listener.log 파일 용량 초과
- 간혹 listener.log 파일 용량이 4Gbyte를 넘어 오류가 나는 경우가 있다고 한다.
- 이럴 땐, listener.log 파일을 삭제하면 되는데 삭제되더라도 자동으로 다시 생성해준다고 하니 걱정은 노노!
참고) listener.ora 파일 경로 확인하기
- oracle로 접속한 후 .bash_profile 확인하기
[oracle@orcl ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db // 경로: /u01/app/oracle/product/10.2.0/db/network/admin export ORACLE_SID=orcl PATH=$ORACLE_HOME/bin:$PATH export PATH |