A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wateno 初级黑马   /  2018-6-8 11:01  /  968 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在单机环境下,只启动数据库不会拉起listener。
一般先启动listener(lsnrctl start),再启动数据库(startup)数据库会自动将服务注册到监听
若现启动数据库,再启动监听,lsnrctl status 时可能没有服务,过几分钟等pmon自己注册监听或者 手动alter system register都可以
   若是等待数据库自己注册,但过几分钟,监听还是没有服务,就要看看端口号是不是1521,oracle默认注册 1521端口。此时手动注册即可
       如果想让数据库注册非1521端口,需要修改parameter 中local_listener的值
       alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.xxx)(PORT = 1522))' sid='orcl';
      说到local_listener,与之下相关的是remote_listener.官方文档对remote_listener这样解释
      REMOTE_LISTENER specifies a network name that resolves to an address or address list of Oracle Net remote listeners (that is, listeners that are not running on the same machine as this instance). The address or address list is specified in the TNSNAMES.ORA file or other address repository as configured for your system.
    实际上就是说,采用remote_listener参数可以实现数据库和listener的分离。不过我不知道这种分离有什么用,出于安全还是负载均衡。
    单机环境的remote_listener 一般为空。
rac环境下,listener是跟随集群crs启动的。而且数据库 rdbms的启动要依赖asm实例的资源,所以不存在启动数据库后,listener没启动,当然出现故障除外。
    rac下也有local_listener和remote_listener.
        local_listener是该节点的listener信息
        remote_listener一般是如下的信息
SQL> show parameter remote_listener


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      scan:1521
在这里remote_listener应该是作为负载均衡来使用的。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马