반응형
■ [2025-10-09] Oracle 19c 2 Node RAC 환경에서 Interconnect Private IP의 대역을 바꾸는 작업

 

[제목]

[2025-10-09] Oracle 19c 2 Node RAC 환경에서 Interconnect Private IP의 대역을 바꾸는 작업

 

[테스트 개요]

Private IP를 10.0.3.0 대역에서 10.0.2.0 대역으로 바꿀 것임

 

[테스트 환경]

OS : Oracle Linux Server 8.10 (grep ^PRETTY_NAME= /etc/os-release | cut -d= -f2- | tr -d '"')
OS Kernal : 5.15.0-206.153.7.1.el8uek.x86_64 (uname -r)
Oracle Version : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production (echo -e "set pages 0 lines 200 feedback off heading off\nselect banner from v\$version where banner like 'Oracle Database%';" | sqlplus -s / as sysdba)

 

Oracle Configuration
    DB명 : ORA19RF (echo -e 'set pages 0 feedback off heading off verify off\nselect '\''DB명 : '\''||name from v$database;' | sqlplus -s / as sysdba) '
  RAC Node 1
   Hostname : ol8ora19rf1 (hostname)
   Public IP : 192.168.240.31 (getent ahostsv4 `hostname` | awk '{print $1; exit}')
   Instance Name : ORA19RF1 (echo -e 'set pages 0 feedback off heading off verify off\nselect '\''Instance Name : '\''||instance_name from v$instance;' | sqlplus -s / as sysdba) '
  RAC Node 2
   Hostname : ol8ora19rf2
(hostname)
   Public IP : 192.168.240.32 (getent ahostsv4 `hostname` | awk '{print $1; exit}')
   Instance Name : ORA19RF2 (echo -e 'set pages 0 feedback off heading off verify off\nselect '\''Instance Name : '\''||instance_name from v$instance;' | sqlplus -s / as sysdba) '
Patch Info
 Grid (opatch lspatches) (grid os user)
  38124772;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38124772)
  37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
  37962938;ACFS RELEASE UPDATE 19.28.0.0.0 (37962938)
  37960098;Database Release Update : 19.28.0.0.250715 (37960098)
  36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)

 Oracle (opatch lspatches) (oracle os user)
  37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
  37960098;Database Release Update : 19.28.0.0.250715 (37960098)

 

[내용]

 

1. gpnp 프로파일 백업


GPNP 프로파일(profile.xml)은 GI가 “부팅할 때 어디로, 무엇으로” 올라갈지를 알려주는 부트스트랩 정보라서, 인터커넥트 대역처럼 핵심 네트워크 값을 바꾸기 전엔 반드시 백업해야함

 

<부팅 의존성>
OHASD가 올라오면서 GPnP 데몬이 이 profile.xml을 읽어 클러스터 네트워크(공용/사설 서브넷 매핑, oifcfg 반영값), ASM 접근 정보(ASM 디스커버리/ASM SPFILE 위치) 등을 알아내고, 이를 토대로 ASM→OCR/CSS 순서로 기동함
이 파일이 틀리면 CSS/CRS가 부팅 단계에서 멈추거나 분할 브레인 방지용 인터커넥트를 못 찾는 상황이 발생

 

<oifcfg 변경의 파급>
oifcfg setif/delif 같은 네트워크 정의 변경은 GPnP 프로파일에도 반영딤
잘못 넣으면 사설망 인식 실패(서브넷/IF 매칭 오류) 로 노드가 CRS-xxxx 에러와 함께 못 올라올 수 있음

 

<복구 안전장치>
만약 두 노드 모두에 잘못된 설정을 반영하면, 정상 노드에서 자동 동기화로 되살릴 수도 없음
이때 정상 동작하던 시점의 profile.xml 백업이 있어야, 단일 사용자 모드나 OS 레벨에서 파일만 되돌려 즉시 롤백 가능
(특히 OCR/ASM은 건드리지 않고 네트워크만 원복 가능).

 

--양쪽 노드 모두 백업해야함

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ cp $GRID_HOME/gpnp/`hostname`/profiles/peer/profile.xml $GRID_HOME/gpnp/`hostname`/profiles/peer/profile.xml.bak.20251008

 

--2번 노드
[+ASM2:grid@ol8ora19rf2][/home/grid]$ cp $GRID_HOME/gpnp/`hostname`/profiles/peer/profile.xml $GRID_HOME/gpnp/`hostname`/profiles/peer/profile.xml.bak.20251008

 

2. 기존 Private 네트워크 확인

 

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ which oifcfg
/u01/app/19c/grid/bin/oifcfg

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224  10.0.3.0  global  cluster_interconnect,asm
--> 현재 private network인 ens224는 10.0.3.0 대역을 사용하고 있음


[+ASM1:grid@ol8ora19rf1][/home/grid]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.31  netmask 255.255.255.0  broadcast 192.168.240.255
        inet6 fe80::20c:29ff:feb6:b1eb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b6:b1:eb  txqueuelen 1000  (Ethernet)
        RX packets 3208  bytes 284551 (277.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4593  bytes 573969 (560.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens160:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.34  netmask 255.255.255.0  broadcast 192.168.240.255
        ether 00:0c:29:b6:b1:eb  txqueuelen 1000  (Ethernet)

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet
10.0.3.31
  netmask 255.255.255.0  broadcast 10.0.3.255
        inet6 fe80::20c:29ff:feb6:b1f5  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b6:b1:f5  txqueuelen 1000  (Ethernet)
        RX packets 69418  bytes 65932429 (62.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 94228  bytes 98964651 (94.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
--> 1번 노드의 private ip는 10.0.3.31임

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 17698  bytes 6362419 (6.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17698  bytes 6362419 (6.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

--2번 노드
[+ASM2:grid@ol8ora19rf2][/home/grid]$ which oifcfg
/u01/app/19c/grid/bin/oifcfg
[+ASM2:grid@ol8ora19rf2][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224 
10.0.3.0
  global  cluster_interconnect,asm
--> 현재 private network인 ens224는 10.0.3.0 대역을 사용하고 있음

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.32  netmask 255.255.255.0  broadcast 192.168.240.255
        inet6 fe80::250:56ff:fe37:a6a9  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:37:a6:a9  txqueuelen 1000  (Ethernet)
        RX packets 1002  bytes 96700 (94.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1588  bytes 210981 (206.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens160:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.35  netmask 255.255.255.0  broadcast 192.168.240.255
        ether 00:50:56:37:a6:a9  txqueuelen 1000  (Ethernet)

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet
10.0.3.32
  netmask 255.255.255.0  broadcast 10.0.3.255
        inet6 fe80::250:56ff:fe22:b7e8  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:22:b7:e8  txqueuelen 1000  (Ethernet)
        RX packets 94922  bytes 100293829 (95.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70311  bytes 66581354 (63.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
--> 1번 노드의 private ip는 10.0.3.32임

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 10547  bytes 4162915 (3.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10547  bytes 4162915 (3.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


3. 새로운 Private IP 대역 정보를 입력

 

--한쪽 노드에서만 작업하면됨

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ which oifcfg
/u01/app/19c/grid/bin/oifcfg

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg setif -global ens224/10.0.2.0:cluster_interconnect,asm

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224  10.0.3.0  global  cluster_interconnect,asm
ens224  10.0.2.0  global  cluster_interconnect,asm
--> ens224에 대해서 10.0.2.0을 cluster_interconnect,asm 용으로 추가함


4. ASM 리스너 정보 확인

 

<ASM 리스너의 역할>
ASM 리스너는 기본적으로 Private Network를 사용함
ASMNET1LSNR_ASM(ASM 리스너): DB/CRS/관리도구의 ASM 관련 연결만 받음(사용자 SQL 세션 X)
Flex ASM 구성(12c+) 은 DB 인스턴스가 로컬에 ASM이 없어도 원격 노드의 ASM 인스턴스에 네트워크로 붙어 디스크그룹을 사용
DB인스턴스는 ASMB 백그라운드 프로세스가 GPnP/Clusterware를 통해 ASM을 자동 발견해서 붙음

 

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ ps -ef | grep tn
root         6     2  0 19:30 ?        00:00:00 [netns]
grid      2388   529  0 20:12 pts/1    00:00:00 grep --color=auto tn
grid      4135   528  0 19:50 ?        00:00:01 bash -c while true; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n
2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file-nr /proc/sys/kernel/hostname; tail -v -n 16 /proc/net/dev;echo '==> /proc/df <==';df -l;echo '==> /proc/who <==';who;echo '==> /proc/end <==';echo '##Moba##'; done
grid      4594     1  0 19:31 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
grid      4752     1  0 19:31 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit

[+ASM1:grid@ol8ora19rf1][/home/grid]$ lsnrctl status ASMNET1LSNR_ASM
--> asm 리스너 정보 확인

 

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-OCT-2025 20:12:24

Copyright (c) 1991, 2025, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM)))
STATUS of the LISTENER
------------------------
Alias                     ASMNET1LSNR_ASM
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-OCT-2025 19:31:34
Uptime                    0 days 0 hr. 40 min. 50 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ol8ora19rf1/asmnet1lsnr_asm/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM)))
 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.3.31)(PORT=1525)))
--> 현재 10.0.3.31:1525로 asm리스너 구동 중
Services Summary...
Service "+ASM" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_CRS" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
The command completed successfully


--2번 노드
[+ASM2:grid@ol8ora19rf2][/home/grid]$ ps -ef | grep tn
root         6     2  0 19:38 ?        00:00:00 [netns]
grid       570  5011  0 20:13 ?        00:00:00 bash -c while true; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file-nr /proc/sys/kernel/hostname; tail -v -n 16 /proc/net/dev;echo '==> /proc/df <==';df -l;echo '==> /proc/who <==';who;echo '==> /proc/end <==';echo '##Moba##'; done
grid      1166  5031  0 20:14 pts/0    00:00:00 grep --color=auto tn
grid      3922     1  0 19:38 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid      4055     1  0 19:38 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ lsnrctl status ASMNET1LSNR_ASM

--> asm 리스너 정보 확인

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-OCT-2025 20:14:16

Copyright (c) 1991, 2025, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM)))
STATUS of the LISTENER
------------------------
Alias                     ASMNET1LSNR_ASM
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-OCT-2025 19:39:00
Uptime                    0 days 0 hr. 35 min. 15 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ol8ora19rf2/asmnet1lsnr_asm/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM)))
 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.3.32)(PORT=1525)))
