如何修改ODA HA的公有网络

参考MOS 2796053.1

测试ODA 版本19.9

1. Please verify that the new IPs/subnet/gateway are correct

2. Take a backup of the ODA with ODABR on both nodes

Refer to Note 2466177.1 - ODA (Oracle Database Appliance): ODABR a System Backup/Restore Utility

3. Verify that the clusterware is up  

# /u01/app/19.11.0.0/grid/bin/crsctl check cluster -all

**************************************************************

odabm1:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

**************************************************************

odabm2:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

**************************************************************

4. Check the current interface configuration of the Grid Infrastructure  

as grid OS user

$ /u01/app/19.11.0.0/grid/bin/oifcfg getif

icbond0 192.168.16.0 global cluster_interconnect

privasm 192.168.17.0 global asm

pubnet <old subnet> global public

5. Add the new subnet to the configuration

as grid OS user

$ /u01/app/19.11.0.0/grid/bin/oifcfg setif -global pubnet/<new subnet>:public

6. Remove the old one  

as grid OS user

/u01/app/19.11.0.0/grid/bin/oifcfg delif -global pubnet/<old subnet>

7. Verify the changes 

as grid OS user

$ /u01/app/18.0.0.0/grid/bin/oifcfg getif

icbond0 192.168.16.0 global cluster_interconnect

privasm 192.168.17.0 global asm

pubnet <new subnet> global public

8. Stop the Grid Infrastructure

as root OS user

# /u01/app/19.11.0.0/grid/bin/crsctl stop cluster -all

9. Change the hostip/subnet mask/gateway in the interface configuration file on both nodes

as root OS user

vi /etc/sysconfig/network-scripts/ifcfg-pubnet

# This file is automatically created by the ODA software.

# This file is automatically created by the ODA software.

BOOTPROTO=none

DEVICE=pubnet

ONBOOT=yes

TYPE=Bridge

DELAY=0

NM_CONTROLLED=no

IPADDR=<new hostip of the local host>

NETMASK=<new netmask>

GATEWAY=<new gateway>

10. Change pubnet's gateway in /etc/sysconfig/network file

as root user

vi /etc/sysconfig/network

NETWORKING=yes

NOZEROCONF=yes

GATEWAYDEV=pubnet

GATEWAY=<new gateway>

11. Restart the network on both nodes. Please note that you will lose the connectivity to the ODA at that point

as root OS user

# systemctl restart network

12. Ask the network administrators to implement all the network related changes on switch and DNS side

13. Reconnect to the host via an ssh terminal

14. Verify that the new IP/subnet/gateway is configured on both nodes

as root OS user

# ifconfig -a

# netstat -rn

15. Change the DNS configuration on both nodes if required

#vi /etc/resolv.conf

search mydomain.com

nameserver <ip of dns1>

nameserver <ip of dns2>

nameserver <ip of dns3>

Test the DNS resolution

# nslookup <hostname1>

Server: <DNS server>

Address: <DNS server>#53

Name: <hostname1>.mydomain.com

Address: <new hostip1>

Verify that DNS and reverse DNS lookups return the right IPs, hostnames, VIPs, SCAN.

Verify the order of name resolution in /etc/nsswitch.conf. It should be the following:

hosts: files dns myhostname

16. Change NTP/Chrony configuration on both nodes if required

19.10 uses NTP

as root OS user

# vi /etc/ntp.conf

server <ip of ntp1> prefer

server <ip of ntp2>

Validate ntp resolution

# systemctl stop ntpd 

Use "-q" for the test as it only queries the time

# ntpdate -q <ip of ntp1>

server 206.223.27.1, stratum 3, offset 0.007801, delay 0.02850

30 Jul 16:41:28 ntpdate[77304]: adjust time server 206.223.27.1 offset 0.007801 sec

# systemctl start ntpd

# systemctl status ntpd

19.11+ uses Chrony

# vi /etc/chrony.conf

server <ip of ntp1> iburst

server <ip of ntp2> iburst

driftfile /var/lib/chrony/drift

makestep 1.0 -1

rtcsync

logdir /var/log/chrony

