让Exadata使用SDP协议(主要是Exalogic访问Exadata)

本文详细记录了配置Exadata使用SDP协议的过程,特别是当Exalogic访问Exadata时遇到的问题及解决方案。包括错误如ORA-02097、ORA-00137等,涉及srvctl命令、监听器配置、tnsnames.ora文件的修改等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天折腾Double E,今天Exadata上的配置的工作总算做完了(还差客户提供数据后,进行加载和应用测试)。

一开始做的时候,容易出错的步骤是:

srvctl add network -k 2 -S 192.168.10.0/255.255.255.0/bondib0 


这里,如果interconncet connect使用192.168.10.0网段,子网掩码是255.255.255.0连接,那么这个命令没有问题,但是如果缺省配置excel中是252的,因此配置double e尤其要注意,这里需要使用:

srvctl add network -k 2 -S 192.168.8.0/255.255.252.0/bondib0 


可以通过如下命令计算;

[root@dm01db02 ~]#  ipcalc -bnm 192.168.10.1 255.255.252.0
NETMASK=255.255.252.0
BROADCAST=192.168.11.255
NETWORK=192.168.8.0
[root@dm01db02 ~]# 


后面问题不大,我是用netca创建LISTENER_IB(使用1522端口)

(这个有问题,后来发现,需要使用命令自己创建LISTENER_IB,用netca建立的listener走的都是TCP协议),

解决方法:
srvctl stop listener -l LISTENER_IB
srvctl remove listener -l LISTENER_IB
srvctl add listener -l LISTENER_IB -k 2 -p TCP:1522,/SDP:1522
srvctl start listener -l LISTENER_IB



下面是积累错误和修复方法:

第1类错误:IBLOCAL和IBREMORE配置错误:
============================================================
SQL> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;
alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00119: invalid specification for system parameter LISTENER_NETWORKS
ORA-00137: invalid LISTENER_NETWORKS specification with NAME=network2
ORA-00138: all addresses specified for attribute LOCAL_LISTENER are invalid
ORA-00132: syntax error or unresolved network name 'LISTENER_IBLOCAL'
ORA-00132: syntax error or unresolved network name 'LISTENER_IBREMOTE'
ORA-00132: syntax error or unresolved network name 'LISTENER_IPLOCAL'
ORA-00132: syntax error or unresolved network name 'LISTENER_IPREMOTE'




SQL> 


修改tnsnames.ora:
LISTENER_IBREMOTE=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db02-ibvip.bj.lunar.com)(PORT = 1522))
  )
    
LISTENER_IBLOCAL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db01-ibvip.bj.lunar.com)(PORT = 1522))
    (ADDRESS = (PROTOCOL = SDP)(HOST = dm01db02-ibvip.bj.lunar.com)(PORT = 1522))
  )






第2类错误:IBLOCAL和IBREMORE配置错误:
============================================================
SQL> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;
alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00119: invalid specification for system parameter LISTENER_NETWORKS
ORA-00137: invalid LISTENER_NETWORKS specification with NAME=network1
ORA-00138: all addresses specified for attribute LOCAL_LISTENER are invalid
ORA-00130: invalid listener address
'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dm01db01-vip.bj.lunar.com)(PORT=1521))
)'




SQL> 


修改tnsnames.ora:
LISTENER_IPLOCAL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dm0101-vip.bj.lunar.com)(PORT = 1521))
  )


LISTENER_IPREMOTE=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dm01-scan.bj.lunar.com)(PORT = 1521))
  )




第3类错误:节点2的信息报错,讲节点2的照着节点的tnsnames.ora修改,
注意凡是dm01db01和dm01db02的顺序
============================================================
这个错误表示节点2的tnsnames.ora还不行,但是也说明节点1的tnsname.ora已经好了:
SQL> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;
alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both
*
ERROR at line 1:
ORA-32008: error while processing parameter update at instance gljcdb2
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00119: invalid specification for system parameter LISTENER_NETWORKS
ORA-00137: invalid LISTENER_NETWORKS specification with NAME=network2
ORA-00138: all addresses specified f




SQL>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值