--> 현재 10.0.3.31:1525로 asm리스너 구동 중

Services Summary...
Service "+ASM" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_CRS" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_DATA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_FRA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
The command completed successfully

 

5. ASM 리스너 추가

 

--한쪽노드에서만 작업

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ which srvctl
/u01/app/19c/grid/bin/srvctl

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl add listener -asmlistener -listener ASMNET1LSNR_ASM_NEW -subnet 10.0.2.0
--> 새로운 ASM리스너 추가

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asm
ASM home: <CRS home>
Password file: +CRS/orapwASM
Backup of Password file: +CRS/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM,
ASMNET1LSNR_ASM_NEW_ASM
--> 지정한 네임에서 끝에 _ASM을 자동으로 붙여줌

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config listener -asmlistener
Name: ASMNET1LSNR_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.0.3.0
Home: <CRS home>
End points: TCP:1525
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:
Name: ASMNET1LSNR_ASM_NEW_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.0.2.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:

 

6. 기존 ASM 리스너 삭제

 

--한쪽노드에서만 작업

--1번 노드

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl update listener -listener ASMNET1LSNR_ASM -asm -remove -force

 

--기존 ASM 리스너 삭제 후 확인
[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asm
ASM home: <CRS home>
Password file: +CRS/orapwASM
Backup of Password file: +CRS/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM_NEW_ASM

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config listener -asmlistener
Name: ASMNET1LSNR_ASM_NEW_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.0.2.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:


7. 양쪽 노드 모두 내림

 

--1번 노드
[root@ol8ora19rf1][/root]$ crsctl stop crs

 

--2번 노드
[root@ol8ora19rf2][/root]$ crsctl stop crs

 

8. /etc/hosts 수정

 

--1번 노드
[root@ol8ora19rf1][/root]$ vi /etc/hosts
[root@ol8ora19rf1][/root]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
### Public IP
192.168.240.31  ol8ora19rf1
192.168.240.32  ol8ora19rf2

### Private IP
#10.0.3.31   ol8ora19rf1-priv
#10.0.3.32   ol8ora19rf2-priv

10.0.2.31   ol8ora19rf1-priv
10.0.2.32   ol8ora19rf2-priv

### Virtual IP
192.168.240.34  ol8ora19rf1-vip
192.168.240.35  ol8ora19rf2-vip

### DNS
192.168.240.37  ol8ora19rf-scan
192.168.240.38  ol8ora19rf-scan
192.168.240.39  ol8ora19rf-scan


--2번 노드
[root@ol8ora19rf2][/root]$ vi /etc/hosts
[root@ol8ora19rf2][/root]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
### Public IP
192.168.240.31  ol8ora19rf1
192.168.240.32  ol8ora19rf2

### Private IP
#10.0.3.31   ol8ora19rf1-priv
#10.0.3.32   ol8ora19rf2-priv

10.0.2.31   ol8ora19rf1-priv
10.0.2.32   ol8ora19rf2-priv

### Virtual IP
192.168.240.34  ol8ora19rf1-vip
192.168.240.35  ol8ora19rf2-vip

### DNS
192.168.240.37  ol8ora19rf-scan
192.168.240.38  ol8ora19rf-scan
192.168.240.39  ol8ora19rf-scan

 

9. OS의 네트워크 IP 변경

 

--1번 노드
[root@ol8ora19rf1][/root]$ vi /etc/sysconfig/network-scripts/ifcfg-ens224
[root@ol8ora19rf1][/root]$ cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=ens224
UUID=cfe7f775-8cd9-4c83-9555-566004c3a006
DEVICE=ens224
ONBOOT=yes
#IPADDR=10.0.3.31
IPADDR=10.0.2.31
PREFIX=24

 

[root@ol8ora19rf1][/root]$ nmcli con show ens224 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         10.0.3.31/24
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.link-local:                        0 (default)
ipv4.dhcp-reject-servers:               --

 

--OS의 Private IP를 바꿔줌
[root@ol8ora19rf1][/root]$ nmcli con mod ens224 ipv4.addresses 10.0.2.31/24
[root@ol8ora19rf1][/root]$ nmcli con mod ens224 ipv4.method manual
[root@ol8ora19rf1][/root]$ nmcli con up ens224

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@ol8ora19rf1][/root]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.31  netmask 255.255.255.0  broadcast 192.168.240.255
        inet6 fe80::20c:29ff:feb6:b1eb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b6:b1:eb  txqueuelen 1000  (Ethernet)
        RX packets 217246  bytes 306525796 (292.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 57660  bytes 4869304 (4.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       
inet 10.0.2.31
  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::20c:29ff:feb6:b1f5  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b6:b1:f5  txqueuelen 1000  (Ethernet)
        RX packets 270526  bytes 265472344 (253.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 292062  bytes 296042879 (282.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 57856  bytes 15305652 (14.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 57856  bytes 15305652 (14.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


--2번 노드
[root@ol8ora19rf2][/root]$ vi /etc/sysconfig/network-scripts/ifcfg-ens224
[root@ol8ora19rf2][/root]$ cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=ens224
UUID=cfe7f775-8cd9-4c83-9555-566004c3a006
DEVICE=ens224
ONBOOT=yes
#IPADDR=10.0.3.32
IPADDR=10.0.2.32
PREFIX=24


[root@ol8ora19rf2][/root]$ nmcli con show ens224 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         10.0.3.32/24
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.link-local:                        0 (default)
ipv4.dhcp-reject-servers:               --

 

--OS의 Private IP를 바꿔줌
[root@ol8ora19rf2][/root]$ nmcli con mod ens224 ipv4.addresses 10.0.2.32/24
[root@ol8ora19rf2][/root]$ nmcli con mod ens224 ipv4.method manual
[root@ol8ora19rf2][/root]$ nmcli con up ens224
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

[root@ol8ora19rf2][/root]$ ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.240.32  netmask 255.255.255.0  broadcast 192.168.240.255
        inet6 fe80::250:56ff:fe37:a6a9  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:37:a6:a9  txqueuelen 1000  (Ethernet)
        RX packets 263040  bytes 390144062 (372.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 45133  bytes 2944700 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       
inet 10.0.2.32
  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::250:56ff:fe22:b7e8  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:22:b7:e8  txqueuelen 1000  (Ethernet)
        RX packets 291972  bytes 297247663 (283.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 270367  bytes 264326594 (252.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48729  bytes 13246786 (12.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48729  bytes 13246786 (12.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


10. 양쪽 노드 CRS 시작


[root@ol8ora19rf1][/root]$ crsctl start crs
CRS-4123: Oracle High Availability Services has been started.


[root@ol8ora19rf2][/root]$ crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

 

11. 기존 Private 정보 삭제

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224  10.0.3.0  global  cluster_interconnect,asm
ens224  10.0.2.0  global  cluster_interconnect,asm

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg delif -global ens224/10.0.3.0

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224  10.0.2.0  global  cluster_interconnect,asm


12. asmnetwork 정보 변경

 

--한쪽 노드에서만 작업

 

--1번 노드의 asmnetwork 정보 확인
[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asmnetwork
ASM network 1 exists
Subnet IPv4: 10.0.3.0//
Subnet IPv6:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:

 

--2번 노드의 asmnetwork 정보 확인
[+ASM2:grid@ol8ora19rf2][/home/grid]$ srvctl config asmnetwork
ASM network 1 exists
Subnet IPv4: 10.0.3.0//
Subnet IPv6:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:

 

--1번 노드에서 root os user로 실행
[root@ol8ora19rf1][/root]$ srvctl remove asmnetwork -netnum 1
--> -netnum 1을 제거

 

--1번 노드의 asmnetwork 정보 확인
[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asmnetwork
PRCN-2045 : No network exists

 

--2번 노드의 asmnetwork 정보 확인

[+ASM2:grid@ol8ora19rf2][/home/grid]$ srvctl config asmnetwork
PRCN-2045 : No network exists

 

-- 10.0.2.0 대역으로 netnum 1 추가

--1번 노드에서 root os user로 실행
[root@ol8ora19rf1][/root]$ srvctl add asmnetwork -netnum 1 -subnet 10.0.2.0


[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asmnetwork
ASM network 1 exists
Subnet IPv4: 10.0.2.0//
Subnet IPv6:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ srvctl config asmnetwork
ASM network 1 exists
Subnet IPv4: 10.0.2.0//
Subnet IPv6:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:


13. 최종 상태 확인

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ alias csrt
alias csrt='crsctl stat res -t'
[+ASM1:grid@ol8ora19rf1][/home/grid]$ csrt
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol8ora19rf1              STABLE
               ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.chad
               ONLINE  ONLINE       ol8ora19rf1              STABLE
               ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.net1.network
               ONLINE  ONLINE       ol8ora19rf1              STABLE
               ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.ons
               ONLINE  ONLINE       ol8ora19rf1              STABLE
               ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ol8ora19rf1              STABLE
               OFFLINE OFFLINE      ol8ora19rf2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM_NEW_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ol8ora19rf1              STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.CRS.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol8ora19rf1              STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.DATA1.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol8ora19rf1              STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.FRA1.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ol8ora19rf1              STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.LISTENER_SCAN1.lsnr
      1        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN2.lsnr
      1        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN3.lsnr
      1        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ol8ora19rf1              Started,STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        OFFLINE OFFLINE                               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        OFFLINE OFFLINE                               STABLE
ora.ol8ora19rf1.vip
      1        ONLINE  ONLINE       ol8ora19rf1              STABLE
ora.ol8ora19rf2.vip
      1        ONLINE  ONLINE       ol8ora19rf2              STABLE
ora.ora19rf.db
      1        ONLINE  ONLINE       ol8ora19rf1              Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       ol8ora19rf2              Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.qosmserver
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        OFFLINE OFFLINE                               STABLE
ora.scan2.vip
      1        OFFLINE OFFLINE                               STABLE
ora.scan3.vip
      1        OFFLINE OFFLINE                               STABLE
--------------------------------------------------------------------------------

 

--1번 노드
[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config asm
ASM home: <CRS home>
Password file: +CRS/orapwASM
Backup of Password file: +CRS/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM_NEW_ASM

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ srvctl config listener -asmlistener
Name: ASMNET1LSNR_ASM_NEW_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.0.2.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:


--2번 노드
[+ASM2:grid@ol8ora19rf2][/home/grid]$ srvctl config asm
ASM home: <CRS home>
Password file: +CRS/orapwASM
Backup of Password file: +CRS/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM_NEW_ASM

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ srvctl config listener -asmlistener
Name: ASMNET1LSNR_ASM_NEW_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.0.2.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:


[+ASM1:grid@ol8ora19rf1][/home/grid]$ ps -ef | grep tns
root         6     2  0 19:30 ?        00:00:00 [netns]
grid      2160     1  0 20:36 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr ASMNET1LSNR_ASM_NEW_ASM -no_crs_notify -inherit
grid      2374     1  0 20:36 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid      8227   529  0 20:43 pts/1    00:00:00 grep --color=auto tns

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ lsnrctl status ASMNET1LSNR_ASM_NEW_ASM

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-OCT-2025 20:43:43

Copyright (c) 1991, 2025, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM_NEW_ASM)))
STATUS of the LISTENER
------------------------
Alias                     ASMNET1LSNR_ASM_NEW_ASM
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-OCT-2025 20:36:35
Uptime                    0 days 0 hr. 7 min. 7 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ol8ora19rf1/asmnet1lsnr_asm_new_asm/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM_NEW_ASM)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.2.31)(PORT=1526)))
Services Summary...
Service "+ASM" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_CRS" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 2 handler(s) for this service...
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
The command completed successfully

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ ps -ef | grep tns
root         6     2  0 19:38 ?        00:00:00 [netns]
grid      4148     1  0 20:36 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid      4292     1  0 20:36 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr ASMNET1LSNR_ASM_NEW_ASM -no_crs_notify -inherit
grid      9650  5031  0 20:44 pts/0    00:00:00 grep --color=auto tns

 

[+ASM2:grid@ol8ora19rf2][/home/grid]$ lsnrctl status ASMNET1LSNR_ASM_NEW_ASM

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-OCT-2025 20:44:09

Copyright (c) 1991, 2025, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM_NEW_ASM)))
STATUS of the LISTENER
------------------------
Alias                     ASMNET1LSNR_ASM_NEW_ASM
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-OCT-2025 20:36:46
Uptime                    0 days 0 hr. 7 min. 22 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ol8ora19rf2/asmnet1lsnr_asm_new_asm/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM_NEW_ASM)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.2.32)(PORT=1526)))
Services Summary...
Service "+ASM" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_CRS" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_DATA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
Service "+ASM_FRA1" has 2 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
  Instance "+ASM2", status READY, has 2 handler(s) for this service...
The command completed successfully

 

[+ASM1:grid@ol8ora19rf1][/home/grid]$ oifcfg getif
ens160  192.168.240.0  global  public
ens224  10.0.2.0  global  cluster_interconnect,asm


 

반응형

+ Recent posts