# systemctl restart chronyd

# systemctl status chronyd

17. Change the IPs in /etc/hosts on both ODA nodes

as root OS user

# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

<new hostip1> <hostname1>.mydomain.com <hostname1>

192.168.16.24 <hostname1>-priv.mydomain.com <hostname1>-priv

<new vip1> <vipname1>.mydomain.com <vipname1>

<new hostip2> <hostname2>.mydomain.com <hostname2>

192.168.16.25 <hostname2>-priv.mydomain.com <hostname2>-priv

<new vip2> <vipname2>.mydomain.com <vipname2>

18. Remove known_hosts file for grid and oracle users on all ODA nodes

as root OS user

rm ~oracle/.ssh/known_hosts

rm ~grid/.ssh/known_hosts

19. Start the Grid Infrastructure  

as root OS user

# /u01/app/19.11.0.0/grid/bin/crsctl start cluster -all

20.  Change the VIPs for both nodes

Check the current configuration

# /u01/app/19.11.0.0/grid/bin/srvctl config nodeapps -viponly

Network 1 exists

Subnet IPv4: <old subnet>/<old netmask>/pubnet, 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 <hostname1>

VIP Name: <vipname1>

VIP IPv4 Address: <old vip1>

VIP IPv6 Address:

VIP is enabled.

VIP is individually enabled on nodes:

VIP is individually disabled on nodes:

VIP exists: network number 1, hosting node <hostname2>

VIP Name: <vipname2>

VIP IPv4 Address: <old vip2>

VIP IPv6 Address:

VIP is enabled.

VIP is individually enabled on nodes:

VIP is individually disabled on nodes:

Change the VIPs

# /u01/app/19.11.0.0/grid/bin/srvctl modify nodeapps -node <hostname1> -address <vipname1>/<new netmask>/pubnet

# /u01/app/19.11.0.0/grid/bin/srvctl modify nodeapps -node <hostname2> -address <vipname2>/<new netmask>/pubnet

Verify the changes

# /u01/app/19.11.0.0/grid/bin/srvctl config nodeapps -viponly

Network 1 exists

Subnet IPv4: <new subnet>/<new netmask>/pubnet, 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 <hostname1>

VIP Name: <vipname1>

VIP IPv4 Address: <new vip1>

VIP IPv6 Address:

VIP is enabled.

VIP is individually enabled on nodes:

VIP is individually disabled on nodes:

VIP exists: network number 1, hosting node <hostname2>

VIP Name: <vipname2>

VIP IPv4 Address: <new vip2>

VIP IPv6 Address:

VIP is enabled.

VIP is individually enabled on nodes:

VIP is individually disabled on nodes:

21. Verify the configuration of the network resources  

# /u01/app/19.11.0.0/grid/bin/srvctl config network

Network 1 exists

Subnet IPv4: <new subnet>/<new netmask>/pubnet, static

Subnet IPv6:

Ping Targets:

Network is enabled

Network is individually enabled on nodes:

Network is individually disabled on nodes:

22. Change the SCAN IP(s)

# /u01/app/19.11.0.0/grid/bin/srvctl config scan

SCAN name: <scan name>, Network: 1

Subnet IPv4: <old subnet>/<old netmask>/pubnet, static

Subnet IPv6:

SCAN 1 IPv4 VIP: <old scanip1>

SCAN VIP is enabled.

SCAN 2 IPv4 VIP: <old scanip2>

SCAN VIP is enabled.

Change the SCAN IPs

[root@odabm1 ~]# /u01/app/19.11.0.0/grid/bin/srvctl modify scan -scanname odabm-scan -netnum 1

[root@odabm1 ~]# /u01/app/19.11.0.0/grid/bin/srvctl config scan

SCAN name: <scan name>, Network: 1

Subnet IPv4: <new subnet>/<new netmask>//pubnet, static

Subnet IPv6:

SCAN 1 IPv4 VIP: <new scanip1>

SCAN VIP is enabled.

SCAN 2 IPv4 VIP: <new scanip2>

SCAN VIP is enabled.

23. You might need to change the configuration files under /u01/app/19.11.0.0/grid/network/admin

