How to Modify Public Network Information including VIP in Oracle Clusterware (文档 ID 276434.1)

时间:2022-09-14 10:05:11

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.3 to 12.1.0.2 [Release 11.2 to 12.1]
Information in this document applies to any platform.

PURPOSE

The purpose of this note is to illustrate how to change a public hostname, public IP, a Virtual IP Address (VIP), VIP hostname or other VIP attributes in an Oracle Clusterware/Grid Infrastructure environment.

SCOPE

Oracle Database 10g and 11g use VIPs (Virtual IP) in clustered environments for clients to connect to the database. These VIPs are static IP addresses associated with (virtual) hostnames and resolved through DNS (except when using 11gR2 GNS).

During the installation of the Oracle Clusterware users are prompted to enter a Virtual IP and Virtual hostname for each of the node in the cluster. These are stored within the OCR (Oracle Cluster Registry) and different components within the HA framework depend on these VIPs. If for some reason the need arises to change either the VIP, the VIP hostname, or the subnet, netmask etc, this procedure should be followed.

For changes associated with private network/cluster interconnect, please refer to Note 283684.1

DETAILS

Case I.   Changing public hostname

Public hostname is recorded in OCR, it is entered during installation phase. It can not be modified after the installation. The only way to modify public hostname is by deleting the node, then add the node back with a new hostname, or reinstall the clusterware.

Case II.  Changing public IP only without changing interface, subnet or netmask

If the change is only public IP address and the new ones are still in the same subnet, nothing needs to be done on clusterware layer, all changes need to be done at OS layer to reflect the change.

1. Shutdown Oracle Clusterware stack 
2. Modify the IP address at network layer, DNS and /etc/hosts file to reflect the change
3. Restart Oracle Clusterware stack

Above change can be done in rolling fashion, eg: one node at a time.

Case III. Changing public network interface, subnet or netmask

If the change involves different subnet(netmask) or interface, delete the existing interface information from OCR and add it back with the correct information is required.  In the example here, the subnet is changed from 10.2.156.0  to 10.2.166.0 via two separate commands - first a 'delif'  followed by a 'setif':

% $CRS_HOME/bin/oifcfg/oifcfg delif -global <if_name>[/<subnet>]
% $CRS_HOME/bin/oifcfg/oifcfg setif -global <if_name>/<subnet>:public

For example:
% $CRS_HOME/bin/oifcfg delif -global eth0/10.2.156.0 
% $CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public

Then make the change at OS layer. There is no requirement to restart Oracle clusterware unless OS change requires a node reboot. This can be done in rolling fashion.

Once public network is changed, its associated VIP and SCAN VIP are also required to change, refer to CASE IV and CASE V.

Note: for 11gR2, above command requires clusterware RUNNING on ALL nodes, otherwise PRIF-33 and PRIF-32 will be reported, i.e.
[grid@racnode1 bin]$ ./oifcfg delif -global eth0/192.168.1.0
PRIF-33: Failed to set or delete interface because hosts could not be discovered
  CRS-02307: No GPnP services on requested remote hosts.
PRIF-32: Error in checking for profile availability for host racnode2
  CRS-02306: GPnP service on host "racnode2" not found.

Case IV. Changing VIPs associated with public network change

Planning for VIP changes

In general, a complete outage is only required for pre-10.2.0.3 release. From 10.2.0.3 onwards, the ASM/database instance dependency on the VIP resource is removed, so the VIP could be modified without having to take down the ASM/database instance, only client connections to the database will be affected when VIP is down. If the modification is a node specific, then only connection to that node will be affected during the time of change.

Please follow Case III to ensure public network changes are made first. If there is a node reboot or Clusterware restart after the OS network change, vip will not start, please skip to step "Modifying VIP and its Associated Attributes".

Gathering Current VIP Configuration

1. Gather the existing setup
for 10g and 11gR1, as Oracle Clusterware owner:

$ srvctl config nodeapps -n <node> -a

eg:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-vip/101.17.80.184/255.255.254.0/eth1

for 11gR2, as Grid Infrastructure owner:

$ srvctl config nodeapps -a

eg:
$ srvctl config nodeapps -a
Network exists: 1/101.17.80.0/255.255.254.0/eth1, type static
VIP exists: /racnode1-vip/101.17.80.184/101.17.80.0/255.255.254.0/eth1, hosting node racnode1
VIP exists: /racnode2-vip/101.17.80.186/101.17.80.0/255.255.254.0/eth1, hosting node racnode2

2. Verify VIP status

10.2 and 11.1:
$ crs_stat -t

11.2:
$ crsctl stat res -t
- it should show VIPs are ONLINE

$ ifconfig -a
(netstat -in for HP and ipconfig /all for Windows)
- VIP logical interface is bound to the public network interface

Stopping Resources

3. Stop the nodeapps resources (and all dependent resources ASM/DB only if required):

10g and 11gR1, as Oracle Clusterware owner:

$ srvctl stop instance -d <db_name> -i <inst_name>   (optional for 10.2.0.3+)
$ srvctl stop asm -n <node_name>                     (optional for 10.2.0.3+)
$ srvctl stop nodeapps -n <node_name>

