OS환경 : Oracle Linux 7.4 (64bit)
DB 환경 : Oracle Database 19.7.0.0
에러 : ORA-12545: Connect failed because target host or object does not exist
서버 기동 후 sqlplus 실행 시 발생하는 메세지
1 2 3 4 5 6 7 8 9 10 11 12 | $ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Sat Jun 27 08:52:13 2020 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. ERROR: ORA-12545: Connect failed because target host or object does not exist Enter user-name: |
alert log 확인 및 pmon 프로세스 확인
1 2 | $ ps -ef | grep pmon oracle 8735 1 0 08:45 ? 00:00:00 ora_pmon_orcl |
db는 정상적으로 기동되어있음
해결 방법 : .bash_profile(환경변수)에 $ORACLE_HOME이 제대로 잡혀있는지 확인
.bash_profile 파일 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | $ 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/.local/bin:$HOME/bin export PATH export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/app/oracle; #export ORACLE_HOME=$ORACLE_BASE/product/19c; export ORACLE_HOME=$ORACLE_BASE/product/19client; export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export DISPLAY=192.168.137.1:0.0; alias ss="sqlplus / as sysdba" alias bdump="cd /app/oracle/diag/rdbms/orcl/orcl/trace" stty erase ^H |
오라클 엔진 경로가 주석처리되고 오라클 클라이언트 경로가 잡혀있음
저번 작업때 클라이언트를 따로 설치 한뒤 테스트용으로 $ORACLE_HOME을 클라이언트 경로로 변경한 뒤
원상복구를 하지않은 상태
오라클 엔진 경로를 주석 풀고 오라클 클라이언트 경로를 주석처리
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | $ 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/.local/bin:$HOME/bin export PATH export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/19c; #export ORACLE_HOME=$ORACLE_BASE/product/19client; export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export DISPLAY=192.168.137.1:0.0; alias ss="sqlplus / as sysdba" alias bdump="cd /app/oracle/diag/rdbms/orcl/orcl/trace" stty erase ^H |
다시 sqlplus 접속
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jun 27 09:00:49 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> select instance_name, version, status from v$instance; INSTANCE_NAME VERSION STATUS ---------------- ----------------- ------------ orcl 19.0.0.0.0 OPEN |
정상 접속됨
원인 : 잘못된 $ORACLE_HOME 경로
잘못된 $ORACLE_HOME 경로문제
오라클 엔진 경로가 주석처리되고 오라클 클라이언트 경로가 잡혀있어서 발생한 문제
참조 :