[제목]
[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
'Oracle > RAC' 카테고리의 다른 글
| [2025-05-18] RAC에서 Voting Disk replace 실습 (12cR2) (0) | 2025.10.07 |
|---|---|
| [2025-05-29] Interconnect Private IP 정보 변경(네트워크 인터페이스명 변경) (12cR2) (0) | 2025.09.28 |
| [2025-06-06] RAC환경에서 로컬 파일 시스템에 데이터 파일을 잘못 만든 후 ASM 영역으로 move하는 방법 (19c) (2) | 2025.08.15 |
| [2025-05-31] RAC환경에서 Cluster Name 변경 (12cR2) (0) | 2025.07.18 |
| [2025-05-31] RAC환경에서 Scan Name 변경 (12cR2) (0) | 2025.07.18 |