Subscriber Count

    466

Subscribe to Posts by Email

Pages

12c Database : IPV6 and IPV4 support for Clusterware

Hi,

Before starting again, see following if you are not aware of what is IPV4 and IPV6 formats of IP Address.

image

The screenshot above is my desktop ipconfig command, if you see the IPV4 address in yellow box, in format of 115.242.106.9, on other hand in red box the ipv6 format is some hexadecimal value. I am not pure network guy to explain in detailed about both of these formats, lets keep it simple for more security ipv6 is used.

Back to post,

Until 11g, Oracle Clusterware network can use only IPV4 format, IPV6 format is restricted. But from 12c onwards we can can have both.

# check the network subnet for cluster
[root@Geek DBA12c-rac1 ~]# oifcfg getif
eth1  192.168.1.0  global  cluster_interconnect
eth0  192.168.56.0  global  public

#check the network resource on cluster
[root@Geek DBA12c-rac1 ~]# srvctl config network
Network 1 exists
Subnet IPv4: 192.168.56.0/255.255.255.0/, static
Subnet IPv6:

#check the scan status and usage of subnets and eth
[root@Geek DBA12c-rac1 ~]# srvctl config scan
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6:
SCAN 0 IPv4 VIP: 192.168.56.105
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6:
SCAN 1 IPv4 VIP: 192.168.56.106
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6:
SCAN 2 IPv4 VIP: 192.168.56.107

#check the vip configure for the network
[root@Geek DBA12c-rac1 ~]# srvctl config vip -node Geek DBA12c-rac1
VIP exists: network number 1, hosting node Geek DBA12c-rac1
VIP Name: Geek DBA12c-rac1-vip.localdomain
VIP IPv4 Address: 192.168.56.103
VIP IPv6 Address:
[root@Geek DBA12c-rac1 ~]#

As you see above all IPV6 address is blank since we are not using IPV6 format.

Now let's see how to set IPV6 format , a series of steps are required.

    1. Change the network and type to both
    2. Change the scan
    3. Change the vip on all nodes

#Get the IPV6 format of your eth0 using ifconfig command.
[root@Geek DBA12c-rac1 ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:4C:73:C1
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe4c:73c1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4448 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3899 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:729169 (712.0 KiB)  TX bytes:602026 (587.9 KiB)

#Firstly, enable the iptype for the network to both for the cluster to use IPV6 and IPV4
[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/srvctl modify network -iptype both

# set the ipv6 for eth0 as public
[root@Geek DBA12c-rac1 ~]# oifcfg setif -global eth0/fe80::a00:27ff:fe4c:73c1:::public

# Change the cluster resource 'network' to use the ipv6 eth0 we just created
[root@Geek DBA12c-rac1 ~]# srvctl modify network -subnet fe80::a00:27ff:fe4c:73c1::/64/eth0

# Modify the scan to use these format
[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/srvctl modify scan -scanname o12-cl1

# Modify the node vip's,
note:- option skip must be used since the vip is reachable as we enabled network above, and vip
must not be reachable before cluster starts, hence use skip

[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/srvctl modify vip -node Geek DBA12c-rac1 -address Geek DBA12c-rac1-vip/64 -netnum 1 -skip

#Perform the vip modification on all nodes
[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/srvctl modify vip -node Geek DBA12c-rac1 -address Geek DBA12c-rac2-vip/64 -netnum 1 -skip

Start up the cluster,
[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/crsctl start cluster -all

Check IPV6 is used by cluster now.

# check the network subnet for cluster
[root@Geek DBA12c-rac1 ~]# oifcfg getif
eth1  192.168.1.0  global  cluster_interconnect
eth0  192.168.56.0  global  public

#check the network resource on cluster
[root@Geek DBA12c-rac1 ~]# srvctl config network
Network 1 exists
Subnet IPv4: 192.168.56.0/255.255.255.0/eth0, static
Subnet IPv6: fe80::a00:27ff:fe4c:73c1::64/eth0,static

#check the vip configure for the network
[root@Geek DBA12c-rac1 ~]# srvctl config vip -node Geek DBA12c-rac1
VIP exists: network number 1, hosting node Geek DBA12c-rac1
VIP Name: Geek DBA12c-rac1-vip.localdomain
VIP IPv4 Address: 192.168.56.103
VIP IPv6 Address: fe80::a00:27ff:fe4c:73c1
[root@Geek DBA12c-rac1 ~]#

#check the scan status and usage of subnets and eth0
[root@Geek DBA12c-rac1 ~]# srvctl config scan
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6: fe80::a00:27ff:fe4c:73c1:0:0:3:5f
SCAN 0 IPv4 VIP: 192.168.56.105
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6: fe80::a00:27ff:fe4c:73c1:0:0:3:49
SCAN 1 IPv4 VIP: 192.168.56.106
SCAN name: Geek DBA12c-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/
Subnet IPv6: fe80::a00:27ff:fe4c:73c1:0:0:3:14a
SCAN 2 IPv4 VIP: 192.168.56.107

# check the scan status
[root@Geek DBA12c-rac1 ~]# /u01/app/12.1.0/grid/bin/srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node Geek DBA12c-rac1
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node Geek DBA12c-rac2
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node Geek DBA12c-rac1

#check that listeners using ipv6 using netstat -an
[root@Geek DBA12c-rac1 ~]#netstat -an | grep 1521
LISTEN     0      128           192.168.56.101:1521                     *:*    
LISTEN     0      128        fe80::a00:27ff:fe4c:73c1:1521                    :::*    
LISTEN     0      128           192.168.56.107:1521                     *:*    
LISTEN     0      128        fe80::a00:27ff:fe4c:73c1:4:201:1521                    :::*    
LISTEN     0      128           192.168.56.102:1521                     *:*    
LISTEN     0      128           fe80::a00:27ff:fe4c:73c1::3:60:1521                    :::* 

Happy Reading,

Thanks

Geek DBAGeek DBA

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>