实战:windows 2012R2安装11G RAC最佳实践(生产使用)

最近接手项目客户需要在WINDOWS上安装ORACLE RAC。
客户之前的HIS系统使用WINDOWS 2003 32位系统,ORACLE 10G 32位软件,ROSE双机。
由于新的服务器硬件最低支持操作系统版本为WINDOWS 2012R2,所以对应的ORACLE版本也要升级最低为11.2.0.4,经过与软件沟通,该HIS系统可以支持11.2.0.4版本的数据库(软件版本是有点老- -!好在没说不支持,哈哈),之后参考各种官方文档及咨询小伙伴们的安装经验(从业8年居然第一次遇到UNIX/LINUX以外的RAC安装需求,毕竟就稳定性和性能上来说WINDOWS还是不如LINUX/UNIX)记录了安装步骤,避免了很多安装后会遇到的莫名奇妙坑,也算是个最佳实践吧。

安装的环境如下:
1、WINDOWS 2012R2 标准版本的系统主机两台;
2、华为S2200V3磁盘阵列1台,两台光纤交换机;
3、数据软件版本为11.2.0.4,另外还需要补丁p6880880以及p29596609以便解决后面安装时遇到的BUG问题。

1、修改HOSTS文件

修改WINDOWS操作系统的HOSTS文件,填写相关的记录
192.168.1.204 RAC1
192.168.1.205 RAC2
10.10.10.1 RAC1-PRIV
10.10.10.2 RAC2-PRIV
192.168.1.206 RAC1-VIP
192.168.1.207 RAC2-VIP
192.168.1.208 RAC-SCAN

2、修改操作系统参数,规避一些性能问题

必须禁用 DHCP 媒体感知。对于 Windows 2000,必须手动实施此项更改,但在 2003 中,该功能是默认禁用的。Windows 2008,此功能又是默认启用的。要禁用 2008 中的 DHCP 媒体感知,请以管理员用户身份在命令窗口中执
行以下命令:

netsh interface ipv4 set global dhcpmediasense=disabled 
netsh interface ipv6 set global dhcpmediasense=disabled

使用以下命令验证更改:

netsh interface ipv4 show global
netsh interface ipv6 show global

修改过程如下图所示:
 

image.png


安装 Windows Server 2003 Service Pack 2 (SP2) 或 Windows Server 2003 Scalable Networking Pack (SNP) 之后,关闭默认的 SNP 功能。在安装了启用 TCP/IP Offload的网络适配器的计算机上,您可能会遇到许多与网络相关的问题,例如网络适配器消耗了大量的未分页池内存或者适配器请求较大的连续内存块,进而导致计算机在尝试释放内存时停止响应。此问题也会影响 Windows 2008 操作系统及以上版本

netsh int tcp set global chimney=disabled
netsh int tcp set global rss=disabled

使用以下命令验证更改:

C:\Users\Administrator> netsh interface tcp show global

image.png


根据ORACLE官方参考Doc ID 1384337.1,解决 section管理内存问题,该问题会导致WINDOWS数据库的监听无法工作,报错TNS-12531 TNS: Failed to allocate memory
官方文档修改的描述如下:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\ In the right pane, click on Windows and pull down Edit then select Modify. You should see a string that resembles this in its entirety: %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

需要修改768为适当的值,我这里修改为了4096
Windows SharedSection=1024,20480,768

关闭WINDOWS系统的UAC控制,将其设为“从不通知”
 

image.png


并且确认本地安全策略中—“本地策略”—“安全选项”中的用户账户控制内容如下图选中的所示,为“不提示,直接提升”
 

image.png


由于11g rac没有明确支持IPV6,最好禁用掉操作系统的IPV6
修改注册表(修改之前备份注册表)
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters\ ,新建 DisabledComponents 项(DWORD 32 位 类型),输入十六进制值 ffffffff(8个f)。

image.png

设置TEMP、TMP为c:\windows\temp
 

image.png

设置虚拟内存16G以上

image.png


修改操作系统DEP
 

image.png


上述配置后,重启生效。

3、配置网络

根所官方文档描述,对于公网和私网 (NIC),请勿将“PUBLIC”和“PRIVATE”(全部大写)用于网络名称,请参考未发布的 Bug 6844099。您可以使用 public 和 private 这两个词的其他形式,例如:Public 和 Private 是可以接受的,修改网卡名如下图所示:
 

image.png


网卡配置IP的时候,取消勾选的IPV6。另外禁用无用的其它网卡
 

image.png


