Subscribe to Posts by Email

Subscriber Count

    699

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

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

Comments are closed.