11G rac修改监听端口

1、用grid用户netca图形化界面休改监听端口(注直接修改监听文件listener.ora不起作用)


2、分别用grid用户和oralce用户修改asm实例和数据库实例的local_listener,该参数为动态参数,可直接修改生效,但一定要注明sid


alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.32.62)(PORT=1821))))' scope=both sid='+ASM1';
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.32.62)(PORT=1821))))' scope=both sid='dtdb1';

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.32.63)(PORT=1821))))' scope=both sid='+ASM2';

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.32.63)(PORT=1821))))' scope=both sid='dtdb2';


3、修改scan-listener监听端口
1)、停止scan监听
2)、srvctl  modify  scan_listener -p 1821
3)、修改实例的remote_listener
SQL> show parameter listener


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                       string       (ADDRESS=(PROTOCOL=TCP)(HOST=
                                                 192.168.32.63)(PORT=1521))
remote_listener                      string      rac-scan:1521
SQL> 
SQL> 
SQL> 
SQL> alter system set remote_listener='rac-scan:1821' scope=both;


System altered.
SQL> show parameter listener


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                       string       (ADDRESS=(PROTOCOL=TCP)(HOST=
                                                 192.168.32.63)(PORT=1821))

remote_listener                      string      rac-scan:1821


有时候修改会遇到报错,提示端口被占用,任何端口都提示端口被占用,其实此问题跟端口无关

[AWT-EventQueue-0] [ 2014-08-28 11:51:00.928 CST ] [ConfigureListener.validateEndPoint:1008]  Validating end-point: TCP:1821
[AWT-EventQueue-0] [ 2014-08-28 11:51:00.929 CST ] [ConfigureListenerOPS.buildTCPAddress:801]  Building TCP Address with HOST dtdb1
[AWT-EventQueue-0] [ 2014-08-28 11:51:00.929 CST ] [ConfigureListenerOPS.buildAddressString:781]  Building Address for TCP:
        (ADDRESS=(PROTOCOL=TCP)(HOST=dtdb1)(PORT=1821)(IP=FIRST))
oracle.ops.mgmt.cluster.ClusterException: PRKC-1099 : The host names or IP addresses passed as an argument are null.
        at oracle.ops.mgmt.cluster.Cluster.isPortAvailable(Cluster.java:1572)
        at oracle.net.ca.ConfigureListenerOPS.isPortFree(ConfigureListenerOPS.java:1106)
        at oracle.net.ca.ConfigureListenerOPS.validatePort(ConfigureListenerOPS.java:1072)
        at oracle.net.ca.ConfigureListener.validateEndPoint(ConfigureListener.java:1056)
        at oracle.net.ca.NetCA.prepareNextPage(NetCA.java:1747)
        at oracle.net.ca.NetCA.wizardValidatePage(NetCA.java:1055)
        at oracle.ewt.wizard.WizardPage.processWizardValidateEvent(Unknown Source)
        at oracle.ewt.wizard.WizardPage.validatePage(Unknown Source)
        at oracle.ewt.wizard.BaseWizard.validateSelectedPage(Unknown Source)
        at oracle.ewt.wizard.BaseWizard.doNext(Unknown Source)
        at oracle.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)
        at oracle.ewt.button.PushButton.processActionEvent(Unknown Source)
        at oracle.ewt.button.PushButton.processEventImpl(Unknown Source)
        at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
        at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
        at oracle.ewt.button.PushButton.activate(Unknown Source)
        at oracle.ewt.lwAWT.AbstractButton.processMouseReleased(Unknown Source)
        at oracle.ewt.lwAWT.AbstractButton.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Component.java:5297)
        at java.awt.Container.processEvent(Container.java:1966)
        at oracle.ewt.lwAWT.LWComponent.processEventImpl(Unknown Source)
        at oracle.ewt.button.PushButton.processEventImpl(Unknown Source)
        at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
        at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Component.java:3999)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3834)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1791)
        at java.awt.Component.dispatchEvent(Component.java:3834)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:501)
        at java.awt.EventQueue.access$000(EventQueue.java:80)
        at java.awt.EventQueue$1.run(EventQueue.java:462)
        at java.awt.EventQueue$1.run(EventQueue.java:461)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:95)
        at java.awt.EventQueue$2.run(EventQueue.java:476)
        at java.awt.EventQueue$2.run(EventQueue.java:475)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:473)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
        at java.awt.Dialog$1.run(Dialog.java:535)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:499)
        at java.awt.EventQueue.access$000(EventQueue.java:80)
        at java.awt.EventQueue$1.run(EventQueue.java:462)
        at java.awt.EventQueue$1.run(EventQueue.java:461)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:95)
        at java.awt.EventQueue$2.run(EventQueue.java:476)
        at java.awt.EventQueue$2.run(EventQueue.java:475)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:473)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[AWT-EventQueue-0] [ 2014-08-28 11:51:00.936 CST ] [ConfigureListenerOPS.isPortFree:1109]  Failed to check if port 1821 is available
 on cluster nodes. !
