oracle 可以用工具訪問,但是sqlplus命令行登陸總是報錯ORA-12560: TNS: 協議適配器錯誤

參考百度知道上的文章《oracle的sqlplus登陸的時候老報錯:ORA-12560: TNS: 協議適配器錯誤》
在這裏插入圖片描述
我採用的是第三種,因爲我

  1. 其他工具可以訪問,說明監聽服務肯定是起來的,以及databases instance也是起來的;
  2. 命令行進不去,說明環境配置中有問題;

然後我看下,我註冊了兩個服務,一個是orcl,一個是oracle;當orcl設置爲sid後無效,再用oracle設置爲sid後,成功了。

未免後續每次登陸都要設置oracle_sid,還需將在系統環境變量中加上oracle_sid變量:
在這裏插入圖片描述

以下是操作過程,直接copy代碼以作後續參考。

C:\Users\Administrator>set oracle_sid=orcl;

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 426 10:23:17 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn scott/password
ERROR:
ORA-12560: TNS: 協議適配器錯誤

SQL> exit

C:\Users\Administrator>tnsping oracle

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 26-4-2020 10:26:10

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的參數文件:
D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora


已使用 TNSNAMES 適配器來解析別名
嘗試連接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = windows10.microdone.cn)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oracle)))
OK (40 毫秒)

C:\Users\Administrator>set oracle_sid=oracle

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 426 10:26:18 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn scott/password
已連接。

再後續發現,用工具能夠直接訪問的原因是:工具的登陸界面連接oracle會需要輸入sid,且這個輸入的sid不受環境變量影響,而我用cmd訪問沒有設置。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章