Oracle GI 12.1及更早版本不支持IPv6,12.2为实验性支持,19c起才真正支持;需确保地址格式规范、hosts配置正确、SCAN/VIP显式配置IPv6、监听器切换至IPv6模式、防火墙放行UDP端口、OCR路径使用IPv6字面量。 IPv6地址格式不被GI安装程序识别 想在Orac
想在Oracle Grid Infrastructure里用上IPv6?这事儿得分版本看。真正意义上的支持是从19c才开始的,12.2版本只能算是个“实验性”功能,至于12.1及更早的版本,它们压根就不认识像2001:db8::1这样的地址。所以,如果在安装过程中,gridsetup.sh脚本报出prvg-11405 : ip address is not valid的错误,或者直接跳过了你的网卡配置,那基本可以断定:要么是版本太老,要么就是地址的写法不合规。
2001:db8:abcd:0001::1)或者标准的双冒号压缩格式(如2001:db8:abcd:1::1)。尤其要注意,避免混用类似::ffff:192.168.1.1这种IPv4映射的IPv6地址,GI安装程序对此并不友好。/etc/hosts文件中,每一行只能配置一个IPv6地址对应一个主机名,不能再像IPv4时代那样,一行写多个别名。而且,这里的主机名必须与hostname -s命令的输出结果完全一致,大小写敏感。ifconfig或ip -6 addr show命令检查,确保网卡上已经启用了全局范围(global scope)的IPv6地址。那些链路本地(fe80::/64)地址,GI在安装时会直接忽略。别以为给网卡配上IPv6地址就万事大吉了。GI默认情况下,只会去读取/etc/hosts文件里IPv4的条目。这意味着,即使你的网络层IPv6畅通无阻,SCAN(Single Client Access Name)和VIP(Virtual IP)仍然可能悄悄地回退到IPv4。如果不手动指定,集群启动后,在crsctl stat res -t命令的输出里,看到SCAN VIP显示为OFFLINE状态,那简直是家常便饭。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
oracle.install.crs.config.scanType=STATIC,并填入IPv6格式的SCAN名称与地址。例如:oracle.install.crs.config.scanAddress=2001:db8:abcd:1::100。srvctl add vip命令手动添加。命令格式如:srvctl add vip -node node1 -address “2001:db8:abcd:1::101/128”。这里有个关键细节:子网掩码必须是/128,而不是常见的/64。LISTENER_SCAN1)绑定的是IPv4地址。需要先用srvctl config scan_listener命令查看当前配置,然后再使用srvctl modify scan_listener -u命令将其切换到IPv6模式。网络连通性测试,ping6能通只是第一步,离GI集群能正常工作还差得远。OCR(Oracle Cluster Registry)和CSSD(Cluster Synchronization Services Daemon)这些核心进程,使用的是UDP端口(例如47155、51000)。问题在于,许多系统的防火墙(无论是iptables还是nftables)默认规则只处理IPv4流量,负责IPv6的ip6tables链常常是空的,甚至被完全禁用。
ip6tables -L -n,确认其输出中已经放行了必要的UDP端口范围。这包括CSSD使用的47150-47160,CRSD使用的51000-51100,以及SCAN监听器的默认端口1521。net.ipv6.conf.all.disable_ipv6 = 0和针对具体网卡的net.ipv6.conf..disable_ipv6 = 0 设置为0。这一点在systemd管理的启动环境中尤其容易被覆盖,需要仔细检查。OCR的位置配置也是个暗坑。如果OCR配置在像+DATA这样的ASM磁盘组上,其底层通信仍然依赖GIMR(Grid Infrastructure Management Repository)的网络。但如果OCR本身存放在裸设备或NFS上,并且路径中包含主机名(例如nfs-server.example.com:/ocrvol),那么GI在启动时,会尝试用IPv6去解析这个域名。而现实情况是,多数DNS服务器并未配置对应的AAAA记录,结果就是OCR初始化超时,导致启动失败。
[2001:db8:abcd:1::200]:/ocrvol(注意IPv6地址需要用方括号包裹)。ocrconfig -add命令时,应避免引用任何带有域名的路径。即使是单节点测试环境,也建议使用ocrconfig -manual模式,以跳过GI的自动网络探测。cluvfy comp ocr -n all -verbose命令。这个集群验证工具会真实地走一遍IPv6路径的连通性检测,能提前暴露问题。总而言之,为Oracle GI启用IPv6双栈,绝非简单地给网卡添加一个地址就能完事。GI对IPv6的支持和控制粒度非常细致,从底层的CSSD、CRSD、OHASD,到上层的SCAN Listener,每个组件都有自己独立的地址绑定逻辑。漏掉其中任何一环,都可能导致集群静默地降级回IPv4,或者直接挂起。最棘手的是,相关的错误日志里往往不会直接出现“IPv6”这个关键词。排查时,需要紧紧盯住$GRID_HOME/log/日志文件中,“binding to”和“failed to resolve”这两类关键信息。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述