最近在梳理环境,发现环境真的不是一般的复杂,配置不是一般的乱,刚在梳理环境的时候发现一个库通过conn /as sysdba无法连接,具体处理过程如下:
一、错误信息
[oracle@ ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 24 09:48:26 2018 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> conn /as sysdba; ERROR: ORA-12162: TNS:net service name is incorrectly specified SQL> exit
二、错误原因
一般出现这种错误,基本都是环境变量配置有问题,要么是没有配置正确的ORACLE_SID、ORACLE_HOME,要么是监听配置环境变量和.bash_profile环境变量配置不一致。
这里检查发现,是操作系统环境变量没有配置ORACLE_SID
[oracle@ ~]$ env |grep ORA ORACLE_BASE=/data/oracle ORACLE_HOME=/data/oracle/product/11.2.0/dbhome_1
三、解决办法
将oracle用户下.bash_profile中添加具体的ORACLE_SID并应用即可
[oracle@ ~]$ vi ~/.bash_profile ORACLE_BASE=/data/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 ORACLE_SID=orcl export ORACLE_SID ORACLE_BASE ORACLE_HOME [oracle@ ~]$ source ~/.bash_profile
[oracle@ ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 24 10:00:40 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> conn /as sysdba;
Connected.
SQL>