我添加了 (SID_DESC = (GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE) )
之后,登陆时又报错:ORA-12518:TNS:监听程序无法分布客户机链接()
我在命令行内输入SQL〉connect system/system as sysdba出错:ORA-12560:TNS:协议适配器错误。
尝试解决:造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量 ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的 database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。
但是未能解决!!
输入SQL>show parameter session 出错:SP2-0640:未链接。
我的数据库的所有服务都是启动的,不知道怎么回事,求解啊!!!
------解决方案--------------------
今天我换了网络,也出现了这个问题。搞了一上午才解决。
主要是配置2个文件tnsnames.ora和listener.ora。
不知道LZ什么情况。
附上我的配置,给LZ参考
listener.ora。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = H:\oracle\install\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(GOLBAL_DBNAME=STAR)
(SID_NAME = XE)
(ORACLE_HOME = H:\oracle\install\app\oracle\product\11.2.0\server)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
tnsnames.ora
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
------解决方案--------------------
从这张图片看
http://my.csdn.net/my/album/detail/1642277,表示orcl已经动态注册到监听器,应该可以正常连接了。
建议楼主如下操作试试看:
1、停止oracleserviceorcl服务
2、stop listener
3、start listener
4、启动oracleserviceorcl服务
5、sqlplus / nolog
6、startup
------解决方案--------------------