oracle在线修改监听端口过程

oracle在线修改监听端口过程
1、修改listener.ora文件
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = blue1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = blue)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
    )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
      (PROGRAM = extproc)
    )
  )


SID_LIST_LISTENER1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = blue)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
    )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
      (PROGRAM = extproc)
    )
  )
LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = blue1)(PORT = 1621))
    )
  )


SID_LIST_LISTENER2 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = blue)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
    )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10.2.0/db)
      (PROGRAM = extproc)
    )
  )
LISTENER2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = blue1)(PORT = 1821))
    )
  )
注意端口地址和KEY必须不同,否则监听会无法启动
2、如上配置后oracle已经可以静态监听SID_NAME所列出的服务名,但是客户端的tnsnames.ora文件必须配置为service_name,而不能配置为sid_name,否则连接会报错。
如:
crm22_1821 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 135.129.9.163)(PORT = 1821))
    (CONNECT_DATA =
      (SERVICE_NAME = crm22)
    )
  )
3、如需配置新配置监听的动态注册,需修改local_listener参数,此参数可以设置为地址的形式,也可以配置成tns连接串,如配置成tns连接串需要在本地的tnsnames.ora里配置如下文件:
LISTENER_PRIMARY =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.101)(PORT = 1821))
然后修改local_listener参数:alter system set local_listener='LISTENER_PRIMARY';
另一种方法是直接把连接串配置到参数里面,修改local_listener:
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.101)(PORT = 1821))';
如果端口是默认的1521端口则不需要设置local_listener参数
如果用tns连接串的方式,修改完连接串里的端口地址后,如果监听仍未动态注册,可以使用如下命令手工重新注册:
alter system set local_listener='LISTENER_PRIMARY';
此时由于数据库动态注册时已经读取了local_listener参数,因此使用命令alter system register;命令是无法动态注册的,需要用上面的命令手工刷新local_listener参数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值