因为修改Public IP和vip的命令均依赖于crs,所以修改修改Public IP和vip前需要关闭所有的crs资源,保留crs进程。
oracle 用户登录节点1,依次执行以下命令:
现在查看crs资源已经全部关闭:
OCR相当于Windows的注册表。对于Windows而言,所有的软件信息,用户,配置,安全等等统统都放到注册表里边。而集群呢,同样如此,所有和集群相关的资源,配置,节点,RAC数据库统统都放在这个仓库里。如果OCR被破坏则导致集群服务启动异常,需要修复OCR。因此OCR的管理与维护对于整个集群而言,是相当重要的。
OCR中通常包含下列内容
这里进行OCR备份,主要是为了在oracle集群配置出错时能够通过OCR备份进行恢复。
root用户登录,只需在一个节点进行OCR备份即可:
如果将要修改的 Public IP 和原来的网段相同,则略过此步骤。
oracle用户登录:
root用户登录:
oracle用户登录,所有节点均进行修改:
然后检查者两个文件,文件中Public IP和VIP为hostname的不做修改,文件中Public IP和VIP为IP地址的修改为新的Public IP和VIP。
示例:
root用户登录,所有节点均修改:
将其中的Public IP和VIP均修改为新的IP地址:
root用户登录,将所有节点的Public IP修改为新地址,然后重启网络服务:
修改成功后,root用户登录,确保所有节点的Public IP和Private IP可以相互ping通。
root用户登录,所有节点均执行以下操作:
稍等片刻,所有节点的crs资源均会正常启动:
网络信息如下:
最后,还需要修改oracle的local_listener。
oracle 用户登录,只在一个节点操作即可:
注意:sql语句中的IP地址为新的VIP,如下:
ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.100.98)(PORT = 1521))' scope=both SID = 'iesdb1';
至此,oracle rac的Public IP 和 VIP修改完毕。
如果我们中间修改出错,导致集群无法启动等,可以利用OCR回退至初始状态。
此时可以看到CRS各资源都从处于ONLINE状态,最后,重新修改local_listener的IP为oracle VIP即可。
查看local_listener的IP地址为:
至此,oracle集群恢复完毕。
可以使用oracle用户来修改private ip,操作方法如下:
至此,private ip修改完成,如果要进行回退工作,请参考“4.回退流程”。