解决监听ora-12560错误问题,首先要明确客户端连接的整个过程 ,创建客户进程->检测注册表信息->检测环境变量->连接数据库实例
针对window操作系统,需要特别主要注册表信息和环境变量问题。
引起这个错误的原因,有监听没有启动,数据库没有启动,另外一个原因:
注册表或环境变量中ORACLE_SID的值 与当前连接的数据库实例ID不一致,同样会报出这样的错误。
例如:
1.首先创建数据库orcl
此时注册表中ORACLE_SID自动更新为orcl,添加环境变量ORACLE_SID=orcl
2.删除数据库orcl
3.创建数据库halee
注意:注册表中会自动更新为halee,但是环境变量中并不会自动更新
这样就导致 在采用操作系统认证的时候,在不只用@networkname 时,始终会报出ora-12560错误。
更改环境变量对应的值,才可正常使用操作系统认证。