- A+
今天将NC6.5应用服务器和ORACLE 11g数据库服务器托管到中国移动机房,完成IP地址的更改和相关设置,启动ORACLE服务器并打开监听。
- [root@web02 ~]# su - oracle
- [oracle@web02 ~]$ lsnrctl start
出现如下错误提示信息:
- LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 11-JUN-2019 12:17:29
- Copyright (c) 1991, 2011, Oracle. All rights reserved.
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=web02)(PORT=1521)))
- TNS-12535: TNS:operation timed out
- TNS-12560: TNS:protocol adapter error
- TNS-00505: Operation timed out
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
- STATUS of the LISTENER
- ------------------------
- Alias LISTENER
- Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- Start Date 11-JUN-2019 10:14:01
- Uptime 0 days 2 hr. 4 min. 28 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /home/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
- Listener Log File /home/app/oracle/diag/tnslsnr/web02/listener/alert/log.xml
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=web02)(PORT=1521)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
- 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
解决方法一:
在listener.ora里面添加下面各行:
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcl)
- (SID_NAME = orcl)
- )
- )
注:orcl根据所安装的数据库实例名确定,将上面的代码加到原始的listener.ora后面,重启监听,问题解决。
解决方法二:
- 登录数据库:
- $sqlplus / as sysdba
- 显示服务名:
- SQL>show parameter service_names
- 强制注册服务:
- SQL>alter system register;
- 查看监听状态:
- $lsnrctl status
注:刚开始想用方法二来解决,但最终没有成功。