?? 前幾天客戶有套19C的RAC需求調整,需要將原先的地址跨網段修改IP地址,包括public_ip,vip,scan_ip等,之前在11g版本也多次實施過網路調整,所以一開始也就完全按照11g的程序來調整IP地址,經過實戰后發現還是和11g的版本在個別命令上有所區別,那么今天我就在虛擬機環境上,把19C的網路地址修改實驗程序做一個完整的記錄,供大家學習參考💖💖
實驗環境:
[root@db1:/root]$ more /etc/redhat-release Red Hat Enterprise Linux
Server release 7.6 (Maipo)
sys@ORCL 14:52:59> select BANNER from v$version;
BANNER
————————————————————————————
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
| 節點名 | public | vip | private |
|---|---|---|---|
| db1 | 192.168.56.11 | 192.168.56.13 | 10.10.10.1 |
| db2 | 192.168.56.12 | 192.168.56.14 | 10.10.10.2 |
注:由于是虛擬機環境,為了修改網段時能正常連接上虛擬機,故在db2上添加了一個單獨網卡192.168.105.12方便連接操作
集群狀態檢查
[grid@db2:/home/grid]$ crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.chad
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.net1.network
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.ons
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.proxy_advm
OFFLINE OFFLINE db1 STABLE
OFFLINE OFFLINE db2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE db1 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE db1 Started,STABLE
2 ONLINE ONLINE db2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.cvu
1 ONLINE ONLINE db1 STABLE
ora.db1.vip
1 ONLINE ONLINE db1 STABLE
ora.db2.vip
1 ONLINE ONLINE db2 STABLE
ora.orcl.db
1 ONLINE ONLINE db1 Open,HOME=/u01/app/o
racle/product/19.3.0
/db,STABLE
2 ONLINE ONLINE db2 Open,HOME=/u01/app/o
racle/product/19.3.0
/db,STABLE
ora.qosmserver
1 ONLINE ONLINE db1 STABLE
ora.scan1.vip
1 ONLINE ONLINE db1 STABLE
--------------------------------------------------------------------------------
禁止所有節點自動啟動并關閉兩邊節點資料庫、監聽
[grid@db2:/home/grid]$ srvctl disable listener
[grid@db2:/home/grid]$ srvctl stop listener
[oracle@db2:/home/oracle]$ srvctl disable database -d orcl
[oracle@db2:/home/oracle]$ srvctl stop database -d orcl -o immediate
禁止所有節點自動啟動并停止VIP
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/srvctl disable vip -i db1-vip
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/srvctl disable vip -i db2-vip
[grid@db2:/home/grid]$ srvctl stop vip -n db1
[grid@db2:/home/grid]$ srvctl stop vip -n db2
禁止所有節點的SCAN和SCAN_LISTENER的啟動,停止所有節點的SCAN和SCAN_LISTENER
[grid@db2:/home/grid]$ srvctl disable scan_listener
[grid@db2:/home/grid]$ srvctl stop scan_listener
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/srvctl disable scan
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/srvctl stop scan
停止crs
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/crsctl stop crs
[root@db1:/root]$ /u01/app/19.3.0/grid/bin/crsctl stop crs
修改兩邊的/etc/hosts檔案
[root@db1:/root]$ more /etc/hosts
127.0.0.1 localhost localhost.localdomain
##OracleBegin
##Public IP
192.168.156.11 db1
192.168.156.12 db2
##Private IP
10.10.10.1 db1-priv
10.10.10.2 db2-priv
##Virtual IP
192.168.156.13 db1-vip
192.168.156.14 db2-vip
##Scan IP
192.168.156.15 db-scan
[root@db2:/root]$ more /etc/hosts
127.0.0.1 localhost localhost.localdomain
##OracleBegin
##Public IP
192.168.156.11 db1
192.168.156.12 db2
##Private IP
10.10.10.1 db1-priv
10.10.10.2 db2-priv
##Virtual IP
192.168.156.13 db1-vip
192.168.156.14 db2-vip
##Scan IP
192.168.156.15 db-scan
修改enp0s3網卡配置
[root@db1:/root]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:9c:01:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.156.11/24 brd 192.168.156.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::4374:73e0:bd3:a5b6/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8d:49:d6 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.1/24 brd 10.10.10.255 scope global noprefixroute enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::edac:5de7:4a37:d0a1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@db2:/root]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:a1:65:f6 brd ff:ff:ff:ff:ff:ff
inet 192.168.156.12/24 brd 192.168.156.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a547:6355:2009:2f24/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:3c:1c:4b brd ff:ff:ff:ff:ff:ff
inet 10.10.10.2/24 brd 10.10.10.255 scope global noprefixroute enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::5cd6:7a9e:1f08:ef39/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:46:0b:2b brd ff:ff:ff:ff:ff:ff
inet 192.168.105.12/24 brd 192.168.105.255 scope global noprefixroute enp0s9
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe46:b2b/64 scope link
valid_lft forever preferred_lft forever
重啟網路服務
[root@db1:/root]$ systemctl restart network
[root@db2:/root]$ systemctl restart network
啟動crs
[root@db1:/root]$ /u01/app/19.3.0/grid/bin/crsctl start crs
[root@db2:/root]$ /u01/app/19.3.0/grid/bin/crsctl start crs
集群狀態
[grid@db2:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
OFFLINE OFFLINE db1 STABLE
OFFLINE OFFLINE db2 STABLE
ora.chad
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.net1.network
ONLINE OFFLINE db1 STABLE
ONLINE OFFLINE db2 STABLE
ora.ons
ONLINE OFFLINE db1 STABLE
ONLINE OFFLINE db2 STABLE
ora.proxy_advm
OFFLINE OFFLINE db1 STABLE
OFFLINE OFFLINE db2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.LISTENER_SCAN1.lsnr
1 OFFLINE OFFLINE STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE db1 Started,STABLE
2 ONLINE ONLINE db2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.cvu
1 ONLINE OFFLINE STABLE
ora.db1.vip
1 OFFLINE OFFLINE STABLE
ora.db2.vip
1 OFFLINE OFFLINE STABLE
ora.orcl.db
1 OFFLINE OFFLINE STABLE
2 OFFLINE OFFLINE STABLE
ora.qosmserver
1 ONLINE OFFLINE STABLE
ora.scan1.vip
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
#這里可以看到,監聽和vip之類的服務都未啟動
修改集群的public IP
[root@db1:/u01/app/19.3.0/grid/bin]$ ./oifcfg getif // 注意命令路徑
enp0s3 192.168.56.0 global public
enp0s8 10.10.10.0 global cluster_interconnect,asm
[root@db2:/u01/app/19.3.0/grid/bin]$ ./oifcfg getif
enp0s3 192.168.56.0 global public
enp0s8 10.10.10.0 global cluster_interconnect,asm
#現在顯示集群中的IP還是192.168.56.0段的地址
[root@db1:/u01/app/19.3.0/grid/bin]$ ./oifcfg delif -global enp0s3
[root@db1:/u01/app/19.3.0/grid/bin]$ ./oifcfg setif -global enp0s3/192.168.156.0:public
[root@db1:/u01/app/19.3.0/grid/bin]$ ./oifcfg getif
enp0s8 10.10.10.0 global cluster_interconnect,asm
enp0s3 192.168.156.0 global public
[root@db2:/u01/app/19.3.0/grid/bin]$ ./oifcfg getif
enp0s8 10.10.10.0 global cluster_interconnect,asm
enp0s3 192.168.156.0 global public
#現在顯示集群中的IP已經修改成192.168.156.0段的地址
修改集群的VIP和SCAN_IP
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config vip -n db1
VIP exists: network number 1, hosting node db1
VIP Name: db1-vip
VIP IPv4 Address: 192.168.156.13
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config vip -n db2
VIP exists: network number 1, hosting node db2
VIP Name: db2-vip
VIP IPv4 Address: 192.168.156.14
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
#此時還沒正式修改VIP,但是查看vip配置時集群顯示已經是192.168.156.0段的地址
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config nodeapps -a
Network 1 exists
Subnet IPv4: 192.168.56.0/255.255.255.0/enp0s3, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node db1
VIP Name: db1-vip
VIP IPv4 Address: 192.168.156.13
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node db2
VIP Name: db2-vip
VIP IPv4 Address: 192.168.156.14
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
#查看nodeapps服務內容,你會發現雖然vip地址已經自動修改了,但是vip的地址段還是192.168.56.0,
?? 如果只檢查了vip配置,可能會誤認為此時不需要modify VIP,我們先將錯就錯,看看后面會出什么問題,現在開始修改SCANIP🎃
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config scan
SCAN name: db-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/enp0s3, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 192.168.56.15
SCAN VIP is disabled.
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl modify scan -n 192.168.156.15
PRCS-1034 : Failed to modify Single Client Access Name 192.168.156.15
PRCS-1076 : Invalid Single Client Access Name 192.168.156.15. The subnet 192.168.156.0 of SCAN VIP 192.168.156.15 differs from the subnet 192.168.56.0 of network 1
#根據報錯資訊可以很明顯的知道需要求改的scanip與nodeapps中的網段資訊不一致,所以我們還是需要手工修改nodeapps中的網段資訊
修改VIP
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl modify nodeapps -n db1 -A 192.168.156.13/255.255.255.0/enp0s3
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl modify nodeapps -n db2 -A 192.168.156.14/255.255.255.0/enp0s3
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config nodeapps -a
Network 1 exists
Subnet IPv4: 192.168.156.0/255.255.255.0/enp0s3, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node db1
VIP Name: db1-vip
VIP IPv4 Address: 192.168.156.13
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node db2
VIP Name: db2-vip
VIP IPv4 Address: 192.168.156.14
VIP IPv6 Address:
VIP is disabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
#可以看到此時nodeapps的網段資訊已經修改成功,下面修改scanIP
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl modify scan -n db-scan //這里可以使用水scan_name也可以直接使用IP地址
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl config scan
SCAN name: db-scan, Network: 1
Subnet IPv4: 192.168.156.0/255.255.255.0/enp0s3, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 192.168.156.15
SCAN VIP is disabled.
啟動監聽和各服務
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable listener
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable vip -i db1-vip
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable vip -i db2-vip
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable scan_listener
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable scan
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl enable database -d orcl
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl start listener
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl start vip -n db1
PRKO-2420 : VIP db1-vip is already started on nodes: db1
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl start scan
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl start scan_listener
[root@db1:/u01/app/19.3.0/grid/bin]$ ./srvctl start database -d orcl
#集群狀態
[grid@db2:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.chad
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.net1.network
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.ons
ONLINE ONLINE db1 STABLE
ONLINE ONLINE db2 STABLE
ora.proxy_advm
OFFLINE OFFLINE db1 STABLE
OFFLINE OFFLINE db2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE db2 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE db1 Started,STABLE
2 ONLINE ONLINE db2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE db1 STABLE
2 ONLINE ONLINE db2 STABLE
ora.cvu
1 ONLINE ONLINE db1 STABLE
ora.db1.vip
1 ONLINE ONLINE db1 STABLE
ora.db2.vip
1 ONLINE ONLINE db2 STABLE
ora.orcl.db
1 ONLINE ONLINE db1 Open,HOME=/u01/app/o
racle/product/19.3.0
/db,STABLE
2 ONLINE ONLINE db2 Open,HOME=/u01/app/o
racle/product/19.3.0
/db,STABLE
ora.qosmserver
1 ONLINE ONLINE db1 STABLE
ora.scan1.vip
1 ONLINE ONLINE db2 STABLE
--------------------------------------------------------------------------------
至此所有IP修改完畢,測驗連接資料庫scan_ip


本次實驗中是修改public vip scanip,所以停止了所有的監聽和IP服務,如果在你的實際環境中只是單獨修改public,或者是vip,亦或是SCANIP,可以只停止相應的監聽和服務,然后完成后續的配置修改??
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396147.html
標籤:其他
下一篇:路由與交換技術(筆記)
