Thank you very much for your interest. In this article I will walk you through various network interfaces and their usage in ODA nodes. Hope you will learn some architectural background of ODA system.
Most linux system boots with run level 3 which is multi user mode without GUI.To check your current run level in linux system use who -r command from root user.
Use below command to find startup script under run level 3
ls -ltr /etc/rc.d/rc3.d | sort -k 9
lrwxrwxrwx. 1 root root 17 Jul 17 10:57 K85opensmd -> ../init.d/opensmd
lrwxrwxrwx. 1 root root 17 Jul 17 11:37 S10network -> ../init.d/network
-rwx------. 1 root root 519 Feb 14 2025 S90asr-start
lrwxrwxrwx 1 root root 15 Jul 17 13:09 S96afd -> /etc/init.d/afd
lrwxrwxrwx 1 root root 17 Jul 17 13:08 S96ohasd -> /etc/init.d/ohasd
Please pay attention to the softlink name here.Link which starts with K are kill scriptts it implies before it is rebooted kill scripts are executed but here we are interested to explore startup scripts which start with S.
1st script which starts during startup is network which helps to bring up all network interface.Now here is an important observation.All network scripts are placed under /etc/sysconfig/network-scripts directory and can be found like below
ls -ltr /etc/sysconfig/network-scripts/ifcfg*
-rw-r--r--. 1 root root 264 Oct 10 07:08 /etc/sysconfig/network-scripts/ifcfg-lo
-rw-r--r-- 1 root root 160 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-em1
-rw-r--r-- 1 root root 195 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-p1p1
-rw-r--r-- 1 root root 195 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-p1p2
-rw-r--r-- 1 root root 186 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-p5p1
-rw-r--r-- 1 root root 186 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-p4p1
-rw-r--r-- 1 root root 270 Oct 10 07:26 /etc/sysconfig/network-scripts/ifcfg-icbond0
-rw-r--r-- 1 root root 139 Oct 10 07:51 /etc/sysconfig/network-scripts/ifcfg-pubnet
-rw-r--r-- 1 root root 471 Oct 10 07:52 /etc/sysconfig/network-scripts/ifcfg-icbond0.100
-rw-r--r-- 1 root root 122 Oct 10 07:52 /etc/sysconfig/network-scripts/ifcfg-privasm
-rw-r--r-- 1 root root 218 Oct 10 07:52 /etc/sysconfig/network-scripts/ifcfg-btbond1
-rw-r--r-- 1 root root 323 Oct 10 09:02 /etc/sysconfig/network-scripts/ifcfg-btbond2
-rw-r--r-- 1 root root 366 Oct 10 09:04 /etc/sysconfig/network-scripts/ifcfg-p5p2
-rw-r--r-- 1 root root 366 Oct 10 09:04 /etc/sysconfig/network-scripts/ifcfg-p4p2
Same can be validated like below using command
ip a
Now if we use below command find the networks used by oda we only find below
odacli list-networks
ID Name NIC Interface Type Subnet Mask Gateway VLAN ID Node Networks
-------------------------------------- -------------------- ------------ --------------- ------------------ ------------------ -------- ---------------------------------------------------------------------------
xxxxxx Public-network pubnet BRIDGE 255.255.254.0 10.xx.xx.xx [IP Address on node0: 10.xx.xx.xx, IP Address on node1: 10.xx.xx.xx]
xxxxxx Private-network icbond0 INTERNAL 255.255.255.0 [IP Address on node0: 192.xx.xx.xx, IP Address on node1: 192.xx.xx.xx]
xxxxxx storage btbond2 BOND 255.255.254.0 10.xx.xx.xx 100 [IP Address on node0: 10.xx.xx.xx, IP Address on node1: 10.xx.xx.xx]
xxxxxxx ASM-network privasm BRIDGE 255.255.255.128 [IP Address on node0: 192.xx.xx.xx, IP Address on node1: 192.xx.xx.xx]
So we see there are only four interface.
pubnet:-
Lets explore interface pubnet whose property can be found in
/etc/sysconfig/network-scripts/ifcfg-pubnet which will have a static public address.
There are 2 more virtual interface pubnet:1 which maps to VIP and pubnet:2 which maps to SCAN IP
Local listener uses this public-ip in one of the address list.
Now what is VIP then?
Scan listener forwards connection request to Local listener using this node level VIP.Basically this is kind of network abstraction where application can connect without using actual public ip.
Now here is an interesting thing to understand.pubnet and btbond1 refers to same mac address which means btbond1 is the name used by kernel and pubnet is user defined name.
use ifcconfig btbond1 command to find TX packets statistics which says amount of data transmitted and RX packets statistics which says about amount of data received
icbond0:-
Property of this interface can be found in /etc/sysconfig/network-scripts/ifcfg-icbond0.This is a bonded interface for supporting network traffic between rac nodes and connect two physical network interface
called p1p1 (active) and p1p2(passive).
you can see below line to find which one is active interface
BONDING_OPTS="mode=active-backup miimon=100 primary=p1p1"
This is a high speed network interface of 25 GB/sec and can be verified like below
ethtool icbond0
btbond2:-
Property of this interface can be found in /etc/sysconfig/network-scripts/ifcfg-btbond2 .This is also a bonded interface which has active interface p5p2.This is a high speed network interface of 25 GB/sec and can be verified like below
ethtool p5p2
privasm:-
Property of this interface can be found in /etc/sysconfig/network-scripts/ifcfg-privasm.This interface is solely used by ASM which you can validate using below command
ifconfig privasm
privasm: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
inet 192.xx.xx.xx netmask 255.255.255.128 broadcast 192.xx.xx.xx
ether xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 15502 bytes 2170494 (2.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16361 bytes 2351497 (2.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lsnrctl status ASMNET1LSNR_ASM
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-OCT-2025 23:22:07
Copyright (c) 1991, 2024, 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 10-OCT-2025 09:08:02
Uptime 6 days 14 hr. 14 min. 4 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.26.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/tuslpmdmoda04a/asmnet1lsnr_asm/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ASMNET1LSNR_ASM)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.xx.xx.xx)(PORT=1525)))
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_DATA" 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_RECO" 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
Hope you have learnt some useful topics about network interface...
Happy learning...