y18511664518
作者y185116645182017-09-26 15:16
技术总监, 长城超云

Oracle RAC 集群修改临时IP为生产IP地址(实际操作记录分享)

字数 6825阅读 2539评论 1赞 4

1 修改目的

根据业务的需求,需要由原来的临时IP改为生产ip,以下为调整前后对应的IP表
调整前对应ip表(IP都已虚拟)

主机名          类型         IP 地址         网卡端口
dbw01           public ip     10.0.60.11       eth0
dbw01-vip         vip                          eth0
dbw01-priv       private ip                    eth0:1
dbw02           public ip      10.0.60.12      eth0

dbw02-vip vip eth0

dbw02-priv       private ip                    eth1
scan-vip          scan          

调整后对应ip表

主机名              类型               IP 地址         网卡端口
dbw01           public ip              10.0.60.11       eth0
dbw01-vip         vip                                   eth0
dbw01-priv       private ip                             eth0:1
dbw02           public ip              10.0.60.12       eth0

dbw02-vip vip eth0

dbw02-priv       private ip                             eth1
scan-vip             scan          

网卡端口可以用ifconfig -a 显示出来

2 修改public ip,vip,scan vip
2.1 查看ocr备份
./ocrconfig –showbackup 查看
./ocrconfig –manualbackup 备份
2.2 停止两边节点数据库,监听,并且停止crs

    A、grid用户执行如下操作
        $ srvctl stop database -d gdcdc -o immediate
        $ srvctl stop listener -n dbwdb01
        $ srvctl stop listener -n dbwdb02
    B、root用户
        cd /grid/app/11.2.0/grid/bin
        ./crsctl stop crs
        可以用ps –ef|grep grid看进程是否完全关闭

2.3 修改两边节点的/etc/hosts文件

    修改前先做个备份
        cp /etc/hosts /etc/hosts.bak
        修改后如下所示:
        10.76.31.112         dbw01
        10.76.31.113        dbw01-vip
        172.168.128.10     dbw01-priv
        10.76.31.114         dbw02
        10.76.31.115        dbw02-vip
        172.168.128.11     dbw02-priv
        10.76.31.111         scan-vip
    注意这里私网ip地址暂时先不做修改,修改private ip时再修改
2.3 修改两个节点上的public ip,vip,scan vip
    2.3.1修改dbw01节点 public ip
         
    2.3.2修改dbw02节点 public ip
            
    2.3.3两边节点启动crs,用oifcfg 命令修改public ip
            A、root用户停止crs,一边节点做即可(注意)
            cd /grid/app/11.2.0/grid/bin
            ./crsctl start crs
            B、root用户检查修改
            先用oifcfg getif查看当前设置
            ./oifcfg getif
            
            修改
            ./oifcfg delif -global eth0
            ./oifcfg setif -global eth0/10.76.31.0:public
            两边节点确认
            ./oifcfg getif
            
    2.3.4修改VIP
            A、关闭database,使用grid或者oracle用户操作
                root用户下运行以下命令
                cd /grid/app/11.2.0/grid/bin
                ./srvctl stop database -d racdb -o immediate
            B、检查VIP设置信息(grid用户操作)
                    用srvctl config vip 检查vip设置
                    $ srvctl config vip -n dbw01
                    

            C、停止vip 服务和修改vip(grid用户操作)
                ./srvctl stop listener -n dbw01
                ./srvctl stop listener -n dbw02
                ./srvctl stop vip -n dbw01
                ./srvctl stop vip -n dbw02
                ./srvctl modify nodeapps -n dbw01 -A 10.76.31.113/255.255.255.0/en0
                ./srvctl modify nodeapps -n dbw02 -A 10.76.31.115/255.255.255.0/en0
            D、确认是否修改成功
                ./srvctl config vip -n p570a
                

            E、启动vip服务,监听,数据库
                ./srvctl start vip -n dbw01
                ./srvctl start vip -n dbw02
                ./srvctl start listener -n dbw01
                ./srvctl start listener -n dbw02
                ./srvctl start database –d racdb
    2.3.5 两边节点修改local_listener和remote_listener参数
                该部分应该是在修改完VIP之后,重启数据库由oraagent自动注册进去。
                Show parameter local_listener
                Show parameter remote_listener
                alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.113)(PORT=1521))))' scope=both sid='dbw01';
                alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.76.31.115)(PORT=1521))))' scope=both sid='dbw02'; 