as grid OS user

# cd /u01/app/19.11.0.0/grid/network/admin

# ls -l

total 20

-rw-r--r-- 1 grid oinstall 1223 Jun 28 13:00 listener.ora

drwxr-xr-x 2 grid oinstall 4096 Apr 17 2019 samples

-rw-r--r-- 1 grid oinstall 1536 Feb 14 2018 shrept.lst

-rw-r--r-- 1 root root 200 Jul 15 11:40 sqlnet.ora

# cat sqlnet.ora

# sqlnet.ora.<hostname> Network Configuration File: /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.<hostname>

# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

# cat listener.ora

ASMNET2LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET2LSNR_ASM))))

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))

LISTENER_SCAN2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))))

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))))

ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM))))

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON#lineaddedbyAgent

VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET#lineaddedbyAgent

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON#lineaddedbyAgent

VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=OFF#lineaddedbyAgent-DisabledbyAgentbecauseREMOTE_REGISTRATION_ADDRESSisset

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON#lineaddedbyAgent

VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN2=OFF#lineaddedbyAgent-DisabledbyAgentbecauseREMOTE_REGISTRATION_ADDRESSisset

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON#lineaddedbyAgent

VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET#lineaddedbyAgent

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET2LSNR_ASM=ON#lineaddedbyAgent

VALID_NODE_CHECKING_REGISTRATION_ASMNET2LSNR_ASM=SUBNET#lineaddedbyAgent

With the default configuration you don’t have to touch anything. 

24. Restart the Grid Infrastructure to verify that all resources can startup fine  

as root OS user

# /u01/app/19.11.0.0/grid/bin/crsctl stop cluster -all

# /u01/app/19.11.0.0/grid/bin/crsctl start cluster -all

# /u01/app/19.11.0.0/grid/bin/crsctl stat res -t

  

25. Run CVU to verify the health of the Grid Infrastructure

as grid OS user

Setup ssh user equivalence

/u01/app/19.11.0.0/grid/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts "hostname1 hostname2" -noPromptPassphrase -confirm -advanced

Run CVU

$ cluvfy stage -post crsinst -n all -verbose

...

Post-check for cluster services setup was successful.

Warnings were encountered during execution of CVU verification request "stage -post crsinst".

Verifying OCR Integrity ...WARNING

PRVG-6017 : OCR backup is located in the same disk group "+DATA" as OCR.

The above warnings is expected. 

26. Query the current network configuration in the metadata database

# odacli list-networks -u 0

--nodenumber/-u option is deprecated.

ID Name NIC Interface Type IP Address Subnet Mask Gateway VLAN ID

---------------------------------------- -------------------- ------------ --------------- ------------------ ------------------ ------------------ --------

5d087c04-2d3a-4702-929e-4b4f802f38f0 ASM-network privasm BRIDGE 192.168.17.2 255.255.255.128

4334eaac-20f6-42b7-95fd-bd743b20b562 Public-network pubnet BRIDGE <old hostip1> <old netmask> <old gateway>

d1cdb9a7-c84b-4066-babf-6024f17b4930 Private-network icbond0 INTERNAL 192.168.16.24 255.255.255.0

# odacli list-networks -u 1

--nodenumber/-u option is deprecated.

ID Name NIC Interface Type IP Address Subnet Mask Gateway VLAN ID

---------------------------------------- -------------------- ------------ --------------- ------------------ ------------------ ------------------ --------

1853e344-b87b-4f8a-8e53-a5e88c65232f ASM-network privasm BRIDGE 192.168.17.3 255.255.255.128

f20064ad-3f55-4830-8d03-1634ac6515cb Public-network pubnet BRIDGE <old hostip2> <old netmask> <old gateway>

7b62fc72-4f9d-4b8a-9b99-ab939ed124af Private-network icbond0 INTERNAL 192.168.16.25 255.255.255.0

27. Stop the DCS agent on both nodes

# systemctl stop initdcsagent 

28. Take a backup of the mysql db on both nodes 

