프린트 하기

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) 19822018, 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) 19822019, 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 경로문제

오라클 엔진 경로가 주석처리되고 오라클 클라이언트 경로가 잡혀있어서 발생한 문제




참조 :