热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

RACLocal_listener、一条Oracle的阑尾

因为它会去服务端的tnsnames.ora里找啊,找不到当然解析不了

因为它会去服务端的tnsnames.ora里找啊,找不到当然解析不了

先看一段对话:

小菜鸟问:

我在参数文件中设置了local_listener='listener1',然后启动数据库有报错.

SQL> startup

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'listener1'

语法不对吗?

老鸟回:

要在服务器上的tnsnames.ora里做设置,来映射listener1

类似这样:

listener1 =

(ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟ip)(PORT = 1521))

或者你直接这么设置:

local_listener=' (ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟ip)(PORT = 1521))'

小菜鸟眼神流露着迷茫、弱弱的问:

这样做后listener1就是系统默认的监听呢?还是告诉pmon把注册信息注册到listener1上呢?

老鸟回:

pmon注册

小菜鸟有点明白了、又问:

谢谢!加了后确实可以启动数据库了,但是不明白这内部是怎么运做的,请指教.为什么加了之后就可以启动?

老鸟回:

因为它会去服务端的tnsnames.ora里找啊,找不到当然解析不了啊、然后报错:

ORA-00132: syntax error or unresolved network name 'listener1'

在RAC环境下、客户端连接时、有时会收到 ORA-12545: 因目标主机或对象不存在, 连接失败

这个错误的处理方法也是一样的

。。。

故事到这里就谢幕了、

Local_listener有两个作用:

● PMON动态注册非标端口

动态注册默认Oracle只能注册1521端口,如果你的端口是1522或者其他,Oracle是没办法知道的

那么只要告诉ORACLE Local_listener就可以

● RAC 负载均衡

RAC负载均衡有2种,一种是CLIENT,一种是SERVER

所谓CLIENT是指直接在tnsnames.ora中配置LOAD_BALANCE=yes参数

这种类型主要是按照连接数,,或者说概率来连接Oracle

如果不配置可能也不会出错、

还有一种情况是通过SERVER、那么 Local_listener是有作用的

因为Oracle 会探测服务器负载,谁负载低就去哪里

所以当一个进程进入了其中一个节点,这个时候实际还没连接

服务器会探测哪个节点负载低,如果是本地节点直接通过 Local_listener 连接

如果是别的机器,因为Oracle不知道其他节点怎么走,所以 Remote_listener就有作用了

配置local_listener的相关步骤:

① 在listener.ora中设置监听端口

Think =
(description =
(address = (protocol = tcp)(host = loveoracle)(port = 1522))
)

lsnrctl start Think 启动listener

② 在tnsname.ora中设置net service name

Think =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = loveoracle)(PORT = 1522))
)
(CONNECT_DATA =
(service_name = orcl)
)
)

③ 然后才可以设置local_listener

alter system set local_listener=Think;

④ 向数据库注册listener

alter system register;

其实、 Local_listener 是为了解决一个BUG而设置的→→主要就是VIP

这是Oracle的阑尾,早晚要割掉!

我的环境、很多时候是没有设置

Local_listener 即使要写,也是写的VIP的地址, 10g,11g均是如此


推荐阅读
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 本文探讨了Java编程中MVC模式的优势与局限,以及如何利用Java开发一款基于鸟瞰视角的赛车游戏。 ... [详细]
  • 如何解决PHP中时间获取不准确的问题
    本文探讨了在PHP开发过程中遇到的时间获取错误问题,并提供了详细的解决方案,包括通过修改配置文件和编程方法来调整时区设置。 ... [详细]
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 本文详细介绍了反向代理与负载均衡的概念及其在Nginx中的应用。反向代理主要用于将客户端请求转发到后端服务器,而负载均衡则通过分发请求来提高系统的响应速度和可用性。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • 本文深入探讨ZooKeeper的功能与应用场景,解释其作为开源分布式协调服务的核心作用,以及如何通过ZooKeeper实现数据的一致性和高可用性。 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
  • MHA 架构详解与实践
    MHA(Master High Availability)是一种高效的主从切换解决方案,确保了数据的一致性和系统的高可用性。本文将详细介绍MHA的功能、主从切换流程以及配置步骤,并探讨其优缺点。 ... [详细]
  • 深入解析ZooKeeper:Java组件化开发必备技能
    本文详细介绍了ZooKeeper作为分布式服务协调框架的核心功能与应用场景,包括其数据一致性解决方案、数据结构特点、监听通知机制及选举机制等,帮助开发者更好地理解和应用ZooKeeper。 ... [详细]
author-avatar
_A-lan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有