记一次ORA-12547: TNS:lost contact错误处理
一、报错
二、处理方法
在rac环境中oracle用户登录sqlplus出现以上报错,常见的处理方法先检查6751问题。
查看权限无问题,如果无法准确定位问题可以采用trace跟踪输出日志的方法进一步分析问题。
三、 trace跟踪
排除6751问题后,通过trace跟踪sqlplus的过程:
[oracle@yztest1 ~]$ strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 21 18:35:09 2023
Version 19.19.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
Enter user-name: sys
Enter password:
ERROR:
ORA-12547: TNS:lost contact
Enter user-name:
ERROR:
ORA-12547: TNS:lost contact
四、查看跟踪日志情况
通过日志我们发现出现了大量的no such file or directory的问题,这种问题一般是由于环境变量导致路径错误无法找到对应路径导致的。
五、排查环境变量
查看环境变量发现多了/,因为多了/所以PATH=$ORACLE_HOME/bin$PATH就会被解析成 $ORACLE_HOME//bin$PATH这样路径指向就是错误的。
六、修改环境变量
斜杠去掉重新激活环境变量
[oracle@yztest1 ~]$ vi .bash_profile
export ORACLE_BASE=/home/u01/app/oracle
export ORACLE_HOME=/home/u01/app/oracle/product/19.0.0/db_home1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl1
[oracle@yztest1 ~]$ . .bash_profile
重新登录测试
测试成功