LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAR-2014 16:38:58
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /XXXX/app/oracle/product/11.2.0/XXXX/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /XXXX/app/oracle/product/11.2.0/XXXX/network/admin/listener.ora
Log messages written to /XXXX/app/oracle/diag/tnslsnr/DC04024/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DC04024)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 25-MAR-2014 16:38:58
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /XXXX/app/oracle/product/11.2.0/XXXX/network/admin/listener.ora
Listener Log File /XXXX/app/oracle/diag/tnslsnr/DC04024/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DC04024)(PORT=1521)))
The listener supports no services
The command completed successfully
[oracle@DC04024 ~]$
这样启动后远程连接会造成
oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
*******************************************
* 解决方案一
*******************************************
原因:数据库实例不能注册到listener
--登录数据库
$sqlplus / as sysdba
--显示服务名
SQL>show parameter service_names
--强制注册服务
SQL>alter system register;
--查看监听状态
$lsnrctl status
*******************************************
* 解决方案二(静态注册)
*******************************************
在listener.ora里面添加了一行
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = globe)
(SID_NAME = globe)
)
)
*******************************************
* 解决方案三(静态注册)
*******************************************
Oracle Net Manager修改配置
在下图的Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。
*nux上面:
[oracle@DC04024 ~]$ netmgrlsnrctl start
提示:
The listener supports no services
The command completed successfully
这样启动后远程连接会造成
oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
---方案一---------原因:数据库实例注册到listener-----------------------------------
--登录数据库
$sqlplus / as sysdba
--显示服务名
SQL>show parameter service_names
--强制注册服务
SQL>alter system register;
--查看监听状态
$lsnrctl status
-----方案二--------------------------------------
问题解决了
在listener.ora里面添加了一行
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = globe)
(SID_NAME = globe)
)
)
-----方案三-------------------------
后发现Oracle有个Net Manager可用:
在下图的Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。
linux上面:
[root@localhost oracle]# xhost +
[root@localhost oracle]# su - oracle
[oracle@localhost ~]$ netmgr========================================================================================
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12535: TNS:operation timed out
TNS-12560: TNS:protocol adapter error
TNS-00505: Operation timed out
Linux Error: 110: Connection timed out
LSNRCTL>
今天在启动监听的时候发现需要等很长时间,而且还报错。想想这两天机器做过的改变,只有防火墙动了一下(由于是测试机我试验一下iptables的一些配置)。我马上暂停了防火墙服务,监视服务起来了而且没有任何错误。马上搜一下,是由于我没有在本地防火墙里添加可以127.0.0.1的IP INPUT许可原因。其实只要ping 一下自己的机器名,如果通就可以了。
11.2.0.3 linux 64bit 启动ORACLE监听器,结尾报 The listener supports no services ,数据库实例services没被注册监听,前几天装aix的11.2.0.3 rac的时候没这毛病,很奇怪~