内容简介: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
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 (一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 6、如何获取配置中心的配置
- React降级配置及Ant Design配置
- vscode 配置eslint 开发vue的相关配置
- git commit 规范校验配置和版本发布配置
- hadoop地址配置、内存配置、守护进程设置、环境设置
- 在hibernate中配置事务级别与命名查询配置【原创】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!