WindowsServer2019搭建Oracle12c RAC
使用WindowsServer2019搭建Oracle12c RAC环境,虚拟机设置为内存8G
规划
服务器名 | Public地址 | Virtual地址 | Private地址 | Scan地址 | Stroage地址 |
winrac1 | 172.16.2.121 | 172.16.2.131 | 10.0.10.121 | 172.16.2.141 | 172.16.2.43 |
winrac2 | 172.16.2.122 | 172.16.2.132 | 10.0.10.122 |
群晖存储划分3个LUN
OCR为100G DATA为125G FRA为154G
系统配置(所有节点)
修改计算名
此电脑右键属性,计算名、域和工作组设置--更改设置
计算机名--更改
设置后先不需要着急重启
修改密码
节点1和节点用户密码需要一致,不可以空密码
修改环境变量
TEMP=C:\WINDOWS\TEMP
TMP=C:\WINDOWS\TEMP
修改DEP
系统属性--高级--仅为基本windows程序和服务启用DEP
关闭防火墙和UAC
控制面板--所有控制面板项--Windows Defender防火墙--自定义设置,全部关闭
运行输入msconfig 更改UAC设置,改为从不通知
注册表定位到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
新建DWORD(32位)值DisableAntiSpyware,数值数据为1
服务器管理器--工具--高级安全Windows Defender防火墙
点击右侧属性,域配置文件--防火墙状态改为关闭
禁用媒体感知通知
注册表定位到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
新建--DWORD(32位)值, 名称为DisableDHCPMediaSense
数值数据为1
调整时间参数
注册表定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
MaxPosPhaseCorrection先改为十进制,数据数据为600
MaxNegPhaseCorrection先改为十进制,数据数据为600
#执行立即生效 w32tm.exe /config /update
禁用Distributed Transaction Coordinator
服务中找到后将MSDTC停止并禁用
设置C盘共享
C盘属性--共享--高级共享
勾选“共享此文件件”--权限
将Everyone的权限全部允许,再添加Administrator账户,权限也全部允许
修改组策略
计算机配置--管理模板--网络--Lanman工作站--启用不安全的来宾登陆
计算机配置--Windows设置--安全设置--本地策略--安全选项--网络访问:本地账户的共享和安全模型,改为经典
编辑hosts
运行中打开C:\Windows\System32\drivers\etc\hosts
#Public ip 172.16.2.121 winrac1 172.16.2.122 winrac2 #Private ip 10.0.10.121 winrac1-priv 10.0.10.122 winrac2-priv #Vip 172.16.2.131 winrac1-vip 172.16.2.132 winrac2-vip #Scan ip 172.16.2.141 winrac-scan 172.16.2.142 winrac-scan 172.16.2.143 winrac-scan #Stroage ip 172.16.2.43 winrac-stor
配置地址
修改三张网卡名称
改完结果
配置地址时,只保留这三项
添加地址后,点击高级
反勾选自动跃点,将Public网卡改为1,Private改为2,Storage改为3,数字越低优先权就越高
反勾选“在DNS中注册此连接的地址”
#cmd下运行 netsh int ipv4 set dynamicport tcp start=20000 num=40000
netstat -rn可以查修改后效果
powershell中get-netipinterface也可查
网络连接--组织--布局--菜单栏
高级--高级设置
将Microsoft Windows Network置于首位
网络测试
ping winrac2 ping winrac2-priv net time \\winrac2-priv net time \\winrac2-priv /set /y net use \\winrac2\C$
挂载共享存储(所有节点)
控制面板--所有控制面板项--iSCSI发起程序,启动服务
发现--发现门户
输入存储地址
目标门户出现存储地址
目标--已发现的目标出现3个LUN
选中一个LUN,点击连接,单线可以不启动多路径
将三个LUN全部连接上
共享盘操作
磁盘管理器中,左侧点击右键,让三块磁盘联机(节点2也操作)
选择为MBR分区表,注意不支持GPT(节点2也操作)
节点1将磁盘新建简单卷
新建简单卷向导
容量默认
不分配驱动器或驱动器路径
不要格式化这个卷
完成第一个卷的操作
节点1按照上述方法,将其余2个磁盘也创建为简单卷,节点2不要操作
节点2只要刷新一下
#检查磁盘 DISKPART LIST DISK 两个节点中磁盘号必须一致
安装前检查
D盘下新建app\12.2.0目录,将解压的winx64_12201_grid_home.zip重命名为grid
#CMD下 d: cd app/12.2.0/grid runcluvfy.bat stage -pre crsinst -n winrac1,winrac2 -verbose
输出为
正在验证物理内存... 节点名 可用 必需 状态 ------------ ------------------------ ------------------------ ---------- winrac2 7.999GB (8387520.0KB) 8GB (8388608.0KB) 通过 winrac1 7.999GB (8387520.0KB) 8GB (8388608.0KB) 通过 正在验证物理内存...通过 正在验证可用物理内存... 节点名 可用 必需 状态 ------------ ------------------------ ------------------------ ---------- winrac2 7.1866GB (7535748.0KB) 50MB (51200.0KB) 通过 winrac1 6.7041GB (7029796.0KB) 50MB (51200.0KB) 通过 正在验证可用物理内存...通过 正在验证交换空间大小... 节点名 可用 必需 状态 ------------ ------------------------ ------------------------ ---------- winrac2 9.874GB (1.03536E7KB) 7.999GB (8387520.0KB) 通过 winrac1 9.874GB (1.03536E7KB) 7.999GB (8387520.0KB) 通过 正在验证交换空间大小...通过 正在验证空闲空间: winrac2:C:\WINDOWS\TEMP... 路径 节点名 装载点 可用 必需 状态 ---------------- ------------ ------------ ------------ ------------ ------------ C:\WINDOWS\TEMP winrac2 C 44.0906GB 1GB 通过 正在验证空闲空间: winrac2:C:\WINDOWS\TEMP...通过 正在验证空闲空间: winrac1:C:\WINDOWS\TEMP... 路径 节点名 装载点 可用 必需 状态 ---------------- ------------ ------------ ------------ ------------ ------------ C:\WINDOWS\TEMP winrac1 C 39.4313GB 1GB 通过 正在验证空闲空间: winrac1:C:\WINDOWS\TEMP...通过 正在验证体系结构... 节点名 可用 必需 状态 ------------ ------------------------ ------------------------ ---------- winrac2 64-bit 64-bit 通过 winrac1 64-bit 64-bit 通过 正在验证体系结构...通过 正在验证环境变量: "PATH"... 节点名 是否已设置? 最大长度 实际长度 注释 ---------------- ------------ ------------ ------------ ---------------- winrac2 是 5119 176 通过 winrac1 是 5119 301 通过 正在验证环境变量: "PATH"...通过 正在验证组件 "Oracle Notification Service (ONS)" 的端口可用性... 节点名 端口号 协议 可用 状态 ---------------- ------------ ------------ ------------ ---------------- winrac2 6200 TCP 是 成功 winrac1 6200 TCP 是 成功 winrac2 6100 TCP 是 成功 winrac1 6100 TCP 是 成功 正在验证组件 "Oracle Notification Service (ONS)" 的端口可用性...通过 正在验证节点连接性... 节点 "winrac1" 的接口信息 名称 IP 地址 子网 网关 默认网关 HW 地址 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ public 172.16.2.121 172.16.2.0 UNKNOWN 00:0C:29:33:F0:0D 1500 private 10.0.10.121 10.0.10.0 UNKNOWN 00:0C:29:33:F0:17 1500 节点 "winrac2" 的接口信息 名称 IP 地址 子网 网关 默认网关 HW 地址 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ public 172.16.2.122 172.16.2.0 UNKNOWN 00:0C:29:C8:12:6E 1500 private 10.0.10.122 10.0.10.0 UNKNOWN 00:0C:29:C8:12:78 1500 检查: 子网 "10.0.10.0" 的 MTU 一致性。 节点 名称 IP 地址 子网 MTU ---------------- ------------ ------------ ------------ ---------------- winrac1 private 10.0.10.121 10.0.10.0 1500 winrac2 private 10.0.10.122 10.0.10.0 1500 检查: 子网 "172.16.2.0" 的 MTU 一致性。 节点 名称 IP 地址 子网 MTU ---------------- ------------ ------------ ------------ ---------------- winrac1 public 172.16.2.121 172.16.2.0 1500 winrac2 public 172.16.2.122 172.16.2.0 1500 源 目标 是否已连接? ------------------------------ ------------------------------ ---------------- winrac1[private:10.0.10.121] winrac2[private:10.0.10.122] 是 源 目标 是否已连接? ------------------------------ ------------------------------ ---------------- winrac1[public:172.16.2.121] winrac2[public:172.16.2.122] 是 正在验证子网 "10.0.10.0" 的子网掩码一致性...通过 正在验证子网 "172.16.2.0" 的子网掩码一致性...通过 正在验证节点连接性...通过 正在验证多点传送检查... 正在检查子网 "10.0.10.0" 是否能够与多点传送组 "224.0.0.251" 进行多点传送通信 正在验证多点传送检查...通过 正在验证Windows 防火墙状态... 节点名 是否启用? 注释 ------------ ------------------------ ------------------------ winrac2 否 通过 winrac1 否 通过 正在验证Windows 防火墙状态...通过 正在验证网络时间协议 (NTP)... 正在验证服务 "W32Time" 正在运行...通过 正在验证服务 "W32Time" 注册表设置...通过 正在验证网络时间协议 (NTP)...通过 正在验证检查: 用户 "Administrator" 是否为域用户...失败 (PRVF-10000) 正在验证时区一致性...通过 正在验证磁盘自动装载功能状态... 节点名 是否启用? 注释 ------------ ------------------------ ------------------------ winrac2 是 通过 winrac1 是 通过 正在验证磁盘自动装载功能状态...通过 正在验证节点间的 Windows 用户帐户一致性检查...失败 正在验证集群节点不是 Windows 域控制器。... 节点名 是 Windows 域控制器 状态 ------------ ------------------------ ------------------------ winrac1 否 通过 winrac2 否 通过 正在验证集群节点不是 Windows 域控制器。...通过 正在验证ASM 过滤器驱动程序配置...通过 集群服务设置 的预检查失败。 以下节点的检查未通过: winrac1 执行 CVU 验证请求 "stage -pre crsinst" 时失败。 正在验证检查: 用户 "WINRAC1\Administrator" 是否为域用户...失败 winrac1: PRVF-10000 : 无法检查用户 "WINRAC1\Administrator" 是否为域用户: "PRCZ-1091 : 无法验证用户名 "WINRAC1\Administrator" 是否为有效的 Windows 用户" 正在验证节点间的 Windows 用户帐户一致性检查...失败 CVU 操作已执行: stage -pre crsinst 日期: 2020-2-26 13:44:25 CVU 主目录: D:\winx64_12201_grid_home\ 用户: WINRAC1\Administrator
安装Grid
运行gridSetup.bat
为新集群配置Oracle Grid Infrastructure
配置Oracle独立集群
输入集群名称和SCAN名称
添加节点2公用主机名和虚拟主机名
等待验证
public设置为公用,private设置为ASM和专用
不单独创建GIMR
磁盘组名改为OCR,冗余改为外部,点击标记磁盘
弹出向导,下一步
填写标记OCR,选中100G的LUN
下一步
完成
再次点击标记磁盘
标记为DATA,选择125G的LUN
下一步完成
再标记FRA,选择155G的LUN
下一步完成
磁盘组名OCR,勾选刚标记的100G磁盘,下一步
输入口令为oracle,忽略密码复杂性提示
不适用智能平台管理接口IPMI
不注册到EMCC
使用Windows内置账户
设置Oracle基目录为D:\app\grid\Administrator
先决条件检查有2处问题,检查用户Administrator是否在域用户,因为12c推荐域环境中安装
节点间Windows用户账号一致性检查失败是因为系统中只有Administrator用户,没有新建Oracle用户
勾选全部忽略
安装
安装过程2个小时,没有任何报错
点击关闭
#CMD下检查集群状态 crs_stat -t
安装Oracle
将winx64_12201_database.zip解压放置D:\app\12.2.0\database,运行setup.exe
反勾选接收安全更新
确认
选择仅安装数据库软件
选择Oracle Real Application Clusters数据库安装
选上2个节点
选择企业版
使用Windows内置账户
确认
Oracle基目录为D:\app\
软件位置为D:\app\product\12.2.0\dbhome_1
等待
点击安装
等待
关闭
自动存储管理设置
#cmd下执行 asmca
磁盘组--创建
创建磁盘组名称为DATA,磁盘路径勾选标记为DATA的
创建磁盘组名称为FRA,磁盘路径勾选标记为FRA的
创建完毕后关闭
创建数据库
#cmd下执行 dbca
选择创建数据库
选择高级配置
选择一般用途或事务处理
选择2个节点
全局数据库名和SID前缀默认
点击浏览,将数据库文件位置改为+DATA
勾选指定快速恢复区和启用归档,点击浏览,将快速恢复区改为+FRA
下一步
内存选择使用自动共享内存管理
调整大小默认
字符集勾选使用Unicode,默认语言英语(美国),默认地区美国
连接模式选择专用服务器模式
示例方案勾选将示例方案添加到数据库,然后下一步
EM配置默认,下一步
选择所有账户用一管理口令
确认
创建数据库
完成
等待先决条件检查
等待
关闭
集群状态检查
sqlplus / as sysdba select inst_name from v$active_instances;
srvctl config database -d orcl srvctl status database -d orcl
lsnrctl start
本站所有文章均可随意转载,转载时请保留原文链接及作者。