oracle-RAC修改服务器ip

主要实施步骤如下:

环境说明:服务器操作系统centos7.3、oracle RAC 11.2.0.4
说明:服务器实际ip变动,虚拟ip不变
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pub
80.150.20.101     msrkzyk1 
80.150.20.102     msrkzyk2 
#pri
172.168.1.1        msrkzyk1p
172.168.1.2        msrkzyk2p
#vip
80.150.20.103     msrkzyk1v
80.150.20.104     msrkzyk2v
 
#scan
80.150.20.105      msrkscan
 
-----
--改后
#pub
80.150.22.101     msrkzyk1 
80.150.22.102     msrkzyk2 
#pri
172.168.1.1        msrkzyk1p
172.168.1.2        msrkzyk2p
#vip
80.150.22.103     msrkzyk1v
80.150.22.104     msrkzyk2v
 
#scan
80.150.22.105      msrkscan
1、[root@node-1 ~]# crs_stop -all
[root@node-1 ~]# crsctl stop crs -f #强制停止
2、修改服务器的物理ip
3、然后再vi修改/etc/hosts文件
4、重新配置免密ssh
5、启动crs
1
[root@msrkzyk2 ~]# /u01/grid/11.2/bin/crsctl start crs
注意:这里如果是按照我上面关闭crs的操作,正常数据库和监听是没有启动的,对应target和state都应该是offline:
1
2
3
4
5
6
ora.LISTENER.lsnr
               OFFLINE OFFLINE      msrkzyk1                           
               OFFLINE OFFLINE      msrkzyk2      
ora.msrkzyk.db
      1        OFFLINE OFFLINE                    Instance Shutdown
      2        OFFLINE OFFLINE                    Instance Shutdown
6、修改Public IP,VIP,SCAN VIP
6.1 修改Public IP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@msrkzyk1 ~]# find / -name oifcfg #查找命令
/u01/grid/11.2/bin/oifcfg getif 
 
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/oifcfg getif #查看ip
eno1  80.150.20.0  global  public
eno2  172.168.1.0  global  cluster_interconnect
 