根据官方最佳实践描述,WIN2012R2中做相同修改操作,具体内容如下:
取消选中“在 DNS 中注册此连接的地址”(特定于 Windows 2008)。参考:Grid Infrastructure / RAC on Windows:IP Addresses for HOST, VIP, AND SCAN Get Scrambled Upon Reboot (Doc ID 1504625.1)默认情况下,在 Windows 2008 中,所有网卡的“在 DNS 中注册此连接的地址”选项均处于打开状态。在先前版本的Windows(例如 Windows 2000/2003)中,选中“在 DNS 中注册此连接的地址”(位于特定的网卡 (NIC) 的 TCP/IP属性中)只会在 DNS 中注册主要/第一个 NIC IP 地址。在 Windows 2008 中,选中“在 DNS 中注册此连接的地址”似乎会自动注册为该 NIC 配置的所有 NIC IP 地址。这可能会导致主机、VIP 和 SCAN IP 在节点重启时出现干扰。因此,应取消选中 Windows 2008 RAC 环境中的所有公网 NIC 的“在 DNS 中注册此连接的地址”,如下所示:

  1. 调用 Server Manager
  2. 选择“查看网络连接”
  3. 选择“公网”网络接口
  4. 从右键菜单中选择“属性”
  5. 从“网络”选项卡中选择“Internet 协议版本 4(TCP/IPv4)”
  6. 单击“属性”
  7. 从“常规”选项卡中单击“高级…”
  8. 选择“DNS”选项卡
  9. 取消选中“在 DNS 中注册此连接的地址”的单选按钮

    image.png


    修改网卡的优先级
  10. 单击“开始”,单击“运行”,键入“ncpa.cpl”,然后单击“确定”。
  11. 在窗口顶部的菜单栏中,单击“高级”,选择“高级设置”(对于 Windows 2008,如果“高级”未显示,单
    击“Alt”以启用该菜单项)。
  12. 在“适配器和绑定”选项卡下,使用向上箭头将“公网”接口移至“连接”列表的顶部。
  13. 在“绑定顺序”下,使 IPv4 的优先级高于 IPv6
  14. 单击“确定”保存更改

    image.png

     

    image.png


    另外修改网卡的跃点数,来增加网卡的优先级
    Public网卡跃点数为100

    image.png


    Private网卡跃点数为300

    image.png

4、配置磁盘裸设备

在两台主机上都安装好存储多路径软件,聚合好存储路径生成存储设备,在磁盘管理器中显示如下:
 

image.png


右键磁盘,选择“属性”,查看策略标签中,去掉勾选“启用设备上的写入缓存”。以防止意外掉电导致数据丢失的风险。
 

image.png


进入到cmd中设置磁盘开机自动挂载
diskpart
automount
 

image.png


创建磁盘逻辑分区执行如下命令

 

Select disk 1 Create partition extend Create partition logical Select disk 2 Create partition extend Create partition logical Exit

最后完成退出
在RAC1节点上刷新一下磁盘。
 

image.png


再去RAC2节点上磁盘管理器中重新扫描一下磁盘,RAC2节点会自动给两块磁盘填上驱动器标号,这时不要格式化磁盘,删除驱动器号。
 

image.png


然后使用grid安装包中的工具对磁盘做标示。
在CMD中进入到GRID安装外的asmtool目录
执行asmtool –list显示磁盘分区
再执行如下命令,标记磁盘
asmtool.exe –add \Device\Harddisk1\Partition1 OCRVOTE
asmtool.exe –add \Device\Harddisk2\Partition1 DATA
最后再执行查看asmtool –list标记是否成功

image.png

5、安装GRID前检查

确保管理员组可以管理审核和安全日志:

  1. 打开命令提示符,键入“secpol.msc”,以启动“安全策略控制台”管理实用程序。
  2. 单击“本地策略”
  3. 单击“用户权限分配”
  4. 在用户权限分配列表中找到“管理审核和安全日志”并双击该项目。
  5. 如果“本地安全设置”选项卡中未列出管理员组,此时请添加该组。
  6. 单击“确定”保存更改(如有更改)。

    image.png


    WINDOWS服务管理中确认DTS服务是启动状态

    image.png


    其它检查
    1、注意关闭WINDOWS公用、专用、域防火墙。
    2、在安装 Oracle 之前,禁用所有防病毒软件,最好不安装相关软件。
    3、确认WINDOWS己安装最新的累计补丁包。
    4、两个节点的超级管理员名一致,操作系统密码一致。

