摘要:
根据用户需求,为Oracle 19C RAC 添加第二个网络,并配置监听。
19C 的 srvctl 管理命令与 11G 有一些差异,旧的命令格式依然支持。
step 1.root用户添加新的public网络
PS C:\Users\Administrator> oifcfg getif
privateA 193.169.100.0 global cluster_interconnect,asm
publicA 10.46.61.0 global public
PS C:\Users\Administrator>
PS C:\Users\Administrator> oifcfg setif -global publicB/10.47.61.0:public
PS C:\Users\Administrator> oifcfg getif
privateA 193.169.100.0 global cluster_interconnect,asm
publicA 10.46.61.0 global public
publicB 10.47.61.0 global public
PS C:\Users\Administrator>
step 2.检查网络定义,缺省只有一个网络定义:network1
PS C:\Users\Administrator> srvctl config network
网络1存在
子网 IPv4: 10.46.0.0/255.255.0.0/publicA, static
子网 IPv6:
试通目标:
网络已启用
网络已在以下节点上分别启用:
网络已在以下节点上分别禁用:
PS C:\Users\Administrator>
step 3.root用户添加新的网络集群资源(任意节点)
PS C:\Users\Administrator> srvctl add network -netnum 2 -subnet 10.47.61.0/255.255.255.0/publicB
PS C:\Users\Administrator> srvctl config network
网络1存在
子网 IPv4: 10.46.61.0/255.255.0.0/publicA, static
子网 IPv6:
试通目标:
网络已启用
网络已在以下节点上分别启用:
网络已在以下节点上分别禁用:
网络2存在
子网 IPv4: 10.47.61.0/255.255.255.0/publicB, static
子网 IPv6:
试通目标:
网络已启用
网络已在以下节点上分别启用:
网络已在以下节点上分别禁用:
PS C:\Users\Administrator>
集群的网络资源中已经配置了两个网络(包括新增加的网络)
PS C:\Users\Administrator> crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.DATA.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.OCR.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net1.network
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net2.network
OFFLINE OFFLINE zxrdsrv1 STABLE
OFFLINE OFFLINE zxrdsrv2 STABLE
ora.ons
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE zxrdsrv1 193.169.100.10,STABL
E
ora.asm
1 ONLINE ONLINE zxrdsrv1 Started,STABLE
2 ONLINE ONLINE zxrdsrv2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.mgmtdb
1 ONLINE ONLINE zxrdsrv1 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.scan1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv2.vip
1 ONLINE ONLINE zxrdsrv2 STABLE
--------------------------------------------------------------------------------
PS C:\Users\Administrator>
step 4.添加VIP (使用root)
PS C:\Users\Administrator> srvctl add vip -node zxrdsrv1 -address zxrdsrv1b-vip/255.255.255.0/publicB -netnum 2
PS C:\Users\Administrator> srvctl add vip -node zxrdsrv2 -address zxrdsrv2b-vip/255.255.255.0/publicB -netnum 2
PS C:\Users\Administrator> srvctl config vip -n zxrdsrv1
VIP 存在: 网络编号 1, 托管节点 zxrdsrv1
VIP 名称: zxrdsrv1-vip
VIP IPv4 地址: 10.46.61.201
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
VIP 存在: 网络编号 2, 托管节点 zxrdsrv1
VIP 名称: zxrdsrv1b-vip
VIP IPv4 地址: 10.47.61.201
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
PS C:\Users\Administrator> srvctl config vip -n zxrdsrv2
VIP 存在: 网络编号 1, 托管节点 zxrdsrv2
VIP 名称: zxrdsrv2-vip
VIP IPv4 地址: 10.46.61.202
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
VIP 存在: 网络编号 2, 托管节点 zxrdsrv2
VIP 名称: zxrdsrv2b-vip
VIP IPv4 地址: 10.47.61.202
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
PS C:\Users\Administrator>
PS C:\Users\Administrator> crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.DATA.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.OCR.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net1.network
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net2.network
OFFLINE OFFLINE zxrdsrv1 STABLE
OFFLINE OFFLINE zxrdsrv2 STABLE
ora.ons
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE zxrdsrv1 193.169.100.10,STABL
E
ora.asm
1 ONLINE ONLINE zxrdsrv1 Started,STABLE
2 ONLINE ONLINE zxrdsrv2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.mgmtdb
1 ONLINE ONLINE zxrdsrv1 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.scan1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv.db
1 OFFLINE OFFLINE STABLE
2 OFFLINE OFFLINE STABLE
ora.zxrdsrv1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv1_2.vip
1 OFFLINE OFFLINE STABLE
ora.zxrdsrv2.vip
1 ONLINE ONLINE zxrdsrv2 STABLE
ora.zxrdsrv2_2.vip
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
PS C:\Users\Administrator>
step 5.启动虚拟IP (VIPs)网卡 (使用grid 用户)
PS C:\Users\Administrator> srvctl start vip -vip zxrdsrv1_2
PS C:\Users\Administrator> srvctl start vip -vip zxrdsrv2_2
11G 启动 VIP 资源:
[grid@cbsjjrac1 ~]$ srvctl start vip -h
Starts the specified VIP or the VIPs on a node.
Usage: srvctl start vip { -n <node_name> | -i <vip_name> } [-v]
-n <node_name> Node name
-i <vip_name> VIP name
-h Print usage
-v Verbose output
[grid@cbsjjrac1 ~]$
19C 启动 VIP 资源:
C:\Users\Administrator>srvctl start vip -h
在节点上启动一个或多个指定的 VIP。
用法: srvctl start vip {-node <node_name> [-netnum <network_number>] | -vip <vip_name>} [-verbose]
-node <node_name> 节点名
-vip <vip_name> VIP 名称
-netnum <network_number> 网络编号
-verbose 详细输出
-help 输出用法
C:\Users\Administrator>
step 6.检查新创建的vip是否运行了:
PS C:\Users\Administrator> ipconfig
Windows IP 配置
以太网适配器 以太网 2:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网 3:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网 5:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网 7:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 publicB:
连接特定的 DNS 后缀 . . . . . . . :
IPv4 地址 . . . . . . . . . . . . : 10.47.61.11
子网掩码 . . . . . . . . . . . . : 255.255.0.0
IPv4 地址 . . . . . . . . . . . . : 10.47.61.201
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . :
以太网适配器 publicA:
连接特定的 DNS 后缀 . . . . . . . :
IPv4 地址 . . . . . . . . . . . . : 10.46.61.11
子网掩码 . . . . . . . . . . . . : 255.255.0.0
IPv4 地址 . . . . . . . . . . . . : 10.46.61.201
子网掩码 . . . . . . . . . . . . : 255.255.0.0
IPv4 地址 . . . . . . . . . . . . : 10.46.61.203
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . : 10.46.61.1
以太网适配器 privateB:
连接特定的 DNS 后缀 . . . . . . . :
IPv4 地址 . . . . . . . . . . . . : 194.168.100.10
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
以太网适配器 privateA:
连接特定的 DNS 后缀 . . . . . . . :
IPv4 地址 . . . . . . . . . . . . : 193.169.100.10
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
PS C:\Users\Administrator>
step 7.使用grid添加网络2上的监听:
PS C:\Users\Administrator> srvctl add listener -listener LISTENER1 -netnum 2 -endpoints "TCP:1522"
PS C:\Users\Administrator>
PS C:\Users\Administrator> crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.DATA.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.LISTENER1.lsnr
OFFLINE OFFLINE zxrdsrv1 STABLE
OFFLINE OFFLINE zxrdsrv2 STABLE
ora.OCR.dg
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net1.network
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.net2.network
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
ora.ons
ONLINE ONLINE zxrdsrv1 STABLE
ONLINE ONLINE zxrdsrv2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE zxrdsrv1 193.169.100.10,STABL
E
ora.asm
1 ONLINE ONLINE zxrdsrv1 Started,STABLE
2 ONLINE ONLINE zxrdsrv2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.mgmtdb
1 ONLINE ONLINE zxrdsrv1 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.scan1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv.db
1 ONLINE ONLINE zxrdsrv1 Open,HOME=E:\app\Adm
inistrator\product\1
2.2.0\dbhome_1,STABL
E
2 ONLINE ONLINE zxrdsrv2 Open,HOME=E:\app\Adm
inistrator\product\1
2.2.0\dbhome_1,STABL
E
ora.zxrdsrv1.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv1_2.vip
1 ONLINE ONLINE zxrdsrv1 STABLE
ora.zxrdsrv2.vip
1 ONLINE ONLINE zxrdsrv2 STABLE
ora.zxrdsrv2_2.vip
1 ONLINE ONLINE zxrdsrv2 STABLE
--------------------------------------------------------------------------------
PS C:\Users\Administrator>
注意: 如果您添加的新的监听使用的是默认监听所使用的TCP端口1521,需要用 “-skip” 选项去避免如下错误:
PRCN-2061 : Failed to add listener ora.LIST_SOUTH.lsnr
PRCN-2065 : Ports 1521 are not available on the nodes given
PRCN-2067 : Port 1521 is not available on nodes: nsoda11.anywhere.com
step 8.启动network2上的监听
srvctl start listener -l LISTENER1
step 9.检查监听状态
PS C:\Users\Administrator> lsnrctl status LISTENER
LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 27-4月 -2024 00:29:11
Copyright (c) 1991, 2016, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production
启动日期 26-4月 -2024 22:55:50
正常运行时间 0 天 1 小时 33 分 24 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\app\grid\12.2.0\grid\network\admin\listener.ora
监听程序日志文件 E:\app\grid\Administrator\diag\tnslsnr\zxrdsrv1\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENERipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.46.61.11)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.46.61.201)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=zxrdsrv1)(PORT=5500))(Security=(my_wallet_directory=E:\APP\ADMINISTRATOR\admin\zxrdsrv\xdb_wallet))(Presentation=HTTP)(Session=RAW))
服务摘要..
服务 "+ASM" 包含 1 个实例。
实例 "+asm1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "+ASM_DATA" 包含 1 个实例。
实例 "+asm1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "+ASM_OCR" 包含 1 个实例。
实例 "+asm1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "zxrdsrv" 包含 1 个实例。
实例 "zxrdsrv1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "zxrdsrvXDB" 包含 1 个实例。
实例 "zxrdsrv1", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
PS C:\Users\Administrator> lsnrctl status LISTENER1
LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 27-4月 -2024 00:29:13
Copyright (c) 1991, 2016, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER1)))
LISTENER 的 STATUS
------------------------
别名 LISTENER1
版本 TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production
启动日期 27-4月 -2024 00:28:05
正常运行时间 0 天 0 小时 1 分 9 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\app\grid\12.2.0\grid\network\admin\listener.ora
监听程序日志文件 E:\app\grid\Administrator\diag\tnslsnr\zxrdsrv1\listener1\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENER1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.47.61.201)(PORT=1522)))
监听程序不支持服务
命令执行成功
PS C:\Users\Administrator>
新建立的LISTENER2没有注册信息
step 10.配置数据库实例去使用监听 (使用oracle用户)
当使用SCANs 在多个子网上, Oracle Grid Infrastructure 11g Release 2版本中的所有数据库都需要设置
LISTENER_NETWORKS 参数, 为了每个子网都可以访问到. Oracle Grid Infrastructure 12c起,如果这个参数没有在spfile中设置, 集群agent可以在实例启动时自动加入LISTENER_NETWORKS参数。
为了确保remote listener的连接在同一个网络里只重定向到local listener, LISTENER_NETWORKS 参数需要在数据库实例的pfile 或spfile中设置。
使用Oracle Home (RAC)中的tnsnames.ora给LISTENER_NETWORKS解析监听别名. 所有的别名必须在所有节点RAC 数据库的tnsnames.ora文件中。
LISTENERB_ZXRDSRV1B =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zxrdsrv1b-vip)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ats)
)
)
LISTENERB_ZXRDSRV2B =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zxrdsrv2b-vip)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ats)
)
)
使用tnsping工具测试TNSNAME.ora文件里的所有条目。
step 11.配置ORACLE RAC 支持多网络
SQL> show parameter listener_networks
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string
SQL>
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
73.12.130.17)(PORT=1521))
SQL>
修改配置
# 节点1
ALTER SYSTEM SET listener_networks=
'((NAME=network1)(LOCAL_LISTENER=10.46.61.201:1521)(REMOTE_LISTENER=10.46.61.203:1521))',
'((NAME=network2)(LOCAL_LISTENER=10.47.61.201:1522)(REMOTE_LISTENER=10.47.61.202:1522))'
SCOPE=BOTH SID='zxrdsrv1';
# 节点2
ALTER SYSTEM SET listener_networks=
'((NAME=network1)(LOCAL_LISTENER=10.46.61.202:1521)(REMOTE_LISTENER=10.46.61.203:1521))',
'((NAME=network2)(LOCAL_LISTENER=10.47.61.202:1522)(REMOTE_LISTENER=10.47.61.201:1522))'
SCOPE=BOTH SID='zxrdsrv2';
新建立的LISTENER2也有了相应的注册信息
step 11.配置客户端连接串,检查数据库是否可以登录




