Oracle Database 配置IPV6 (一)

栏目: 数据库 · Oracle · 发布时间: 6年前

内容简介:Internet Protocol Version 6(IPV6), IPV6演变的主要影响因素是:地址空间IPV4的耗尽。 IPV4中较少的地址空间迫使用户使用网络地址转换(NAT)。我们都知道IPV6有128位, 那IPV6的地址空间就有2的128次方,IPV4有4Billion个地址,而IPV6有340 Undecillion(340,282,366,920,938,000,000,000,000,000,000,000,000 )大到不可想象。IPV6 具有许多默认分配给操作系统的地址类型,下面使

Oracle Database 配置IPV6 (一) 什么是IPV6

Internet Protocol Version 6(IPV6), IPV6演变的主要影响因素是:地址空间IPV4的耗尽。 IPV4中较少的地址空间迫使用户使用网络地址转换(NAT)。我们都知道IPV6有128位, 那IPV6的地址空间就有2的128次方,IPV4有4Billion个地址,而IPV6有340 Undecillion(340,282,366,920,938,000,000,000,000,000,000,000,000 )大到不可想象。

IPV6的地址格式

IPV6 具有许多默认分配给操作系统的地址类型,下面使用的是GUA地址,其它还有Link Local等。IPV6的设计考虑地址空间的维护,被设计为自多配置,有DHCP分配,本文使用的是手动指定的方式,通常情况下对于及时像运行着ORACLE 数据库的服务器主机也不需要手动配置IPV6地址。

1.   IPV6是128位,比IPV4多96位

2.  使用的是十六进程表示

3.  每段之间使用”:”隔开,而不是”.”

4.  128位地址有2部分组成,Network Prefix 64-bit,  Host Prefix 64-bit

IPV6地址如:2001:db8::1234:1235:abcd:abef

Note:

IPV6地址中可以删除连接出现的0,缩写同样等效,如IPV4的回路地址127.0.0.1,在IPV6中是0000:0000:0000:0000:0000:0000:0000:0001, 可以缩写为”::1″ 。

ORACLE DB 支持IPV6

ORACLE 11.2 启第一个支持IPV6的数据库版本, 但是只支持 单实例模式的IPV6地址和连接, 从ORACLE 12版本开始完全的支持IPV6地址通过Public Vip到ORACLE RAC,也就是从12.1.0.1开始支持public network, 但是对于Private network还必须使用IPV4. 操作系统也支持同时运行IPV4和IPV6,ORACLE数据库和监听也可以同时使用IPV4和IPV6。 从12.2版本开始所有组件可以完全支持IPV6 .

同时也可以配置IPV4 Mapping Address, 允许IPV6的应用程序使用IPV4的协议, 但是IPV4 MA不是IPV6隧道,只是操作系统的配置,IPV4 MA IPV6地址规则是前80位为0,接下来是16位的1,最后32位是IPV4的点位表示或是十六进制的等效IPV4如下面的是同一个地址,更多配置可以参考MOS  note 831153.1

0000:0000:0000:0000:0000:FFFF:129.168.134.145
0000:0000:0000:0000:0000:FFFF:81A8:8691
::FFFF: 129.168.134.145
::FFFF: 81A8:8691

LINUX 配置 IPV6 (  我的版本是OEL6.6)

[root@anbob ~]# cat /etc/issue
Oracle Linux Server release 6.6
Kernel \r on an \m

Load the IPV6 module as root user
[oracle@anbob net]$ modprobe ipv6
[oracle@anbob net]$

如果上面输出有错误修改/etc/modprobe.conf 如下面后,重启主机:

#alias net-pf-10 off

#alias ipv6 off

#options ipv6 disable=1

To add IPV6 interface

/sbin/ifconfig <interface> inet 6 add <ipv 6 address>/<prefixlength>

