在之前的文章中http://itspace.iteye.com/blog/1055532探讨过监听无法动态注册的问题,这一次又在不同的客户中碰到了相同的问题,遂记录之。
客户反映他的数据库无法动态注册监听,监听状态显示如下
引用
$ lsnrctl status
LSNRCTL for HPUX: Version 10.2.0.3.0 - Production on 10-JUN-2011 16:38:16
Copyright (c) 1991, 2006, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=130.123.12.89)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for HPUX: Version 10.2.0.3.0 - Production
Start Date 10-JUN-2011 16:35:38
Uptime 0 days 0 hr. 2 min. 38 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/app/product/10.2/network/admin/listener.ora
Listener Log File /oracle/app/product/10.2/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=130.123.12.89)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "wesrmirr" has 1 instance(s).
Instance "wesrmirr", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
可以看到监听端口为1521,而且local_listner参数为空,
引用
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
log_archive_local_first boolean TRUE
在这种情况下,理论上pmon会将实例状态动态注册至监听中。
手动发起监听注册,也没有作用,监听状态依旧。
引用
SQL> alter system register;
System altered.
于是检查数据库检查日志,在启动日志出现无效地址字样
引用
PMON started with pid=3, OS id=2521
Fri Jun 10 16:33:25 2011
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=unknown)(PORT=1521))'
PSP0 started with pid=2, OS id=2526
进一步检查listener.ora文件和/etc/hosts文件
引用
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/product/10.2)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = wesrmirr)
(ORACLE_HOME = /oracle/app/product/10.2)
(SID_NAME = wesrmirr)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 130.123.12.89)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
可以看到ip地址130.123.12.89并没有出现在/etc/hosts配置文件中
引用
$ more /etc/hosts
# @(#)B11.23_LRhosts $Revision: 1.9.214.1 $ $Date: 96/10/08 13:20:01 $
#
# The form for each entry is:
# <internet address> <official hostname> <aliases>
#
# For example:
# 192.1.2.34 hpfcrm loghost
#
# See the hosts(4) manual page for more information.
# Note: The entries cannot be preceded by a space.
# The format described in this file is the correct format.
# The original Berkeley manual page contains an error in
# the format description.
#
127.0.0.1 localhost loopback
130.123.12.2 wesr-S-YWMIRROR
找到原因之后,解决方法也变得很简单,只要将130.123.12.89添加至/etc/hosts,再执行手动注册监听即可。
分享到:
相关推荐
### Oracle 11g 问答知识点详解 #### 1. 常见的关系数据库及其特点 - **Oracle**: 高性能、高可用性、安全性强,适用于大型企业级应用...- 无法恢复到最近一次备份之前的时间点。 - 可能受到撤销数据保留时间的限制。
监听程序进程需要一个监听地址, 以便处理系统所用的各个网络协议的连接请求。 除非 MTS_MULTIPLE_LISTENERS=TRUE, 否则每个条目都必须有一个独立的相邻值。此参数自 8.1.3 版起已废弃 语法 : (ADDRESS=(PROTOCOL=...
- **解决方法**:确保每个参数只被指定一次。 #### ORA-00081: Parameter value out of range - **描述**:参数值超出范围。 - **解决方法**:将参数值设置在允许的范围内。 #### ORA-00082: Parameter value must...
在计算机科学领域,Java是一种广泛使用的编程语言,尤其在开发客户端-服务器(C/S)架构的应用程序时,如聊天室。C/S架构是一种常见的网络通信模型,由客户端应用...这个期末作业对于学习者来说是一次宝贵的实践机会。
7. **批处理**:当需要执行大量相似的SQL语句时,可以使用批处理功能,通过`Statement.addBatch()`添加SQL,然后用`Statement.executeBatch()`一次性执行,提高效率。 8. **预编译的PreparedStatement**:对于重复...
Servlet容器在Servlet第一次被访问时,会调用Servlet的构造器和init方法,接着调用service方法处理请求,最后调用destroy方法销毁Servlet。 2. JSP的隐含对象:JSP隐含对象包括request、response、session、...
Java是一种面向对象的、跨平台的编程语言,因其“一次编写,到处运行”的特性而被广泛应用于各种软件开发中。在这个小型局域网聊天系统中,Java的网络编程能力得到了充分利用。Java的Socket编程接口(Java Socket ...
Java的事件模型基于监听器模式,开发者可以为特定组件注册监听器来处理特定的事件。 7. **异常处理**:Java强制进行异常处理,通过`try-catch-finally`块来捕获和处理可能出现的错误。在播放过程中,可能会遇到如...
开发者需要注册监听器,当GPS位置更新时,系统会触发回调,提供新的地理位置信息。此外,Java 8的新特性可以帮助优化处理这些位置数据,比如使用Stream API对数据进行过滤、映射和聚合操作。 4. Java 8的日期时间...
其设计目标是“一次编写,到处运行”。在这款打字游戏中,开发者使用了Java的基本语法、类、对象和封装等概念。 2. **事件驱动编程**:打字游戏的核心机制是事件驱动,这意味着用户的键盘输入会触发游戏中的相应...
next(),每执行一次,向下移动一次,如果有值,返回true,如果没值返回false while(rs.next()){ rs.getType(index/columnName); 如果传的是index,那么索引是从1开始的。 select id,last_name from s_emp; ...
在Oracle Application Development Framework (ADF)中,`ADFPageFragment`是用于构建复杂用户界面的关键组件之一,它允许开发者将页面划分为多个可重用的部分。`ADFPageFragment`与JSF(JavaServer Faces)框架的...
它的设计目标是“一次编写,到处运行”,这得益于Java虚拟机(JVM)的支持,使得编写的代码可以在任何支持Java的平台上运行。Java语言的特点包括简洁性、面向对象、安全性、可移植性和高性能等。 在实现“锤子剪子...
例如,避免同一个人多次抽奖或者未注册用户参与。 3. **用户体验**:优化界面响应速度,提供友好的提示信息,增加动画效果提升视觉体验。 4. **可扩展性**:设计模块化,方便后续添加新功能,如增加新的奖项、设置...
Java是一种广泛应用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。在Java面试中,常见的知识点可能包括: 1. **基础语法**:如变量、数据类型、运算符、流程控制语句(if-else、switch、for、while...
在这个文件中,开发者可能会设置全局变量、注册事件监听器,或者调用其他子模块的代码。 总结来说,昌宏信息系统是一个包含丰富源码的大型项目,涉及了数据库应用、用户界面控件的使用,并且包含各种外部资源。这个...
它具有“一次编写,到处运行”的特性,可以在各种操作系统上运行,包括Windows、Mac OS和Linux。Java的语法简洁且强类型,使得代码易于阅读和维护,同时提供了丰富的类库支持,便于开发各种功能强大的应用程序。 在...
- **一级缓存:**存在于SqlSession级别的缓存,当使用相同的SqlSession进行多次查询时,可以重复利用查询结果。 - **二级缓存:**存在于SqlSessionFactory级别的缓存,可以在不同SqlSession之间共享。 **24. 什么是...
Java目录监视器源程序 9个目标文件 内容索引:JAVA源码,综合应用,目录监视 用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。...