- 宿主机配置
CPU:7700HQ
Memory:32GB
DISK:370G M.2_SSD, 1TB HDD
使用VMwareWorkStation 新建ESXI主机
CPU给个1颗4核,记得勾选CPU虚拟化,内存8G,硬盘300G单文件形式。VMDK文件放在宿主机SSD磁盘上。
再搭建一个Server2008 安装vCenter,和MSSQL,有相关教程。
在vCenter上添加ESXi主机。
- 服务器规划
1、建议使用两台硬件配置一模一样的服务器来作为 RAC 环境的两个物理节点
2、服务器至少需要配置两块物理网卡
3、服务器规划表:
节点 | 主机名 | 本地磁盘大小 | 操作系统 | 内存大小 | 虚拟内存大小 |
节点 1 | DB1 | 50G | Windows_Server_2008_R2_X64 | 4G | 8G |
节点 2 | DB2 | 50G | Windows_Server_2008_R2_X64 | 4G | 8G |
- 网络规划
1、网络规划表:
节点名称 | 公共 IP 地址 | 虚拟 IP 地址 | 心跳 IP 地址 | SCAN 名称 | SCAN IP 地址 |
DB1 | 192.168.8.130 | 192.168.8.131 | 192.168.10.1 |
CLUSTER-scn2 |
192.168.8.134 |
DB2 | 192.168.8.132 | 192.168.8.133 | 192.168.10.2 |
2、其中虚拟 IP 地址和 SCAN IP 地址必须为能够使用但未被其他设备配占用的 地址,并且需要与公共 IP 地址在同一个网段
3、公共 IP 地址和心跳 IP 地址需要设置在物理网卡上,并且需要将两台服务器 上配置心跳地址的网卡通过一根网线直接连接起来
- 存储规划
存储规划表
Logical Driver | LUN | SIZE | 对应服务器磁盘 | 作用 |
ocr | 0,1,2 | 2G*3 | 磁盘 1 | 表决磁盘,磁盘组名为 OCR |
data1 | 4,5 | 8G*2 | 磁盘 2 | 数据库数据 磁盘组名为 DATA |
Fra | 3 | 4G | 磁盘 3 | 闪回配置区,磁盘组名为 FRA |
- 数据库规划
1、软件规划
软件组件 | 操作系统用户 | 软件安装目录位置 |
win64_11gR2_grid | administrator | C:\app\Administrator\ C:\app\11.2.0\grid |
win64_11gR2_database | administrator | C:\app\Administrator\ C:\app\Administrator\product\11.2.0\dbhome_1 |
- 配置本地安全策略
1、运行 secpol.msc ,配置"安全设置->本地策略->安全选项->用户帐户控制:管理员批准模式中管理员的提升权限提示的行为"为"不提示,直接提升"。
2、确认"安全设置->本地策略->用户权限分配->管理审核和安全日志"中包括Administrators组。
在DB1节点执行
C:\Users\Administrator>net use \\192.168.8.132\c$,与DB2建立连接
- NET USE建立磁盘连接
在DB2节点执行
C:\Users\Administrator>net use \\192.168.8.130\c$,与DB1建立连接
- 远程注册表连接测试
运行 regedit,选择 文件->连接网络注册表->输入远程节点nodename(192.168.8.132) 出现注册表结构树,测试成功.(所有节点执行)
- 网卡名修改成相同
- 修改Hosts文件
system32\drivers\etc\hosts 文件添加以下内容
#public
192.168.8.130 DB1
192.168.8.132 DB2
#private
192.168.8.131 DB1-priv
192.168.8.133 DB2-priv
#vip
192.168.10.1 DB1-vip
192.168.10.2 DB2-vip
#scan
192.168.8.134 cluster-scan
- 更改网卡优先级:
运行 ncpa.cpl ,按下ALT键,菜单栏中选择 高级->高级设置,调整网卡优先级:Public > Private
hosts 文件修改完成后可使用 ping 命令来验证设置是否正确
- 关闭DHCP媒体感知
打开注册表定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters子项,新建一个DWORD类型的键值DisableDHCPMediaSense,将值修改为1.(64位是否要改成QWORD?)
重启后使用命令netsh interface ipv4 show global验证是否成功关闭.
- 关闭SNP Features
C:\>netsh int tcp set global chimney=disabled
C:\>netsh int tcp set global rss=disabled
- 停止MSDTC服务
运行 services.msc ,将 Distributed Transaction Coordinator (MSDTC) 服务停止,并设为"手动".
- 同步节点时间
在 DB1 服务器上运行命令:net time \\DB2 (查看 CNXMS150 的当前时间)然后在 DB2 服务器上运行命令:net time \\DB1 \set /y (设置 DB1 时间与 DB2 同 步)
- 配置 DEP 和 UAC
1、分别配置两台服务器上的数据执行保护(DEP),选择‘仅为基本 windows程序和服务启用’,需要重启后才能生效(可配置完下一步后一起重启)
确认两台服务器上的 UAC,若需要配置则在重启后生效(默认不需要配置)
- 存储规划
Openfiler服务器安装后,加4块SCSI磁盘。
1.Volumes-->Block Devices-->单选进每块磁盘-->create RAID array member 模式分区
2.Volumes-->Software RAID-->RAID 0 勾选4个分区
3.Volumes-->Volume Group 创建一个Group勾选刚创建好的RADI阵列
4.Volumes-->Add Volume-->名称大小描述,类型选Block(iSCSI)
5.Services-->Manage Services-->开启iSCSI Target服务
6.System-->Network Setup-->Network Access Configuration-->配置相应网络权限,这里使用路由聚合,网段为:192.168.8.129-192.168.8.136,。
7.Volumes-->iSCSI Target-->Target Configuration-->Add Target IQN
8.Volumes-->iSCSI Target-->LUN Mapping ,map
9.Volumes-->iSCSI Target-->Network ACL,开启Allow.
10. 分别在DB1,DB2运行iSCSI发起程序,寻找目标为192.168.8.122(Openfiler服务器IP),根据IQN选择连接。
11. 选择GPT格式分区,先不要新建卷,分区即可。
- 磁盘规划
1、磁盘规划如下表所示:
Logical Driver | LUN | SIZE | 对应服务器磁盘 | 作用 |
ocr |
0, 1,2 |
2G*3 | OCR-CLUSTER1,OCR-CLUSTER2 | 表决磁盘,磁盘组名为 OCR |
Fra |
3 | 4G | fra1, fra2 | 闪回配置区,磁盘组名为 FRA |
Data1 | 4,5 | 8G*2 | datastore1, datastore2 | 数据库共享存储区 磁盘组名为 DATA |
2、需要检查一下上表中的磁盘编号与 LUN 编号是否对应,如下图所示: 注意:
一定要确保在 DB1和 DB2 服务器上看到的编号对应都一致
共享存储配置
1、在其中一个节点(通常是DB1)上将 6 个磁盘全部新建简单卷,注意不要分配盘符和格式化磁盘
2、全部建完后的截图如下:
3、此时登录到 DB2 服务器,打开磁盘管理,选择‘重新扫描磁盘’
4、扫描完成后,磁盘格式已经自动变成 RAW,如果系统默认为每个磁盘增 加了驱动器号,
此时需要删除磁盘的驱动器号,选择磁盘,单击右键打开 ‘更改驱动器号和路径,选中驱动器号 ,单击删除。
我做这步的时候出了错,如果你前面用我的步骤来做的话,你会发现DB2磁盘并没有创建好卷,有个概念我搞错了,Oracle Rac是共用一套存储,所以之前建了两套iSCSI存储是错误的,这时打开DB2 的 iSCSI发起程序,断开之前分配的DB2的存储,使用和DB1相同的那个IQN重新连接,会发现已经分配好卷。
5、启用Automount (All Nodes)
进行命令行窗口,运行:
C:\> diskpart
DISKPART> AUTOMOUNT ENABLE
安装Oracle Grid Infrastructure(Node 1)
- 执行预检查
cmd下cd到解压好的 grid文件夹路径下 运行runcluvfy脚本 附带参数
C:\WIN64_11GR2_GRID\GRID
runcluvfy stage -pre crsinst -n DB1,DB2 -verbose如果有报错,检查修改前面的设置直到预检查成功
开始安装
1、在grid目录下执行setup.exe程序
2、选择“跳过软件更新”
3、选择‘安装和配置 集群的网络基础结构’
4、选择‘高级安装’
5、选择安装语言
6、填写集群名称和 SCAN 名称,必须填写 hosts 文件中 SCAN IP 对应的主机名,确认去掉“配置GNS”复选框,除非你要使用GNS。
8、更改网络接口类型,默认选项如果不对,需要手动更改
9、此处选择‘自动存储管理(ASM)
10、此处点击“标记磁盘”,然后选择相应的OCR磁盘组,并输入磁盘组名称OCR,此时报错 INS-30510,我查资料写Noamal正常对应的两块磁盘,又经确认后如下:
如果创建用来存放OCR和VOTEDISK的ASM磁盘组,那么External、Normal、High三种冗余级别对应的Failgroup个数是1、3、5。也就是说,创建这三种冗余级别的磁盘组至少分别需要1、3、5个ASM磁盘。
如果创建用于非OCR和VOTEDISK存储的ASM磁盘组,那么External、Normal、High三种冗余级别对应的Failgroup至少是1、2、3。也就是说,创建这三种冗余级别的磁盘组至少分别需要1、2、3个ASM磁盘。
再加一块磁盘重新添加
3个OCR*2G,1个FRA*4G,2个DATA*8G
11、添加 ASM 口令,password
12、此处选择‘不使用 IPMI
13、选择软件相关目录,根据规划要求,此处选择 C 盘
Note:Software Loc 不能在Oracle Base路径下
14、先决条件检查,如果检查通过,则出现概要,如果提示失败,会有相应的提示,请根据提示 检查上一章节中的设置是否存在问题
15、开始安装后,会在下图中红框标注的位置(网格基础结构配置)停顿约 20 分钟,此处也是 grid 安装成功与否的关键所在,如果此处出现问题,则需要 卸载 grid,并检查之前所有的设置,然后再次尝试安装,直到显示成功为止。
15、安装成功完成
检查ora.asm资源运行状态
grid 安装完成后,如果安装成功,可在 dos 环境下通过crsctl status res -t命令查看集 群启动了哪些服务:
安装RDBMS (Node 1)
执行预检查
D:\grid>runcluvfy stage -pre dbinst -n rac1,rac2 -verbose
开始安装
1、执行database目录下setup.exe程序
2、确认跳过‘指定电子邮件地址
3、选择“跳过软件更新”
4、选择‘仅安装数据库软件
5、查看节点名称是否正确
6、选择安装语言
7、选择安装企业版,并且勾选所有组件
8、选择安装路径为 D 盘
注意:11G中Oracle_Home在Oracle_Base下,CRS_Home不在Oracle_Base下
9、先决条件检查
10、安装概要
11、安装到此处时,执行远程安装 RAC2 节点的数据库,此时等待时间会很长, 请耐心等待
根据提示在节点2上运行c:\oracle\product\11.2.0\dbhome_1\bin>selecthome.bat -------重要
备份OCR盘: ocrconfig -export d:\backup\ocrfile.bak
- 使用ASMCA创建ASM磁盘组
1、运行C:\Users\Administrator>asmca
执行命令后需要等待 10 秒钟 才能弹出配置界面
2、如果在安装时只标记了OCR磁盘组,则按照如下方法标记,若已经在安装时全部标记完所有磁盘组,则此步骤省略
3、在磁盘组选项卡中点击新建
4、单击‘在磁盘上加载标记
5、磁盘进行相应磁盘标记
6、 勾选要添加的磁盘,命名磁盘组名称为 DATA(DATA和FRA要分别创建)
7、按照相同的方法标记和创建 FRA 磁盘组
- 创建数据库
- 执行预检查
节点1,2上先创建好C:\app\Administrator\product\11.2.0\db_home目录
runcluvfy stage -pre dbcfg -n DB1,DB2 -d C:\app\Administrator\product\11.2.0\dbhome_1 -verbose -fixup
- 创建数据库
C:\>dbca
一直卡在Completing database creation(1小时左右)
根据需要指定FRA与是否开启归档。
完成:
字符集
概要
最后验证一下登录。
sqlplus sys/sys as sysdba