[root@anbob ~]# ifconfig eth2 inet6 add 2001:db8::1234:1235:abcd:abef/64
[root@anbob ~]# ifconfig
eth2 Link encap:Ethernet HWaddr 08:00:27:CE:89:B8
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: 2001:db8::1234:1235:abcd:abef/64 Scope:Global
inet6 addr: fe80::a00:27ff:fece:89b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:250 errors:0 dropped:0 overruns:0 frame:0
TX packets:222 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27493 (26.8 KiB) TX bytes:66904 (65.3 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:680 (680.0 b) TX bytes:680 (680.0 b)

[root@anbob ~]# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:db8::1234:1235:abcd:abef/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fece:89b8/64 scope link
valid_lft forever preferred_lft forever

[oracle@anbob net]$ cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80       lo
20010db80000000012341235abcdabef 02 40 00 80     eth2
fe800000000000000a0027fffece89b8 02 40 20 80     eth2

[root@anbob ~]# ping6 2001:db8::1234:1235:abcd:abef
PING 2001:db8::1234:1235:abcd:abef(2001:db8::1234:1235:abcd:abef) 56 data bytes
64 bytes from 2001:db8::1234:1235:abcd:abef: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 2001:db8::1234:1235:abcd:abef: icmp_seq=2 ttl=64 time=0.082 ms
64 bytes from 2001:db8::1234:1235:abcd:abef: icmp_seq=3 ttl=64 time=0.071 ms

[root@anbob ~]# vi /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=anbob.com
# Enable global IPv6 initialization
NETWORKING_IPV6=yes         
# Disable global IPv6 forwarding and have host configure itself 
# to not be an IPv6 router
IPV6FORWARDING=no             
# Disable global IPv6 auto-configuration so a static IPv6 address can be set
IPV6_AUTOCONF=no               
# Disable automatic IPv6 tunneling as we are not setting up an IPv6 tunnel
IPV6_AUTOTUNNEL=no

[root@anbob ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
HWADDR=00:1E:4F:E6:FE:11
ONBOOT=yes
IPADDR=192.168.56.101
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=yes
IPV6ADDR=2001:db8::1234:1235:abcd:abef/64

[root@anbob ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.101 anbob.com anbob

2001:db8::1234:1235:abcd:abef    anbob6.com

ORACLE 配置LISTENER, TNS 使用IPV6地址

[oracle@anbob ~]$ vi /u02/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u02/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = anbob.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = anbob6.com)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

[oracle@anbob ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 16-AUG-2018 16:51:03

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

Starting /u02/app/oracle/product/12.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u02/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Log messages written to /u02/app/oracle/diag/tnslsnr/anbob/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=anbob.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=2001:db8::1234:1235:abcd:abef)(PORT=1522)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=anbob.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                16-AUG-2018 16:51:05
Uptime                    0 days 0 hr. 0 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u02/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File         /u02/app/oracle/diag/tnslsnr/anbob/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=anbob.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=2001:db8::1234:1235:abcd:abef)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

Note:

这里监听配置好了IPV6 地址的1522端口, 同时保留了原来的IPV4地址的1521端口。 当前no service是因为数据库还没有打开。

为了让系统服务注册到这个端口上,tnsnames.ora 文件增加,并修改LOCAL_LISTENER配置文件

show parameter local

PARAMETER_NAME                                               TYPE        VALUE
------------------------------------------------------------ ----------- -------------------------------------
local_listener                                               string      LISTENER_ANBOB
parallel_force_local                                         boolean     FALSE


SQL> alter system set local_listener='LISTENER_ANBOB','PDBANBOBv6';
System altered.

SQL> alter system register;
System altered.

[oracle@anbob admin]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 16-AUG-2018 17:14:36
Copyright (c) 1991, 2016, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=anbob.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                16-AUG-2018 16:51:05
Uptime                    0 days 0 hr. 23 min. 30 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u02/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File         /u02/app/oracle/diag/tnslsnr/anbob/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=anbob.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=2001:db8::1234:1235:abcd:abef)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "465fa0ab8243396ae0530338a8c0fc9e.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
Service "4a0d4eafec1b1916e0530338a8c07871.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
Service "anbob.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
Service "anbobXDB.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
Service "pdbanbob.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
Service "pdbweejar.com" has 1 instance(s).
  Instance "anbob", status READY, has 1 handler(s) for this service...
The command completed successfully

[oracle@anbob admin]$ netstat -an|grep 1522
tcp        0      0 2001:db8::1234:1235:ab:1522 :::*                        LISTEN      
tcp        0      0 2001:db8::1234:1235:a:63072 2001:db8::1234:1235:ab:1522 ESTABLISHED 
tcp        0      0 2001:db8::1234:1235:ab:1522 2001:db8::1234:1235:a:63072 ESTABLISHED 

