error message:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
出错原因有很多,如果你检查service里面所有的服务都是started,那说明是监听服务和数据库实例服务的主动跟被动的关系原因导致的。
问题解决有2,
方法1.是让listener主动加载服务
原因是 添加
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
)
后,在使用lsnrctl start监听程序时会将listener的服务注册到进程监视器(pmon)中
方法2.listener被动加载服务
在service里面stop监听服务和数据库实例服务,然后先重新启动监听服务,再启动数据库实例服务。
原因是,如果没有该内容,那么由实例的pmon进程在listener中注册服务,对listener来讲,就是被动了。
这也就是为什么先启动监听后启动数据库能够正常连接的,反之不行的原因了。