ORACLE FOR WINDOWS ORA-12560:TNS:協議介面卡錯誤&ORA-12557:TNS:協議介面卡不可載入
對於DBA維護oracle資料庫時,登入資料庫檢視執行狀態是必須的事。然而,當oracle架設在windows上時,尤其單個win伺服器上安裝多個例項或
同時安裝有客戶端,加之oracle相關環境變數設定混亂時,一切變的不再是那麼容易。今天,處理武漢oracle資料庫問題時就遇到了這種鬧心的情況:
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:\Users\Administrator>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:01:44 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>sqlplus sys/sys as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:02:19 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>sqlplus sys/sys@orcl as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:02:34 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS: 無法解析指定的連線識別符號
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:04:08 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/sys as sysdba
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn sys/sys
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn system/system
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn scott/tiger as sysdba
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> exit
C:\Users\Administrator>
當遭遇到WINDOWS ORA-12560: TNS: 協議介面卡錯誤時,我首先想到的是資料庫例項是否啟動,監聽程式是否啟動,檢查結果如下:
因為是生產環境,想也知道資料庫及監聽肯定是開著的,檢查結果與猜測的結果一樣。
然後,檢查資料庫監聽設定是否是作業系統認證,發現監聽設定是NTS本地認證:
到此為止,排除了例項及監聽沒開啟及監聽安全限制,接下來再看就是資料庫的環境變數設定:
開啟我的電腦
在我的電腦右鍵屬性
點選系統屬性上的環境變數
可以看到,系統環境變數設定裡的ORACLE_HOME變數沒有值,終於知道原因在哪了。
接下來就是看當前資料庫的資料庫安裝目錄,依次右鍵我的電腦-》服務-》配置-》服務-》找到ORACLE相關服務
在oracleserviceorcl服務上右鍵屬性,可執行檔案的路徑得上一層就是ORACLE_HOME環境變數對應的值
在含有linstener關鍵字的服務上右鍵屬性,可以檢視監聽程式安裝目錄與資料庫軟體安裝目錄是否在同一級目錄下,排除多版本資料庫同機的情況。
進入到11.2.0資料夾下,發現有2個資料夾,一個是db軟體的,一個是客戶端軟體的,這就找到根源了,客戶端與db軟體都有oracle_home環境變數,
估計是為了避免環境變數衝突,取消系統中ORACLE_HOME的環境變數值。
由於是生產環境,不能隨便更改作業系統中ORACLE_HOME的環境變數值,可能導致客戶端程式不能正常使用;還有一個方法就是在CMD中設定臨時環境環境變數,
這就跟unix/linux環境下類似,前提是知道ORACLE的ORACLE_SID、ORACLE_HOME環境變數值,需要設定path環境變數,另外windows不區分環境變數名的大小寫。
設定臨時環境變數後正常登陸資料庫
C:\Users\Administrator>set oracle_sid=orcl
C:\Users\Administrator>set oracle_home=D:\app\Administrator\product\11.2.0\dbhome_1
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:08:36 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
請輸入使用者名稱:
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
請輸入使用者名稱:
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>set path=D:\app\Administrator\product\11.2.0\dbhome_1\bin\
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:09:04 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
同時安裝有客戶端,加之oracle相關環境變數設定混亂時,一切變的不再是那麼容易。今天,處理武漢oracle資料庫問題時就遇到了這種鬧心的情況:
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:\Users\Administrator>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:01:44 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>sqlplus sys/sys as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:02:19 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>sqlplus sys/sys@orcl as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:02:34 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS: 無法解析指定的連線識別符號
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
請輸入使用者名稱:
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:04:08 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/sys as sysdba
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn sys/sys
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn system/system
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> conn scott/tiger as sysdba
ERROR:
ORA-12560: TNS: 協議介面卡錯誤
SQL> exit
C:\Users\Administrator>
當遭遇到WINDOWS ORA-12560: TNS: 協議介面卡錯誤時,我首先想到的是資料庫例項是否啟動,監聽程式是否啟動,檢查結果如下:
因為是生產環境,想也知道資料庫及監聽肯定是開著的,檢查結果與猜測的結果一樣。
然後,檢查資料庫監聽設定是否是作業系統認證,發現監聽設定是NTS本地認證:
到此為止,排除了例項及監聽沒開啟及監聽安全限制,接下來再看就是資料庫的環境變數設定:
開啟我的電腦
在我的電腦右鍵屬性
點選系統屬性上的環境變數
可以看到,系統環境變數設定裡的ORACLE_HOME變數沒有值,終於知道原因在哪了。
接下來就是看當前資料庫的資料庫安裝目錄,依次右鍵我的電腦-》服務-》配置-》服務-》找到ORACLE相關服務
在oracleserviceorcl服務上右鍵屬性,可執行檔案的路徑得上一層就是ORACLE_HOME環境變數對應的值
在含有linstener關鍵字的服務上右鍵屬性,可以檢視監聽程式安裝目錄與資料庫軟體安裝目錄是否在同一級目錄下,排除多版本資料庫同機的情況。
進入到11.2.0資料夾下,發現有2個資料夾,一個是db軟體的,一個是客戶端軟體的,這就找到根源了,客戶端與db軟體都有oracle_home環境變數,
估計是為了避免環境變數衝突,取消系統中ORACLE_HOME的環境變數值。
由於是生產環境,不能隨便更改作業系統中ORACLE_HOME的環境變數值,可能導致客戶端程式不能正常使用;還有一個方法就是在CMD中設定臨時環境環境變數,
這就跟unix/linux環境下類似,前提是知道ORACLE的ORACLE_SID、ORACLE_HOME環境變數值,需要設定path環境變數,另外windows不區分環境變數名的大小寫。
設定臨時環境變數後正常登陸資料庫
C:\Users\Administrator>set oracle_sid=orcl
C:\Users\Administrator>set oracle_home=D:\app\Administrator\product\11.2.0\dbhome_1
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:08:36 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
請輸入使用者名稱:
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
請輸入使用者名稱:
ERROR:
ORA-12557: TNS: 協議介面卡不可載入
SP2-0157: 在 3 次嘗試之後無法連線到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
C:\Users\Administrator>set path=D:\app\Administrator\product\11.2.0\dbhome_1\bin\
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 11月 10 10:09:04 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2128228/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle之 ORA-12557: TNS: 協議介面卡不可載入Oracle協議
- Windows下ORA-12560: TNS: 協議介面卡錯誤Windows協議
- ORA-12560:TNS:協議介面卡錯誤協議
- ORA-12560: TNS: 協議介面卡錯誤協議
- 水煮oracle十七——《ORA-12560: TNS: 協議介面卡錯誤Oracle協議
- 解決ORA-12560: TNS: 協議介面卡錯誤協議
- ORA-12560: TNS: 協議介面卡錯誤 常見原因協議
- ORA-12560: TNS: 協議介面卡錯誤的問題協議
- dataguard安裝ORA-12560: TNS: 協議介面卡錯誤協議
- ORACLE登入出現“ORA-12560:TNS:協議介面卡錯誤”錯誤修復Oracle協議
- Windows連線RHEL上的Oracle,報錯:ORA-12560: TNS: 協議介面卡錯誤WindowsOracle協議
- ORA-12560: TNS: 協議介面卡錯誤的解決方法協議
- ORA-12560: TNS: 協議介面卡錯誤解決辦法協議
- 進入rman 時的報錯ORA-12560: TNS: 協議介面卡錯誤協議
- 本機sys as SYSDBA 出現 ORA-12560: TNS:協議介面卡錯誤協議
- Ora-12560 TNS介面卡失敗
- Windows環境下Oracle10g使用DBCA建立資料庫時遇到ORA-12560協議介面卡錯誤WindowsOracle資料庫協議
- windows 安裝的oracle資料庫版本 登入的時候出現報錯,ORA-12560:TNS:協議配置器失敗WindowsOracle資料庫協議
- PL/SQL Developer連線資料庫時出現ORA-12577 協議介面卡不可載入SQLDeveloper資料庫協議
- Oracle TNS-12560, TNS-00530 錯誤Oracle
- 【網路協議】IP協議、ARP協議、RARP協議協議
- 蓄意協議錯誤:蘭利法則協議
- onvif soap 協議的錯誤程式碼協議
- ORA-12516: TNS: 監聽程式找不到符合協議堆疊要求的可用處理程'錯誤協議
- TNS-12541: TNS:no listener錯誤處理
- RTSP協議、RTMP協議、HTTP協議的區別協議HTTP
- 【網路協議】UDP協議協議UDP
- Http協議入門HTTP協議
- HTTP 協議入門HTTP協議
- 『轉載』TCP/IP協議入門(一)TCP協議
- Oracle TNS報錯大全Oracle
- 【Oracle】TNS-12154 錯誤解析Oracle
- Gossip協議也叫Epidemic協議(流行病協議)Go協議IDE
- IP協議(網路層協議)協議
- 協議協議
- 頁面連結跳轉--指定協議,半協議,無協議協議
- 網路基礎與協議入門——(2)TCP協議重點協議TCP
- 網路基礎與協議入門——(1)HTTP協議重點協議HTTP