[oracle@anbob admin]$ lsof -i:1522
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
tnslsnr   4792 oracle   12u  IPv6  14281      0t0  TCP anbob6.com:ricardo-lm (LISTEN)
tnslsnr   4792 oracle   16u  IPv6  16114      0t0  TCP anbob6.com:ricardo-lm->anbob6.com:63072 (ESTABLISHED)
ora_lreg_ 4861 oracle   11u  IPv6  16113      0t0  TCP anbob6.com:63072->anbob6.com:ricardo-lm (ESTABLISHED)

[oracle@anbob admin]$ ps -ef|grep 4792|grep -v grep
oracle    4792     1  0 16:51 ?        00:00:00 /u02/app/oracle/product/12.2.0/db_1/bin/tnslsnr LISTENER -inherit

[oracle@anbob admin]$ ps -ef|grep 4861|grep -v grep
oracle    4861     1  0 16:52 ?        00:00:00 ora_lreg_anbob

Note:

可以看到当前监听已经配置好了IPV4和IPV6两种地址,并且LREG进程已经把服务注册到LISTENER进程的1522端口上。

测试连接

[oracle@anbob ~]$ tnsping pdbanbob             
TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-AUG-2018 23:46:20
Copyright (c) 1997, 2016, Oracle.  All rights reserved.
Used parameter files:
/u02/app/oracle/product/12.2.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = anbob.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdbanbob.com)))
OK (0 msec)

[oracle@anbob ~]$ tnsping pdbanbobv6
TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-AUG-2018 23:46:36
Copyright (c) 1997, 2016, Oracle.  All rights reserved.
Used parameter files:
/u02/app/oracle/product/12.2.0/db_1/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =2001:db8::1234:1235:abcd:abef)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdbanbob.com)))
OK (0 msec)
[oracle@anbob ~]$ sqlplus anbob/anbob@pdbanbobv6

SQL*Plus: Release 12.2.0.1.0 Production on Thu Aug 16 23:48:01 2018
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Last Successful login time: Thu Aug 16 2018 17:42:40 +08:00

Connected to:
Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production


USERNAME             INST_NAME            HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID       OPID  CPID            SADDR            PADDR
-------------------- -------------------- ------------------------- ----- -------- ---------- -------- ---------- ----- --------------- ---------------- ----------------
ANBOB                PDBANBOB-anbob       anbob                     59    60861    12.2.0.1.0 20180816 4725       54    4723            000000006D22C440 000000006EC3DB98


SQL> exit
Disconnected from Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production
[oracle@anbob ~]$ sqlplus anbob/anbob@pdbanbob    --IPV4

SQL*Plus: Release 12.2.0.1.0 Production on Thu Aug 16 23:48:10 2018
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Last Successful login time: Thu Aug 16 2018 23:48:01 +08:00

Connected to:
Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production


USERNAME             INST_NAME            HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID       OPID  CPID            SADDR            PADDR
-------------------- -------------------- ------------------------- ----- -------- ---------- -------- ---------- ----- --------------- ---------------- ----------------
ANBOB                PDBANBOB-anbob       anbob                     59    43474    12.2.0.1.0 20180816 4730       54    4728            000000006D22C440 000000006EC3DB98


SQL>

NOTE:

连接成功!

Oracle 11.2中除了ORACLE RAC和Oracle Clusterware所有功能都支持IPV6, 还有也不支持ASM使用IPV6,也支持IPV6和IPV4共存. 在ORACLE 12C中,Oracle支持IPV4和IPV6在同一个网络,同样也可以配置PLUBIC network(Public/vip)在IPV6和IPV4,但是确保同一集群中所有节点使用相同的IP协议。但12.1 时不支持WINDOWS和private newwork. 在12.2 版本中 ORACLE提供了完全的支持IPV6,包括WINDOWS平台,ASM, FAN, 所有平台中的ORACLE Clusterwarer的private network。 更多内容可以阅读 ORACLE白皮书


以上所述就是小编给大家介绍的《Oracle Database 配置IPV6 (一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Book of CSS3

The Book of CSS3

Peter Gasston / No Starch Press / 2011-5-13 / USD 34.95

CSS3 is the technology behind most of the eye-catching visuals on the Web today, but the official documentation can be dry and hard to follow. Luckily, The Book of CSS3 distills the heady technical la......一起来看看 《The Book of CSS3》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具