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访问没有设置。
在这里插入图片描述

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