#节点一设置ip,删除ip 设置ip
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/oifcfg delif -global eno1  #删除原public ip
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/oifcfg setif -global eno1/80.150.22.0:public  #设置新public ip
#两个节点查看ip
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/oifcfg getif
eno2  172.168.1.0  global  cluster_interconnect
eno1  80.150.22.0  global  public
[root@msrkzyk2 ~]# /u01/grid/11.2/bin/oifcfg getif
eno2  172.168.1.0  global  cluster_interconnect
eno1  80.150.22.0  global  public
6.2 修改VIP
需要停止数据库、监听和vip,目前数据库和监听、vip都是停止的查看命令grid用户
1
srvctl stop vip -n msrkzyk1 #停止命令
#单独查看
#或者
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[grid@msrkzyk1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       msrkzyk1                                    
               ONLINE  ONLINE       msrkzyk2                                    
ora.DATA.dg
               ONLINE  ONLINE       msrkzyk1                                    
               ONLINE  ONLINE       msrkzyk2                                    
ora.FRA.dg
               ONLINE  ONLINE       msrkzyk1                                    
               ONLINE  ONLINE       msrkzyk2                                    
ora.LISTENER.lsnr
               OFFLINE OFFLINE      msrkzyk1                                    
               OFFLINE OFFLINE      msrkzyk2                                    
ora.PIC.dg
               ONLINE  ONLINE       msrkzyk1                                    
               ONLINE  ONLINE       msrkzyk2                                    
ora.asm
               ONLINE  ONLINE       msrkzyk1                 Started            
               ONLINE  ONLINE       msrkzyk2                 Started            
ora.gsd
               OFFLINE OFFLINE      msrkzyk1                                    
               OFFLINE OFFLINE      msrkzyk2                                    
ora.net1.network
               ONLINE  OFFLINE      msrkzyk1                                    
               ONLINE  OFFLINE      msrkzyk2                                    
ora.ons
               ONLINE  OFFLINE      msrkzyk1                                    
               ONLINE  OFFLINE      msrkzyk2                                    
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        OFFLINE OFFLINE                                                  
ora.cvu
      1        OFFLINE OFFLINE                                                  
ora.msrkzyk.db
      1        OFFLINE OFFLINE                               Instance Shutdown  
      2        OFFLINE OFFLINE                               Instance Shutdown  
ora.msrkzyk1.vip
      1        OFFLINE OFFLINE                                                  
ora.msrkzyk2.vip
      1        OFFLINE OFFLINE                                                  
ora.oc4j
      1        OFFLINE OFFLINE                                                  
ora.scan1.vip
      1        OFFLINE OFFLINE
查看当前vip设置 grid用户
1
2
3
4
5
6
7
[grid@msrkzyk1 ~]$ olsnodes -s
msrkzyk1        Active
msrkzyk2        Active
[grid@msrkzyk1 ~]$ srvctl config vip -n msrkzyk1
VIP exists: /msrkzyk1v/80.150.22.103/80.150.20.0/255.255.255.0/eno1, hosting node msrkzyk1
[grid@msrkzyk1 ~]$ srvctl config vip -n msrkzyk2
VIP exists: /msrkzyk2v/80.150.22.104/80.150.20.0/255.255.255.0/eno1, hosting node msrkzyk2
修改vip设置 root 用户
1
2
3
4
5
[root@msrkzyk1 ~]# find / -name srvctl
/u01/grid/11.2/bin/srvctl
 
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/srvctl modify nodeapps -n msrkzyk1 -A 80.150.22.103/255.255.255.0/eno1
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/srvctl modify nodeapps -n msrkzyk2 -A 80.150.22.104/255.255.255.0/eno1
再次验证vip设置
1
2
3
4
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/srvctl config vip -n msrkzyk1
VIP exists: /msrkzyk1v/80.150.22.103/80.150.22.0/255.255.255.0/eno1, hosting node msrkzyk1
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/srvctl config vip -n msrkzyk2
VIP exists: /msrkzyk2v/80.150.22.104/80.150.22.0/255.255.255.0/eno1, hosting node msrkzyk2
启动vip、grid用户
1
2
3
4
5
6
7
8
9
10
[root@msrkzyk1 ~]# su - grid
Last login: Tue Sep  7 14:52:57 CST 2021 on pts/1
[grid@msrkzyk1 ~]$ srvctl start vip -n msrkzyk1
[grid@msrkzyk1 ~]$ srvctl start vip -n msrkzyk2
[grid@msrkzyk1 ~]$ srvctl status vip -n msrkzyk1
VIP msrkzyk1v is enabled
VIP msrkzyk1v is running on node: msrkzyk1
[grid@msrkzyk1 ~]$ srvctl status vip -n msrkzyk2
VIP msrkzyk2v is enabled
VIP msrkzyk2v is running on node: msrkzyk2
启动监听
1
2
3
4
[grid@msrkzyk1 ~]$ srvctl start listener
[grid@msrkzyk1 ~]$ srvctl status LISTENER
Listener LISTENER is enabled
Listener LISTENER is running on node(s): msrkzyk2,msrkzyk1
启动数据库
1
2
3
4
[grid@msrkzyk1 ~]$ srvctl start database -d msrkzyk
[grid@msrkzyk1 ~]$ srvctl status database -d msrkzyk
Instance msrkzyk1 is running on node msrkzyk1
Instance msrkzyk2 is running on node msrkzyk2
4、检查local_listener信息,不正确就需要修改(我这儿对的不用修改)
1
2
3
4
5
6
7
8
9
10
[oracle@msrkzyk1 ~]$ sqlplus / as sysdba
 
SQL> show parameter local_listener
 
NAME           TYPE                 VALUE
--------      ---------     ----------------
local_listener  string   (ADDRESS=(PROTOCOL=TCP)(HOST=80.150.22.103)(PORT=1521))
#修改的命令
alter system set local_listenner='(ADDRESS=(PROTOCOL=TCP)(HOST=80.150.22.103)(PORT=1521))' sid='msrkzyk1';
alter system set local_listenner='(ADDRESS=(PROTOCOL=TCP)(HOST=80.150.22.104)(PORT=1521))' sid='msrkzyk2';
5、修改scan vip
查看scan vip的配置 grid用户
1
2
3
4
[root@msrkzyk1 ~]# su - grid
[grid@msrkzyk1 ~]$ srvctl config scan
SCAN name: msrkscan, Network: 1/80.150.22.0/255.255.255.0/eno1
SCAN VIP name: scan1, IP: /msrkscan/80.150.20.105
停止scan_listener和scan资源
1
2
[grid@msrkzyk1 ~]$ srvctl stop scan_listener
[grid@msrkzyk1 ~]$ srvctl stop scan
--确认已经停止
1
2
3
4
5
6
[grid@msrkzyk1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is not running
[grid@msrkzyk1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
使用root用户修改scan vip
1
[root@msrkzyk1 ~]# /u01/grid/11.2/bin/srvctl modify scan -n msrkscan
注意:root用户执行修改,且确认/etc/hosts映射关系已经修改为新的scan VIP。

修改并启动资源库 grid用户

1
2
[grid@msrkzyk1 ~]$ srvctl modify scan_listener -u
[grid@msrkzyk1 ~]$ srvctl start scan_listener
注意:执行后确认scan_listener和scan都已经启动
1
2
3
4
5
6
[grid@msrkzyk1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node msrkzyk1
[grid@msrkzyk1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node msrkzyk1
确认修改成功
1
2
3
4
5
[grid@msrkzyk1 ~]$ srvctl config scan
SCAN name: msrkscan, Network: 1/80.150.22.0/255.255.255.0/eno1
SCAN VIP name: scan1, IP: /msrkscan/80.150.22.105
[grid@msrkzyk1 ~]$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
6、验证整个集群

  

  

  

  

posted @   苍茫宇宙  阅读(703)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示