eg, 
$ srvctl stop instance -d RACDB -i RACDB1
$ srvctl stop asm -n racnode1
$ srvctl stop nodeapps -n racnode1

11gR2, as Grid Infrastructure owner:

$ srvctl stop instance -d <db_name> -n <node_name>    (optional)
$ srvctl stop vip -n <node_name> -f

eg, 
$ srvctl stop instance -d RACDB -n racnode1
$ srvctl stop vip -n racnode1 -f

Note 1: The -f option is required for 11gR2 to stop listener resource, otherwise following error will occur:
PRCR-1014 : Failed to stop resource ora.racnode1.vip
PRCR-1065 : Failed to stop resource ora.racnode1.vip
CRS-2529: Unable to act on 'ora.racnode1.vip' because that would require stopping or relocating 'ora.LISTENER.lsnr', but the force option was not specified
...

4. Verify VIP is now OFFLINE and the interface is no longer bound to the public network interface

$ crs_stat -t (or $ crsctl stat res -t for 11gR2)

$ ifconfig -a
(netstat -in for HP and ipconfig /all for windows)

Modifying VIP and Its Associated Attributes

5. Determine the new VIP IP/subnet/netmask or VIP hostname, make the network change on OS first, ensure the new VIP is registered in DNS or modified in /etc/hosts (for Unix/Linux) and \WINDOWS\System32\drivers\etc\hosts file (for Windows). If the network interface is changed, ensure the new interface is available on the server before proceeding with the modification.

For example:
New VIP is: 110.11.70.11 racnode1-nvip
new subnet is 110.11.70.0
new netmask is 255.255.255.0
new interface is eth2

6. Modify the VIP resource, as root user:

# srvctl modify nodeapps -n <node> -A <new_vip_address or new_vip_hostname>/<netmask>/<[if1[if2...]]>

eg:
# srvctl modify nodeapps -n racnode1 -A racnode1-nvip/255.255.255.0/eth2

Note: Starting with 11.2, the VIPs depend on the network resource (ora.net1.network), the OCR only records the VIP hostname or the IP address associated with the VIP resource. The network attributes (subnet/netmask/interface) are recorded with the network resource. When the nodeapps resource is modified, the network resoure(ora.net1.network) attributes are also modified implicitly.

From 11.2.0.2 onwards, if only subnet/netmask/interface change is required, network resource can be modified directly via srvctl modify network command.
as root user:
# srvctl modify network -k <network_number>] [-S <subnet>/<netmask>[/if1[|if2...]]
eg:
# srvctl modify network -k 1 -S 110.11.70.0/255.255.255.0/eth2

There is no need to modify VIP or SCAN if other attributes are not changed.

* A special case for 11gR2 modifying the VIP hostname only without changing the IP address.

For example: only VIP hostname changes from racnode1-vip to racnode1-nvip, IP and other attributes remain the same.

If IP address is not changed, above modify command will not change the USR_ORA_VIP value in 'crsctl stat res ora.racnode1.vip -p' output. Please use the following command:
# crsctl modify res ora.racnode1.vip -attr USR_ORA_VIP=racnode1-nvip

Verify the changes for USR_ORA_VIP field:
# crsctl stat res ora.racnode1.vip -p |grep USR_ORA_VIP

