在一台服务器上有两个监听, 一个端口为1521 一个为1522  现在  lsnrctl start和
Lsnrctl  stop 命令是两个监听都启动吗   如果是这样, 想启动或关闭其中的一个, 是什么样的命令?

解决方案 »

  1.   

    Lsnrctl start listener2,Lsnrctl start listener1是这个意思不?
      

  2.   

    不是。lsnrctl命令所在的Oracle_home下的listener被启动。
      

  3.   

    (1)lsnrctl start和 lsnrctl stop默认的名字是listenereg:
    $lsnrctl start <listener>     #如果你不输入侦听名称,它自动打开listener(2)如果端口非默认端口的话,如1522之类的,必须注册数据库才能使用,如动态注册数据库。
    同时,tnsnames.ora文件里面相应的连接字符串的名称要和listener.ora的listener名称一致。SQL>show parameter local_listenerNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener                       stringSQL>alter system set local_listener='listener2'       #假设另外一个侦听为listener2,端口为1522
    SQL>alter system register
    ocp$>lsnrctl status listener2        #查看listener2是否有serviceSQL>conn scott/tiger@listener2         #使用侦听listener2,端口1522连接数据库 
    注意:动态注册数据库时,等到数据库重启后,需要重新注册