# /opt/oracle/dcs/mysql/bin/mysqldump --defaults-file=/opt/oracle/dcs/mysql/etc/mysqldb.cnf dcsagentdb > /tmp/dcsagentdb.sql

Restore can be done with 

# /opt/oracle/dcs/mysql/bin/mysql --defaults-file=/opt/oracle/dcs/mysql/etc/mysqldb.cnf dcsagentdb < /tmp/dcsagentdb.sql

29.  Connect to the Mysql DB and change the IP/subnet/gateway/VIPs/SCANs on both nodes

Change the public IP, subnet, gateway

# /opt/oracle/dcs/mysql/bin/mysql --defaults-file=/opt/oracle/dcs/mysql/etc/mysqldb.cnf

mysql> use dcsagentdb

mysql> select ipaddress,subnetmask,gateway,nicname,nodenumber from Network;

+----------------------+------------------------+------------------------+---------+------------+

| ipaddress            | subnetmask             | gateway                | nicname | nodenumber |

+----------------------+------------------------+------------------------+---------+------------+

| 192.168.17.3         | 255.255.255.128        |                        | privasm | 1          |

| <PubIp of DBS1n1>    | <NetMask of DBS1n1>    | <Gateway of DBS1n1>    | ens3    | 0          |

| <oldPubIP of BMn1>   | <oldNetMask of BMn1>   | <oldGateway of BMn1>   | pubnet  | 0          |

| 192.168.17.133       | 255.255.255.252        |                        | ens5    | 0          |

| 192.168.17.2         | 255.255.255.128        |                        | privasm | 0          |

| 192.168.17.134       | 255.255.255.252        |                        | ens5    | 1          |

| <PubIp of DBS1n2>    | <NetMask of DBS1n2>    | <Gateway of DBS1n2>    | ens3    | 0          |

| 192.168.16.25        | 255.255.255.0          |                        | icbond0 | 1          |

| <PubIp of DBS2n1>    | <NetMask of DBS2n1>    | <Gateway of DBS2n1>    | ens3    | 1          |

| 192.168.17.4         | 255.255.255.128        |                        | ens4    | 0          |

| 192.168.17.5         | 255.255.255.128        |                        | ens4    | 1          |

| 192.168.17.7         | 255.255.255.128        |                        | ens4    | 1          |

| 192.168.17.130       | 255.255.255.252        |                        | ens5    | 1          |

| 192.168.16.24        | 255.255.255.0          |                        | icbond0 | 0          |

| 192.168.17.6         | 255.255.255.128        |                        | ens4    | 0          |

| <oldPubIp of BMn2>   | <oldNetMask of BMn2>   | <oldGateway of BMn2>   | pubnet  | 1          |

| <PubIp of DBS2n2>    | <NetMask of DBS2n2>    | <Gateway of DBS2n2>    | ens3    | 1          |

| 192.168.17.129       | 255.255.255.252        |                        | ens5    | 0          |

+----------------------+------------------------+------------------------+---------+------------+

18 rows in set (0.00 sec)

Where BMn1 and BMn2 are Bare Metal host1. host2 and DBS1n1 and DBSn1n2 is DBSystem host1, host2.

Update the IP/network/gateway

mysql> update Network set IPADDRESS='<new hostip1>',subnetmask='<new netmask>',gateway='<new gateway>' where nicname='pubnet' and nodenumber='0';

myslq> update Network set IPADDRESS='<new hostip2>',subnetmask='<new netmask>',gateway='<new gateway>' where nicname='pubnet' and nodenumber='1'; 

Verify the changes

mysql> select ipaddress,subnetmask,gateway,nicname,nodenumber from Network;

+----------------------+------------------------+------------------------+---------+------------+

| ipaddress            | subnetmask             | gateway                | nicname | nodenumber |

+----------------------+------------------------+------------------------+---------+------------+

| 192.168.17.3         | 255.255.255.128        |                        | privasm | 1          |

| <PubIp of DBS1n1>    | <oldNetMask of DBS1n1> | <Gateway of DBS1n1>    | ens3    | 0          |

| <newPubIP of BMn1>   | <newNetMask of BMn1>   | <newGateway of BMn1>   | pubnet  | 0          |

