欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

在Windows2008R2上搭建RAC+DG

程序员文章站 2022-06-14 16:40:47
...

前期规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1G 操作系统:Windows 2008 R2 Enterprise ******* RAC部分 ******* 一、准备工作 1.修改提升权限提示方式为不提示,直接提升(默

前期规划:

节点1: tc1 192.168.56.101 内存:2G

节点2: tc2 192.168.56.102 内存:2G

物理备库:tcdg192.168.56.108内存:1G

操作系统:Windows 2008 R2 Enterprise

*******
RAC部分
*******

一、准备工作

1.修改提升权限提示方式为“不提示,直接提升”(默认为“非Windows二进制文件的同意提示”)
cmd> secpol.msc->本地策略->安全选项->用户账户控制->管理员批准模式中管理员的提升权限提示的行为

2.禁用防火墙
cmd> firewall.cpl->打开或关闭防火墙->关闭Window防火墙

3.修改注册表关闭DHCP媒体感知(修改后重启生效)
cmd> regedit->\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters下面添加一项,名字是DisableDHCPMediaSense,类型为DWORD,值为1

4.检查是否生效
cmd> netsh interface ipv4 show global
DHCP 媒体感知 :enabled

5.关闭可伸缩网络包(SNP)特性(修改后立即生效)
cmd> netsh int tcp set global rss=disabled
cmd> netsh int tcp set global chimney=disabled

c:\grid>netsh int tcp show global
查询活动状态...

TCP 全局参数
----------------------------------------------
接收方缩放状态 : disabled
烟囱卸载状态 : disabled
NetDMA 状态 : enabled
直接缓存访问(DCA) : disabled
接收窗口自动调谐级别 : normal
附加拥塞控制提供程序 : ctcp
ECN 功能 : disabled
RFC 1323 时间戳 : disabled

6.调整网络绑定顺序
cmd> ncpa.cpl->高级->高级设置->调整public在前,private在后,并且确保IPV4协议在IPV6协议之前

7.停止Distributed Transaction Coordinator,并设置成手动启动
cmd> services.mcs->点属性修改

8.同步各节点时间(可选)
通常节点之间的时间是由CTSSD(Cluster Time Synchronization Services Daemon)或 Windows Time Service来保证的
如果开启了Windows Time Service(默认关闭),那么必须保证不会被反向修改,需要做以下调整
cmd> regedit->\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
把MaxNegPhaseCorrection的值改为0
cmd> w32tm /config /update --使修改生效

9.设置环境变量(可选)
装完系统默认应该已经有TMP和TEMP这两个环境变量了,路径都为%USERPROFILE%\AppData\Local\Temp
由于在安装OUI的时候,会用到这2个环境变量,所以如果没有的话需要添加上,并且确保路径是一致的

10.修改C:\windows\system32\etc\hosts
#public ip
192.168.56.101 tc1
192.168.56.102 tc2
#virtual ip
192.168.56.103 tc1-vip
192.168.56.104 tc2-vip
#private ip
10.0.0.1 tc1-priv
10.0.0.2 tc2-priv
192.168.56.105 tc-cluster-scan

11.full clone节点1至节点2
启动并修改节点2的网卡ip地址和主机名后再次重启

12.测试连通性
节点1执行
cmd> ping tc2
cmd> ping tc2-vip
cmd> ping tc2-priv
cmd> net use \\tc2\c$
节点2执行(略)

13.测试远程注册表
节点1执行
cmd> regedit->文件->连接网络注册表->输入tc2->检查名称-确定
节点2执行(略)

二、配置共享磁盘

1.共享磁盘划分规划
DISK1 TC_OCR_VOTE1 1G
DISK2 TC_OCR_VOTE2 1G
DISK3 TC_OCR_VOTE3 1G
DISK1 TC_DATA12G
DISK5 TC_DATA22G
DISK6 TC_FRA1 2G
DISK7 TC_FRA2 2G

从11g开始,Oracle推荐把OCR和VOTEDISK放到ASM中进行管理,所以这里共划分了7块磁盘,3块用于磁盘组OCRVOTE,采用NORMAL冗余,2块用于DATA,2块用于FRA,都是外部冗余。注意,这里分配的用于创建ASM磁盘组的磁盘必须是不带盘符的裸磁盘,在Windows 2003中,可以用diskmgmt.msc来代替diskpart来创建磁盘分区,但是在Windowns 2008中只能用diskpart来分区

2.设置自动挂载(所有节点)
cmd> diskpart
diskpart> automount enable

3.清除磁盘(节点1)
cmd> list disk
cmd> select disk 1
cmd> clean all
...
cmd> select disk 7
cmd> clean all

4.创建扩展分区和逻辑磁盘(节点1)
cmd> select disk 1
cmd> create part ext
cmd> create part log
...
cmd> select disk 7
cmd> create part ext
cmd> create part log

5.删除逻辑磁盘盘符(节点2)
本地节点上用diskpart创建完扩展分区和逻辑盘后不会显示逻辑盘符,但其他节点上可能会有,需要全部去除,注意,刚在节点2需重启才能发现节点1上对磁盘的分区
cmd> select disk 3 --注意对应的逻辑驱动器卷标,并不是从1开始的
cmd> remov
...
cmd> select disk 9
cmd> remov

6.用asmtool或asmtoolg来划分asm磁盘组分区
进入grid安装介质中,如:C:\grid\asmtools,运行amstoolg
选中要添加到同一个磁盘组的盘,输入磁盘组名称,点击下一步

三、安装Grid Infrastructure软件

1.预检安装条件是否满足
C:\grid> runcluvfy stage -pre crsinst -n tc1,tc2 -verbose
C:\grid> runcluvfy stage -post hwos -n tc1,tc2 -verbose

会提示集群服务配置失败,由于此时并没有配置过vip,忽略。还有一个警告是无法将用户 "Administrator" 作为域用户进行验证,这个可以忽略。最后一个警告是提示防火墙没有关闭,但检查了一下,确实是关闭的,根据后面OUI里面的提示,通过修改注册表可以关闭防火墙。但是后来发现是因为域配置文件中的防火墙没有关造成的

2.安装(略)

在Windows2008R2上搭建RAC+DG

在Windows2008R2上搭建RAC+DG在Windows2008R2上搭建RAC+DG


四、安装Database软件

1.预检安装条件是否满足
C:\grid> runcluvfy stage -pre dbinst -n tc1,tc2 -verbose

2.安装(略)
安装数据库软件卡在100%,卡了大约1个小时,一度以为卡死掉了,最后终于等到它完全装好
结束之后要在远程节点执行ORACLE_HOME/bin/selecthome.bat,以激活以下5个产品:
Oracle Data Provider for .NET
Oracle Provider for OLE DB
Oracle Objects for OLE
Oracle Counters for Windows Performance Monitor
Oracle Administration Assistant

五、创建磁盘组(ASMCA)

1.创建+DATA和+FRA磁盘组
C:\Users\Administrator>set oracle_home=c:\app\11.2.0\grid
C:\Users\Administrator>set oracle_sid=+asm1
C:\Users\Administrator>asmcmd
ASMCMD> ls
DATA/
FRA/
OCRVOTE/

2.创建OCR镜像备份
虽然之前已经单独为OCR和VOTEDISK创建了一个磁盘组,但Oracle建议至少在其他磁盘组中存放OCR的镜像,注意,每个磁盘组只能存放一个OCR镜像
C:\Users\Administrator>asmcmd lsof
DB_Name Instance_Name Path
+ASM +asm1 +ocrvote.255.4294967295
由于此时并未创建数据库实例,所以目前只有在+OCRDATE磁盘组中有唯一的一个文件,就是OCR文件

C:\Users\Administrator>asmcmd
ASMCMD> cd ocrvote/tc-cluster/ocrfile
ASMCMD> ls
REGISTRY.255.854982335
ASMCMD> pwd
+ocrvote/tc-cluster/ocrfile
注意,OCR实际的文件名是REGISTRY.255.854982335,而并不是+ocrvote.255.4294967295,这只是一个路径

OCR文件的备份方式

--自动备份
C:\Users\Administrator>ocrconfig -showbackup
PROT-24: Oracle 集群注册表的自动备份不可用
PROT-25: Oracle 集群注册表的手动备份不可用

默认Oracle会提供5份自动备份,按月、星期、天、以及保留最后3次改动,也可以手动执行备份,由于是新部署的环境,所以自动备份还未生成,也没有执行过手动备份

--手工备份
C:\Users\Administrator>ocrconfig -manualbackup

tc2 2014/08/08 11:05:30 C:\app\11.2.0\grid\cdata\tc-cluster\backup_20140
808_110530.ocr
默认存放在“%ORACLE_CRS_HOME%\cdata\集群名\”下面,文件名格式为“backup_xxxxxxxx_xxxxxx.orc”
这个默认位置可以通过-backuploc参数来改
C:\Users\Administrator>ocrconfig -backuploc c:\app

C:\Users\Administrator>ocrconfig -manualbackup

tc2 2014/08/08 11:20:38 c:\app\backup_20140808_112038.ocr

tc2 2014/08/08 11:05:30 C:\app\11.2.0\grid\cdata\tc-cluster\backup_20140
808_110530.ocr

注意,以上命令我是在tc1节点上执行的,但是默认却放到了tc2节点的本地路径,我又尝试在节点2上再次执行手工备份,依然是在tc2节点本地指定的路径生成OCR备份,难道是Oracle专门这样设计的吗?

--导出/导入到本地磁盘的方式
ocrconfig -export C:\ocr_bak.ocr
ocrconfig -import C:\ocr_bak.ocr

注意:利用自动或手动备份进行恢复是用restore而不是import

--在磁盘组中添加OCR冗余
C:\Users\Administrator>ocrconfig -add +DATA
C:\Users\Administrator>ocrconfig -add +FRA
C:\Users\Administrator>ocrcheck
Oracle 集群注册表的状态如下:
版本 : 3
总空间 (KB) : 262120
已用空间 (KB) : 2808
可用空间 (KB): 259312
ID : 513928542
设备/文件名 : +OCRVOTE
设备/文件完整性检查成功
设备/文件名 : +DATA
设备/文件完整性检查成功
设备/文件名 : +FRA
设备/文件完整性检查成功

设备/文件尚未配置

设备/文件尚未配置

集群注册表完整性检查成功

逻辑损坏检查成功

这里在+DATA和+FRA磁盘组都配置了OCR的备份,可以看到,Oracle提供最多5个位置用来备份OCR

可以看到,Oracle提供了多种备份ORC的方法,在10g中,用得比较多的就是存放在多个RAW设备上,然后用export/import到RAW磁盘的方式进行备份恢复,到了11g,Oracle把OCR放入了磁盘组,默认就是放VOTEDISK的那个磁盘组,并且建议在其他磁盘组中创建冗余

3.查看表决磁盘
C:\Users\Administrator>crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 7a6a6919ffe84fcfbf1e242c18f0b93e (\\.\ORCLDISKOCRVOTE2) [OCRVOTE]
2. ONLINE 5857035b4da74fb3bf2f9c7d79a8aa2e (\\.\ORCLDISKOCRVOTE1) [OCRVOTE]
3. ONLINE 7dd5966551d84fcbbffd88b32c038537 (\\.\ORCLDISKOCRVOTE0) [OCRVOTE]
找到了 3 个表决磁盘。

六、创建数据库实例(DBCA)

1.预检之前安装的RAC数据库软件是否正常
c:\grid> runcluvfy stage -pre dbcfg -n all -d C:\app\11.2.0\grid -verbose

2.创建数据库实例
c:\grid> dbca