原本是可以通过sqlplus连接数据库的,命令如下:
C:\Users\xuwei>sqlplus /nolog SQL*Plus: Release 11.1.0.6.0 - Production on 星期二 7月 5 16:39:19 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. SQL> conn scott/tiger as sysdba 已连接。
但是今天又装了一个oracle数据库实例,再次登录的时候出现错误:
ORA-12560: TNS: 协议适配器错误
一般情况下,造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
- 监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
- database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.比如我的SID就是ORCL。
- 右键我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID
造成上述的主要原因是,我新安装的数据库实例oratest将我原有的ORCL的sid给覆盖了,这里通过设置环境变量的方法来进行控制sid。
PS:
连接数据库也可以通过如下命令来指定需要访问的sid,这样就不用设定环境变量了。
conn scott/tiger@orcl as sysdba
PS2:2012-6-20
但是如果数据库只安装了一个实例,那么使用如下@orcl来连接会报错。
conn scott/tiger@orcl as sysdba