| 192.168.17.133       | 255.255.255.252        |                        | ens5    | 0          |

| 192.168.17.2         | 255.255.255.128        |                        | privasm | 0          |

| 192.168.17.134       | 255.255.255.252        |                        | ens5    | 1          |

| <PubIp of DBS1n2>    | <NetMask of DBS1n2>    | <Gateway of DBS1n2>    | ens3    | 0          |

| 192.168.16.25        | 255.255.255.0          |                        | icbond0 | 1          |

| <PubIp of DBS2n1>    | <NetMask of DBS2n1>    | <Gateway of DBS2n1>    | ens3    | 1          |

| 192.168.17.4         | 255.255.255.128        |                        | ens4    | 0          |

| 192.168.17.5         | 255.255.255.128        |                        | ens4    | 1          |

| 192.168.17.7         | 255.255.255.128        |                        | ens4    | 1          |

| 192.168.17.130       | 255.255.255.252        |                        | ens5    | 1          |

| 192.168.16.24        | 255.255.255.0          |                        | icbond0 | 0          |

| 192.168.17.6         | 255.255.255.128        |                        | ens4    | 0          |

| <newPubIp of BMn2>   | newNetMask of BMn2>    | <newGateway of BMn2>   | pubnet  | 1          |

| <PubIp of DBS2n2>    | <NetMask of DBS2n2>    | <Gateway of DBS2n2>    | ens3    | 1          |

| 192.168.17.129       | 255.255.255.252        |                        | ens5    | 0          |

+----------------------+------------------------+------------------------+---------+------------+ 

Change SCAN IPs  

mysql> select * from Network_ipAddresses;

+--------------------------------------+---------------------+

| Network_id                           | ipAddresses         |

+--------------------------------------+---------------------+

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <old scanip2 of BM> |

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <old scanip1 of BM> |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <old scanip2 of BM> |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <old scanip1 of BM> |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <scanip1 of DBS1>   |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <scanip2 of DBS1>   |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <scanip1 of DBS1>   |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <scanip2 of DBS1>   |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <scanip2 of DBS2>   |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <scanip1 of DBS2>   |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <scanip2 of DBS2>   |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <scanip1 of DBS2>   |

+--------------------------------------+--------------+

12 rows in set (0.00 sec)

mysql> update Network_ipAddresses set IPADDRESSES='<new scanip1 of BM>' where IPADDRESSES='<old scanip1 of BM>';

mysql> update Network_ipAddresses set IPADDRESSES='<new scanip2 of BM>' where IPADDRESSES='<old scanip2 of BM>';

mysql> select * from Network_ipAddresses;

+--------------------------------------+---------------------+

| Network_id                           | ipAddresses         |

+--------------------------------------+---------------------+

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <new scanip2 of BM> |

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <new scanip1 of BM> |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <new scanip2 of BM> |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <new scanip1 of BM> |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <scanip1 of DBS1>   |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <scanip2 of DBS1>   |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <scanip1 of DBS1>   |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <scanip2 of DBS1>   |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <scanip2 of DBS2>   |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <scanip1 of DBS2>   |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <scanip2 of DBS2>   |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <scanip1 of DBS2>   |

+--------------------------------------+---------------------+

12 rows in set (0.00 sec)

mysql> select * from SysInstance_ipAddresses;

+--------------------------------------------+---------------------+

| SysInstance_id                             | ipAddresses         |

+--------------------------------------------+---------------------+

| 3df7fa6f-1350-41aa-b8f4-40857521984d       | <old scanip1 of BM> |

| 3df7fa6f-1350-41aa-b8f4-40857521984d       | <old scanip2 of BM> |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84       | <scanip1 of DBS1>   |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84       | <scanip2 of DBS1>   |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f       | <scanip1 of DBS2>   |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f       | <scanip2 of DBS2>   |

+--------------------------------------+---------------------------+

mysql> update SysInstance_ipAddresses set ipAddresses=''<new scanip1 of BM>' where ipAddresses='<old scanip1 of BM>;

