青年数据库学习互助会

实战文章-win2012R2安装11G-RAC-上部

Image

最近接手项目客户需要在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                   RAC1192.168.1.205                   RAC210.10.10.1                      RAC1-PRIV10.10.10.2                      RAC2-PRIV192.168.1.206                   RAC1-VIP192.168.1.207                   RAC2-VIP192.168.1.208                   RAC-SCAN
Image

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

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

行以下命令:

netsh interface ipv4 setglobal dhcpmediasense=disablednetsh interface ipv6 setglobal dhcpmediasense=disabled

使用以下命令验证更改:

netsh interface ipv4 showglobalnetsh interface ipv6 showglobal

修改过程如下图所示:

Image

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

netsh int tcp setglobal chimney=disablednetsh int tcp setglobal rss=disabled

使用以下命令验证更改:

netsh interface tcp showglobal
Image

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

官方文档修改的描述如下:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\SubSystems\In the right pane, click on Windows and pull down Edit then selectModify.You should see a string that resembles thisin its entirety:%SystemRoot%\system32\csrss.exeObjectDirectory=\Windows SharedSection=1024,20480,768Windows=OnSubSystemType=Windows ServerDll=basesrv,1ServerDll=winsrv:UserServerDllInitialization,3ServerDll=winsrv:ConServerDllInitialization,2ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

需要修改768为适当的值,我这里修改为了4096

Windows SharedSection=1024,20480,768
Image

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

Image

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

Image

由于11g rac没有明确支持IPV6,最好禁用掉操作系统的IPV6

修改注册表(修改之前备份注册表)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters\

,新建 DisabledComponents 项(DWORD 32 位类型),输入十六进制值 ffffffff(8个f)。

Image
Image

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

Image

设置虚拟内存16G以上

Image

修改操作系统DEP

Image

上述配置后,重启生效。

3、配置网络

根据官方文档描述

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

Image

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

Image

根据官方最佳实践描述,WIN2012R2中做相同修改操作,具体内容如下:

取消选中“在 DNS 中注册此连接的地址”(特定于 Windows 2008)。参考:Grid Infrastructure / RAC on Windows:IP Addresses for HOST, VIP, ANDSCAN 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

修改网卡的优先级

1. 单击“开始”,单击“运行”,键入“ncpa.cpl”,然后单击“确定”。

2. 在窗口顶部的菜单栏中,单击“高级”,选择“高级设置”(对于 Windows 2008,如果“高级”未显示,单

击“Alt”以启用该菜单项)。

3. 在“适配器和绑定”选项卡下,使用向上箭头将“公网”接口移至“连接”列表的顶部。

4. 在“绑定顺序”下,使 IPv4 的优先级高于 IPv6

5. 单击“确定”保存更改

Image
Image

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

Public网卡跃点数为100

Image

Private网卡跃点数为300

Image

4、配置磁盘裸设备

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

Image

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

Image

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

diskpart    automount
Image

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

Select disk 1Createpartition extendCreatepartition logicalSelect disk 2Createpartition extendCreatepartition logicalExit

最后完成退出

在RAC1节点上刷新一下磁盘。

Image

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

Image

然后使用grid安装包中的工具对磁盘做标示。

在CMD中进入到GRID安装外的asmtool目录

执行asmtool –list显示磁盘分区

再执行如下命令,标记磁盘

asmtool.exe –add \Device\Harddisk1\Partition1OCRVOTEasmtool.exe –add \Device\Harddisk2\Partition1DATA

最后再执行查看asmtool –list标记是否成功

Image

5、安装GRID前检查

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

1. 打开命令提示符,键入“secpol.msc”,以启动“安全策略控制台”管理应用程序。

2. 单击“本地策略”

3. 单击“用户权限分配”

4. 在用户权限分配列表中找到“管理审核和安全日志”并双击该项目。

5. 如果“本地安全设置”选项卡中未列出管理员组,此时请添加该组。

6. 单击“确定”保存更改(如有更改)。

Image

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

Image

其它检查

1、注意关闭WINDOWS公用、专用、域防火墙。

2、在安装 Oracle 之前,禁用所有防病毒软件,最好不安装相关软件。

3、确认WINDOWS己经安装最新的累计补丁包。

4、两个节点的超级管理员名一致,操作系统密码一致。

WINDOWS共享测试,确保要安装ORACLE软件的目录可以共享访问

在两节点上执行如下命令都能成功

net use \\rac1\d$net use \\rac2\d$
Image

最后执行grid安装目录下的检查脚本进行检查

Runcluvfy.bat stage -pre crsinst -n RAC1,RAC2–verbose

确认最后返回结果为成功

Image

剩余安装部分见下篇

如果觉得有用,请动动小手点赞、转发、加关注ImageImage