最近在梳理環境,發現環境真的不是一般的複雜,配置不是一般的亂,剛在梳理環境的時候發現一個庫通過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>