mysql> update SysInstance_ipAddresses set ipAddresses=''<new scanip2 of BM>' where ipAddresses='<old scanip2 of BM>';

mysql> select * from SysInstance_ipAddresses;

+--------------------------------------+---------------------+

| SysInstance_id                       | ipAddresses         |

+--------------------------------------+---------------------+

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <new scanip1 of BM> |

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <new scanip2 of BM> |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <scanip1 of DBS1>   |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <scanip2 of DBS1>   |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <scanip1 of DBS2>   |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <scanip2 of DBS2>   |

+--------------------------------------+---------------------+

6 rows in set (0.00 sec)

Change VIPs

mysql> select * from VIPS;

+--------------------------------------+--------------+------------+---------------+

| NW_ID                                | ipAddress    | nodeNumber | vipName       |

+--------------------------------------+--------------+------------+---------------+

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <old vip1 of BM> | 0 | <vipname1 of BM>   |

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <old vip2 of BM> | 1 | <vipname2 of BM>   |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <old vip1 of BM> | 0 | <vipname1 of BM>   |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <old vip2 of BM> | 1 | <vipname2 of BM>   |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

+--------------------------------------+--------------+------------+-------------------+

12 rows in set (0.00 sec)

mysql> update VIPS set IPADDRESS='<new vip1 of BM>' where IPADDRESS='<old vip1 of BM>';

mysql> update VIPS set IPADDRESS='<new vip2 of BM>' where IPADDRESS='<old vip2 of BM>';

mysql> select * from VIPS;

+--------------------------------------+--------------+------------+---------------+

| NW_ID                                | ipAddress    | nodeNumber | vipName       |

+--------------------------------------+--------------+------------+---------------+

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <new vip1 of BM> | 0 | <vipname1 of BM>   |

| 4334eaac-20f6-42b7-95fd-bd743b20b562 | <new vip2 of BM> | 1 | <vipname2 of BM>   |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <new vip1 of BM> | 0 | <vipname1 of BM>   |

| f20064ad-3f55-4830-8d03-1634ac6515cb | <new vip2 of BM> | 1 | <vipname2 of BM>   |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| 3f5acfae-81ac-472c-bc56-54eeb2849be6 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| f95d8dc3-2461-41ca-850b-28a10c08f685 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| 7abd0f0a-f033-449f-9bcd-8768cd66c0a8 | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| 7ba3ebf3-0521-4512-b6d8-d11abd8987bc | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

+--------------------------------------+--------------+------------+---------------+

12 rows in set (0.00 sec)

mysql> select * from SysInstance_vip ;

+--------------------------------------+--------------+------------+---------------+

| SysInstance_id                       | ipAddress    | nodeNumber | vipName       |

+--------------------------------------+--------------+------------+---------------+

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <old vip1 of BM> | 0 | <vipname1 of BM>   |

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <old vip2 of BM> | 1 | <vipname2 of BM>   |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

+--------------------------------------+--------------+------------+-------------------+

mysql> update SysInstance_vip set ipAddress='<new vip1 of BM>' where vipName='<vipname1 of BM>';

mysql> update SysInstance_vip set ipAddress='<new vip2 of BM>' where vipName='<vipname2 of BM>';

mysql> select * from SysInstance_vip ;

+--------------------------------------+---------------+-----------+---------------+

| SysInstance_id                       | ipAddress     | nodeNumber | vipName      |

+--------------------------------------+---------------+-----------+---------------+

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <new vip1 of BM> | 0 | <vipname1 of BM>   |

| 3df7fa6f-1350-41aa-b8f4-40857521984d | <new vip2 of BM> | 1 | <vipname2 of BM>   |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <vip1 of DBS1>   | 0 | <vipname1 of DBS1> |

| 72c1f16d-5c02-4235-86fe-cc5de83caa84 | <vip2 of DBS1>   | 1 | <vipname2 of DBS1> |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <vip1 of DBS2>   | 0 | <vipname1 of DBS2> |

| d79ae81f-efd7-42d4-ad47-3e53b1ce318f | <vip2 of DBS2>   | 1 | <vipname2 of DBS2> |

+--------------------------------------+------------------+---+------+-------------+ 