[AWT-EventQueue-0] [ 2014-08-28 11:51:00.936 CST ] [ConfigureListenerOPS.isPortFree:1114]  Is Port 1821 free on cluster nodes: false
oracle.net.ca.IllegalEndpointException: Port 1821 provided for this listener is already in use on node(s) of Oracle Clusterware.
        at oracle.net.ca.ConfigureListenerOPS.validatePort(ConfigureListenerOPS.java:1073)
        at oracle.net.ca.ConfigureListener.validateEndPoint(ConfigureListener.java:1056)
        at oracle.net.ca.NetCA.prepareNextPage(NetCA.java:1747)
        at oracle.net.ca.NetCA.wizardValidatePage(NetCA.java:1055)
        at oracle.ewt.wizard.WizardPage.processWizardValidateEvent(Unknown Source)
        at oracle.ewt.wizard.WizardPage.validatePage(Unknown Source)
        at oracle.ewt.wizard.BaseWizard.validateSelectedPage(Unknown Source)
        at oracle.ewt.wizard.BaseWizard.doNext(Unknown Source)
        at oracle.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)


处理方法:
注意netca日志伴有如下错误
Thread-8] [ 2014-08-28 11:50:37.761 CST ] [StreamReader.run:65]  ERROR>Host key verification failed.
[main] [ 2014-08-28 11:50:37.761 CST ] [RuntimeExec.runCommand:161]  RunTimeExec: output>
[main] [ 2014-08-28 11:50:37.762 CST ] [RuntimeExec.runCommand:170]  RunTimeExec: error>
[main] [ 2014-08-28 11:50:37.762 CST ] [RuntimeExec.runCommand:173]  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[main] [ 2014-08-28 11:50:37.762 CST ] [RuntimeExec.runCommand:173]  @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
[main] [ 2014-08-28 11:50:37.762 CST ] [RuntimeExec.runCommand:173]  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[main] [ 2014-08-28 11:50:37.763 CST ] [RuntimeExec.runCommand:173]  IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
[main] [ 2014-08-28 11:50:37.763 CST ] [RuntimeExec.runCommand:173]  Someone could be eavesdropping on you right now (man-in-the-mid
dle attack)!




此错误是grid用户的信任有问题导致,需要清空know_hosts重新在生成记录一遍密码
分别在两个节点执行如下步骤即可重新netca配置监听地址,此问题跟端口没有任何关系
[grid@dtdb2 ~]$ cd .ssh
[grid@dtdb2 .ssh]$ ls
authorized_keys  id_dsa  id_dsa.pub  known_hosts
[grid@dtdb2 .ssh]$ ls -lrt
total 16
-rw-r--r-- 1 grid oinstall  600 Aug 14 17:45 id_dsa.pub
-rw------- 1 grid oinstall  668 Aug 14 17:45 id_dsa
-rw-r--r-- 1 grid oinstall 1200 Aug 14 18:03 authorized_keys
-rw-r--r-- 1 grid oinstall  802 Aug 14 18:04 known_hosts
[grid@dtdb2 .ssh]$ >known_hosts 
[grid@dtdb2 .ssh]$ 
[grid@dtdb2 .ssh]$ ssh dtdb1
[grid@dtdb1 ~]$ exit
logout
Connection to dtdb1 closed.
[grid@dtdb2 .ssh]$ ssh dtdb2
[grid@dtdb2 ~]$ 
[grid@dtdb2 ~]$ 
[grid@dtdb2 ~]$ exit
logout


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值