WINDOWS共享测试,确保要安装ORACLE软件的目录可以共享访问
在两节点上执行如下命令都能成功
net use \rac1\d$
net use \rac2\d$

image.png

最后执行grid安装目录下的检查脚本进行检查
Runcluvfy.bat stage -pre crsinst -n RAC1,RAC2 –verbose
确认最后返回结果为成功

image.png

6、安装GRID软件

右键以管理员身份运行grid目录里的SETUP.EXE安装包,跳过软件更新
 

image.png


选择“为集群安装和配置Oracle Grid Infrastructure”
 

image.png


选择“高级安装”
 

image.png


默认选择安装语言
 

image.png


取消“配置GNS”,修改集群名与SCAN名称,保持与HOSTS文件一致
 

image.png


手动填写RAC2节点
 

image.png


标记网卡的接口类型
 

image.png


使用“oracle 自动存储管理”
 

image.png


软件会自动识别之前标记好的磁盘,选择OCRVOTE用,冗余为外部
 

image.png


配置ASMSYS密码
 

image.png


不使用IPMI
 

image.png


确定好软件安装目录
 

image.png


用户检查会出现检查项,直接选择“全部忽略”即可。
 

image.png


开始进行安装
 

image.png


重点来了!!
 

image.png


重复试过几次,都是安装到84%时报错,检查日志也并没有发现什么!
经过多次求证官方文档,发现基础的11.2.0.4 GRID软件安装在windows 2012R2版本会有一些BUG导致安装失败,比如:
[INS-20802] Grid Infrastructure failed During Grid Installation On Windows OS
(Doc ID 1987371.1)
除此之外还有其它的相关文档也描述了安装到84%是会报同样的INS-20802错误
针对安装其间出现的问题,ORACLE有两个建议避免
第1种是安装之前做好准备:
建议先在两个节点分别只安装GRID软件,不进行配置,然后安装相就的补丁,之后再执行config.bat进行集群配置
第2种是安装过程中遇到问题:
关闭现有的集群安装界面,通过在1节点执行rootcrs.pl -doconfig -force 取消集群配置,在两个节点分别安装补丁后,再运行config.bat重新进行集群配置
我这里是在安装过程中遇到问题,那么按第2种方法进行处理
1、关闭安装窗口。
2、在RAC1节点,以管理员身份运行CMD
进入到GRID_HOME目录下的perl\bin目录
执行perl d:\app\11.2.0\grid\crs\install\rootcrs.pl -deconfig -force
 

image.png


直到出现successfully deconfigured oracle clusterware stack on this node
 

image.png


3、解压OPATCH补丁p6880880,把现有GRID_HOME里的OPATCH改名为OPATCH.OLD然后拷贝新的OPATCH到该目录下
 

image.png


4、然后解压p29596609补丁(此补丁为2019年最新补丁),然后在CMD下进入到该解压目录下,执行d:\app\11.2.0\grid\opatch\opatch apply -local
按提示按y进行安装.
 

image.png


5、在RAC2节点安装补丁,按3-4步操作执行即可。
6、补丁安装结束后在RAC1节点的d:\app\11.2.0\grid\crs\config目录下,以管理员身份运行config.bat文件
 

image.png


会重新弹出配置界面
 

image.png


其余设置与之前一样,填写好RAC2节点,配置ASM磁盘,然后进行安装,直到安装完毕。

image.png

7、安装DB软件

DB软件安装也无其它特殊,除一个BUG需要避免外无其它问题。该BUG会在运行DB软件后,进行集群安报错INS-35423,找不到集群节点
该BUG按参照官方文档
Window: Prerequisite Error INS-35423 And Warnings When Installing RAC
Database Software (Doc ID 2164220.1)
执行相关集群检查都可以通过,集群运行状态正常
官方文档描述如下:
Known issue in INTERNAL Bug 19065263, will be fixed in release 12.2.
要规避该BUG按如下方法执行安装,以管理员身份进行CMD,然后进入到database安装目录,执行:
setup.exe ORACLE_HOSTNAME=RAC1
然后正常安装即可。
注意,安装完DB后先不要创建实例,替换OPATCH,然后分别安装DB数据库补丁,最后再DBCA创建数据库,以避免其它BUG.

也欢迎关注我的公众号【徐sir的IT之路】,一起学习!
————————————————————————————
公众号:徐sir的IT之路
CSDN :https://blog.csdn.net/xxddxhyz?type=blog
墨天轮:https://www.modb.pro/u/3605
PGFANS:https://www.pgfans.cn/user/home?userId=5568
————————————————————————————

  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐sir(徐慧阳)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值