Note: For Windows platform, the interface name needs to be in quote (") if there is a space in between, eg:
As administrator user or software install user:
> srvctl modify nodeapps -n racnode1 -A 110.11.70.11/255.255.255.0/"Local Area Connection 1"

7. Verify the change

$ srvctl config nodeapps -n <node> -a (10g and 11gR1)
$ srvctl config nodeapps -a (11gR2)

eg:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-nvip/110.11.70.11/255.255.255.0/eth2

Restarting Resources

8. Start the nodeapps and the other resources

10g and 11gR1, as Oracle Clusterware owner:

$ srvctl start nodeapps -n <node_name>       
$ srvctl start asm -n <node_name>               (optional for 10.2.0.3+)
$ srvctl start instance -d <dbanme> -i <inst>   (optional for 10.2.0.3+)

eg:
$ srvctl start nodeapps -n racnode1
$ srvctl start asm -n racnode1
$ srvctl start instance -d RACDB -i RACDB1

11gR2, as Grid Infrastructure owner:

$ srvctl start vip -n <node_name> 
$ srvctl start listener -n <node_name>
$ srvctl start instance -d <db_name> -n <node_name>      (optional)

eg,
$ srvctl start vip -n racnode1 
$ srvctl start listener -n racnode1
$ srvctl start instance -d RACDB -n racnode1

9. Verify the new VIP is ONLINE and bind to the public network interface

$ crs_stat -t (or $ crsctl stat res -t for 11gR2)

$ ifconfig -a
(netstat -in for HP or ipconfig /all for windows)

10. Repeat the same steps for the rest nodes in the cluster only if the similar change is required.

Others

11. Modify listener.ora,  tnsnames.ora and LOCAL_LISTENER/REMOTE_LISTENER parameter to reflect the VIP change if necessary.

Case V. Change SCAN VIP associated with public network change

With Grid Infrastructure 11gR2, SCAN and SCAN VIP are introduced for client connections. To modify the SCAN VIP, please refer to

Note 952903.1 How to update the IP address of the SCAN VIP resources (ora.scan<n>.vip) 
Note 972500.1 How to Modify SCAN Setting or SCAN Listener Port after Installation

Note: if rolling back the change is required, repeat the commands which have been run, replace the new value with original value to restore the original configuration.

REFERENCES

NOTE:952903.1 - How to update the IP address of the SCAN VIP resources (ora.scan{n}.vip)
NOTE:283684.1 - How to Modify Private Network Information in Oracle Clusterware

How to Modify Public Network Information including VIP in Oracle Clusterware (文档 ID 276434.1)的更多相关文章

  1. 如何修改集群的公网信息(包括 VIP) &lpar;文档 ID 1674442&period;1&rpar;

    适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.1.0.2 [发行版 11.2 到 12.1]本文档所含信息适用于所有平台 用 ...

  2. Script to Collect Log File Sync Diagnostic Information &lpar;lfsdiag&period;sql&rpar; &lpar;文档 ID 1064487&period;1&rpar;

    the article from :http://m.blog.itpub.net/31393455/viewspace-2130875/ Script to Collect Log File Syn ...

  3. 【Oracle】Script to Collect DRM Information &lpar;drmdiag&period;sql&rpar; &lpar;文档 ID 1492990&period;1&rpar;

    脚本对应如下: The following (drmdiag.sql) is a script to collect information related to DRM (Dyanamic Reso ...

  4. 【翻译自mos文章】Clusterware间歇性的hang&comma;命令报CRS-184而且Network Socket Files in &sol;tmp&sol;&period;oracle or &sol;var&sol;tmp&sol;&period;oracle被删

    来源于: Clusterware Intermittently Hangs And Commands Fail With CRS-184 as Network Socker Files in /tmp ...

  5. 深入理解openstack网络架构&lpar;4&rpar;-----连接到public network

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 译文转自:http://b ...

  6. SharePoint 2013&sol;2010 在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变

    本文讲述SharePoint 2013/2010 在一个列表或文档库内移动列表项.文档和目录位置而保持last modify by 等系统字段保持不变的解决方式. 近期遇到客户一个需求,在一个列表或文 ...

  7. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

  8. 安利一个免费下载VIP文档神器

    今天安利给大伙一个非非非常好用的可以免费下载VIP文档的下载神器------冰点文库下载器,用过的人都说好.操作简单,小巧轻便,完全免费.支持百度.豆丁.畅享.mbalib.hp009.max.boo ...

  9. Vagrant 手册之网络 - 公共网络 public network

    原文地址 Vagrantfile 配置文件中公共网络的标识符:public_network,例如: config.vm.network "public_network" Vagra ...

随机推荐

  1. 用 javascript 脚本,网站判读来访者是手机还是电脑

    <script> var system ={}; var p = navigator.platform; system.win = p.indexOf("Win") = ...

  2. kvm 简介

    1. 基础概念 1.1 kvm整合入linux 内核: 1.2 kvm模型中,每一个虚拟机对于linux而言都是一个标准进程: 1.3 普通的linux进程有用户和内核两个空间,在kvm模型中定义了客 ...

  3. RDLC系列之六 打印纸张的大小(未解决)

    问题: 当报表的宽度大于高度的时候,RDLC就默认成横向打印了,把打印纸竖着放就可以正常打印了,但是如果是针式打印机的话,纸张不能连续打印. 如果把宽度和高度值对调,然后横向放纸,打印机里选择“竖打” ...

  4. Basic认证

    Basic 概述 Basic 认证是HTTP 中非常简单的认证方式,因为简单,所以不是很安全,不过仍然非常常用. 当一个客户端向一个需要认证的HTTP服务器进行数据请求时,如果之前没有认证过,HTTP ...

  5. 图形编程(数值微分DDA)

    #include <iostream> #include <time.h> #include <stdio.h> #include <stdlib.h> ...

  6. iOS KVC&sol;KVO&sol;KVB

    看了那么多博客.描述那么复杂,其实KVC很简单,没描述的那么复杂,所以写一篇简单的易于理解的博文,切入正文: 1.KVC底层是通过runtime对method和value操作  比如说如下的一行KVC ...

  7. txt文件导入mysql--转

    MySQL写入数据通常用insert语句,如 insert into person values(张三,20),(李四,21),(王五,70)…; 但有时为了更快速地插入大批量数据或交换数据,需要从文 ...

  8. python学习之路-2 初识python数据类型

    数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2** ...

  9. 浅谈XAML控件

    在win10系统内简单使用了XAML控件,由于本人英语水平有限,在自己的摸索使用.分析代码以及翻译软件.搜索引擎.室友情的帮助下了解了控件的相关功能,下面简要对XAML控件提出几点建议: 1.Cale ...

  10. vscode 正则表达式替换

    比如把1.aa2.bbb替换成 1.aa2.bbb则,查找\d+ 替换成 \n$0 $0为查找的正则匹配项editplus为\0