当前位置:  数据库>oracle

RAC Local_listener、一条 Oracle的阑尾

    来源: 互联网  发布时间:2017-05-18

    本文导语: 先看一段对话: 小菜鸟问: 我在参数文件中设置了local_listener='listener1',然后启动数据库有报错. SQL> startup ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00132: syntax error or unresolved network name 'listener1' 语法不对吗? 老鸟回...

先看一段对话:

小菜鸟问:

我在参数文件中设置了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均是如此


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux Oracle RAC内核参数
  • 配置Oracle RAC需要注意的问题
  • Oracle RAC 10.2.0.1升级到10.2.0.4
  • Linux下Oracle RAC一个节点宕机导致共享存储无法挂载的故障排除
  • Oracle10201 RAC升级到10204后导出数据时报EXP-00056错误
  • 与Oracle RAC相关的连接配置写法实例
  • [Oracle] RAC 之 - 负载均衡深入解析
  • 如何在RAC环境下修改Oracle字符集
  • Oracle RAC 状态检查
  • 基于Linux平台的Oracle RAC 10g集群教程:删除节点所需要的步骤
  • Linux Oracle10.2.0 RAC配置注意问题
  • redhat 5.5全新安装oracle rac的问题[1000分]
  • Oracle 10201 RAC升级到10204
  • oracle 11g RAC 常用命令整理分享
  • Redflag Linux安装Oracle 10gR2 RAC记事
  • 基于Linux平台的Oracle RAC 10g集群教程:添加节点所需要的步骤
  • Oracle10g RAC for Linux配置全过程
  • RAC +GPFS添加节点的问题~~~~~~~~~~~~·
  • RAC cache fusion机制实现原理分析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,