一、发现问题
在连接oracle 10g数据库的时候老是连不上,服务也启动了,但一连接就弹出TNS:监听程序当前无法识别连接描述符中请求的服务, 昨天还好好的连着,今天怎么就突然不能用来,想想会不会是昨天改了配置文件的原因,对比了一下昨天备份的那个配置文件,发现有些地方不一样。检查了一下监听的配置文件,发现里面并没有配置注册对我想要连接的那个数据库服务的监听器,上网找了下配置的语句,只要在listener.ora配置
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = yourdb)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = yourdb)
)
)
红色部分是修改的语句。保存,重启监听服务TNSListener即可。
二、原因分析
让listener主动加载服务,在使用lsnrctl start监听程序时会将listener的服务注册到进程监听器(pmon)中。
原帖地址:http://blog.sina.com.cn/s/blog_69fb0c600100lo45.html