mysql> quit;

30. Start the DCS agent on both nodes

# systemctl start initdcsagent

31. Validate the metadata update by using "odacli list-networks"

# odacli list-networks -u 0

ID Name NIC Interface Type IP Address Subnet Mask Gateway VLAN ID

---------------------------------------- -------------------- ------------ --------------- ------------------ ------------------ ------------------ --------

5d087c04-2d3a-4702-929e-4b4f802f38f0 ASM-network privasm BRIDGE 192.168.17.2 255.255.255.128

4334eaac-20f6-42b7-95fd-bd743b20b562 Public-network pubnet BRIDGE <new hostip1> <new netmask> <new gateway>

d1cdb9a7-c84b-4066-babf-6024f17b4930 Private-network icbond0 INTERNAL 192.168.16.24 255.255.255.0

# odacli list-networks -u 1

ID Name NIC Interface Type IP Address Subnet Mask Gateway VLAN ID

---------------------------------------- -------------------- ------------ --------------- ------------------ ------------------ ------------------ --------

1853e344-b87b-4f8a-8e53-a5e88c65232f ASM-network privasm BRIDGE 192.168.17.3 255.255.255.128

f20064ad-3f55-4830-8d03-1634ac6515cb Public-network pubnet BRIDGE <new hostip2> <new netmask> <new gateway>

7b62fc72-4f9d-4b8a-9b99-ab939ed124af Private-network icbond0 INTERNAL 192.168.16.25 255.255.255.0

32. Sync up the DNS and NTP related metadata in the metadata database in case any of them has changed. Run it only on node0.

as root OS user

Update the registry 

# chown grid:oinstall /u01/app/19.11.0.0/grid/bin/osdbagrp

# odacli update-registry -n sysinstance -f

# chown root:oinstall /u01/app/19.11.0.0/grid/bin/osdbagrp

Check the configuration before and after the registry update

# odacli describe-system

System Information

----------------------------------------------------------------

Name: testoda-c

Domain Name: mydomain.com

Time Zone: "Europe/Budapest"

DB Edition: EE

DNS Servers: <dns1> <dns2> <dns3>

NTP Servers: <ntp1> <ntp2>

33. Verify the connectivity to your database(s). You might need to change the configuration files under the RDBMS home's network/admin folder

as oracle OS user

$ export ORACLE_HOME=/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1

$ export PATH=$ORACLE_HOME/bin:$PATH

$ export ORACLE_SID=dbonbm1

$ cat /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_10/network/admin/tnsnames.ora

$ cat /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_10/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

DBONBM =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = odabm-scan)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = dbonbm.us.oracle.com)

)

)

$ srvctl status database -database dbonbm

Instance dbonbm1 is running on node <BM host1>

Instance dbonbm2 is running on node <BM host2>

# odacli list-databases

ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID

---------------------------------------- ---------- -------- -------------------- ---------- -------- -------- ---------- ------------ ----------------------------------------

a4b566ef-702a-4d40-847b-4736aaaf6bbf dbonbm RAC 19.11.0.0.210420 true OLTP odb1 ASM CONFIGURED 71664706-214f-4bf3-bd5a-4059e65f81b5

# odacli list-dbhomes

ID Name DB Version Home Location Status

---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ----------

71664706-214f-4bf3-bd5a-4059e65f81b5 OraDB19000_home10 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 CONFIGURED

$ sqlplus sys@dbonbm as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jul 23 17:58:21 2021

Version 19.11.0.0.0

Copyright (c) 1982, 2020, Oracle. All rights reserved.

Enter password:

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.11.0.0.0

SQL> exit;

34. Open the BUI and try to create a dummy database and perform database related lifecycle operations to verify that everything works as expected

35. Any additional interfaces, that require IP/subnet/gateway changes, have to be reconfigured with the ODA tooling.

36. Updating public network could affect the application KVM guests that use it, hence their network configuration needs to be updated as well.

DBSystem related network changes are covered in MOS Note 2797758.1 How To Change DBSystem Nodes' Public IP / Network After Deployment on ODA Release 19.10 and later

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值