alter system set remote_listener=’’ scope=both sid=’dbw’

    2.3.6修改SCAN VIP
            1.srvctl config scan 查看当前vip设置
                config scan SCAN name: 192.168.128.100, Network: 1/192.168.128.0/255.255.255.0/en0 SCAN VIP name: scan1, IP: /scan-vip/192.168.128.100
            2.用root用户停止scan_listener 和sacn vip
                $GRID_HOME/bin/srvctl stop scan_listener 
                $GRID_HOME/bin/srvctl stop scan 
                $GRID_HOME/bin/srvctl status scan
                SCAN VIP scan1 is enabled SCAN VIP scan1 is not running
                $GRID_HOME/bin/srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is not running
            3.用root用户修改scan vip
                $GRID_HOME/bin/srvctl modify scan -n10.76.31.111
            4.检查是否修改成功
                config scan SCAN name: 10.76.31.111 , Network: 1/10.76.31.0/255.255.255.0/en0 SCAN VIP name: scan1, IP: /scan-vip/10.76.31.111
            5.启动scan和scan_listener
                $GRID_HOME/bin/srvctl start scan 
                $GRID_HOME/bin/srvctl start scan_listener

3 修改 private ip
    3.1 确保crs集群是打开的
            可以用olsnodes –s 检查集群的状态
            ./olsnodes -s
            dbw01 Active
            dbw01 Active
    3.2 用oifcfg getif 检查和oifcfg setif修改当前private 设置
        修改前设置
            ./oifcfg getif
            en0 10.76.31.0 global public
            en2 172.168.128.0 global cluster_interconnect
        修改private ip,新网络端口号为en8,如果没有修改端口号,则设置的值还是为en2
            ./oifcfg setif -global en8/192.76.31.0:cluster_interconnect
            ./oifcfg delif -global en2
        修改后设置
            ./oifcfg getif
            en0 10.76.31.0 global public
            en8 192.76.31.0 global cluster_interconnect
    3.3 两边节点停止database和crs
            ./srvctl stop database -d gdcdc -o immedate
            ./crsctl stop crs
            检查是否关闭
            ps -ef|grep grid
            ps -ef|grep oracle
    3.4 修改两边节点/etc/hosts表
            172.168.128.10 p570a-priv
            172.168.128.11 p570b-priv
            修改为
            192.76.31.113 p570a-priv
            192.76.31.115 p570b-priv
    3.5 修改p570a节点 private ip
            用smitty命令修改物理私网ip
            smitty tcpip
            选择en8
            修改ip为 192.76.31.113 掩码为 255.255.255.0
    3.6 修改P570b节点 private ip
            用smitty命令修改物理私网ip
            smitty tcpip
            选择en8
            修改ip为 192.76.31.115 掩码为 255.255.255.0
    3.7 两边节点启动crs
            crsctl start crs
            检查资源组状态
            crsctl status resource –t
            如果都online,则没问题。
4 实施总结
  1. 在修改public ip时注意修改对应的正确网关,如果不修改,有可能导致vip服务起不来。
  2. 注意检查修改hosts文件,因为改ip后,hosts文件会增加记录。public ip对应的掩码也要修改正确。
  1. 主机名在安装crs时要规划好,一旦装好后,就不能修改,否则要重新安装crs。

    1. 11GR2 srvctl 新增 config vip命令
    2. 修改private ip的顺序刚好和10gR2相反,10gR2是先关闭crs,然后修改hosts表和物理ip,再启动crs,用oifcfg 设置新私网ip,这点要注意,否则按10gR2修改私网的方法,会导致CRS集群起不来,所以做之前先做好备份。
    3. 如果两边节点local_listener参数没修改的话,会导致客户端连接不到数据库报ERROR:ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序,这是因为scan_listener 认到的还是修改前的vip

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论1 条评论

zhao_20020680zhao_20020680网络工程师, 河北唐山
2020-02-24 10:10
学习学习,非常不错!
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广