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

基于Workstation8、CentOS6.5实现12C RAC搭建安装

程序员文章站 2022-05-07 18:31:25
...

基于Workstation8、CentOS6.5实现12C RAC搭建安装

作者:HopToad
地点:杭州滨江
邮箱:appdevzw@163.comj
微信公众号:HopToad
欢迎各界交流
2014年12月


1 准备条件 1.1 硬件版本

家用PC机一台,硬盘空间150G以上,,内存8G以上。
每个虚拟机(理论要求)配置4G内存

1.2 软件版本

虚拟化软件:VMware Workstation8 以上版本
操作系统: CentOS6.5/REHL6.5/OEL6.5以上
数据库版本:12C
ASMlib下载:



2 网络规划

家中机器的IP地址都由无线路由DHCP统一分配IP,网断192.168.1.*。但是考虑到虚拟机后续接入的便利性,故将IP固定,分配IP地址如下。

主机名 PUB Private ip VIP SCANIP 域名
slave1 192.168.1.201 10.10.0.201 192.168.1.211 192.168.1.220 hoptoad.com
slave2 192.168.1.202 10.10.0.202 192.168.1.212
slave2 192.168.1.203 10.10.0.203 192.168.1.213



3 创建虚拟机

虚拟机配置:CPU数量2X2
内存:2G
硬盘:30G
网卡: 2个(一个使用VMNET0,一个使用Bridge)
安装操作系统。

3.1 克隆虚拟机

安装完一个虚拟机操作系统后,可以直接进行clone.

3.1.1 修改udev文件

克隆完毕后需要修改/etc/udev/rules.d/70-persistent-net.rules,
删除
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:42:b0:b9", ATTR{type}=="1", KERNEL=="eth*",
修改第二行NAME=”eth1” 为 NAME=”eth0”
这样克隆的虚拟机网卡看到的都是eth0开头。
也可以直接删除这个文件后重启。

3.1.2 修改主机名字

修改/etc/sysconfig/network文件中HOSTNAME=rac1
防止各个机器的主机名字一样。

4 共享存储实现 4.1 其中一个VM添加磁盘

右键其中任何一个虚拟机->setting…->add…->HardDisk->Next->create a new virtual disk –》勾选independent->next->SCSI选中->next->大小设置10G->next->选择single file->设置文件名字->设置文件存放路径->advanced…->选择虚拟设备节点scsi 1:0->确定。
同样再增加2个虚拟设备节点分别是1G scsi 1:1,scsi 1:2的磁盘。

4.2 设置磁盘共享

找到该虚拟机镜像存放的路径,本人放在D盘。
找到其中的.vmx后缀文件,编辑。加入如下变量。(关机设置)
disk.locking = "FALSE"
disk.EnableUUID ="true"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus="virtual"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.datacachepagesize=4096
diskLib.maxunsyncedwrites=”0”
scsi1:0.deviceType="disk"
scsi1:1.deviceType="disk"




注意所有虚拟机都需要设置该变量。

4.3 其他虚拟机添加磁盘

右键其中任何一个虚拟机->setting…->add…->HardDisk->Next->using an existing virtual disk->next->选中之前创建的磁盘->选择虚拟设备节点scsi 1:0->确定
同样再增加2个已经存在的磁盘分别是1G scsi 1:1,scsi 1:2的磁盘。
同样处理所有其他节点的虚拟机。
完毕后重启,所有虚拟机可以看到3块共享的磁盘。
通过执行命令fdisk –l查看。

4.4 如果使用系统的ASM配置

命令如下:
systemctl enable oracleasm.service(RedHat 7之后)
/etc/init.d/oracleasm configure 或/etc/init.d/oracleasm configure –i
配置用户grid, asmdba
配置ASM盘 (错误日志 /var/log/oracleasm)
注:记得关闭SELINUX
如果没有没有UUID,继续格式化一下,如:mkfs.ext4 /dev/sdb


5 系统环境预准备 5.1 搭建YUM环境 5.1.1 传入操作系统镜像到各个虚拟机中
5.1.2 编辑/etc/yum.repos.d/rhel-source.repo

如下:
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

5.1.3 执行如下命令,挂载光盘

[root@slave1 ~]# mount -o loop Red\ Hat\ Enterprise\ 6.5\ x86_64.iso /mnt

5.1.4 同样每个虚拟机都配置YUM环境

完毕,这样可以通过本地YUM源来安装相关RPM包。


5.2 解压数据库软件包

执行加压命令如下:
[root@slave1 ~]# unzip linuxamd64_12c_database_1of2.zip
同理解压所有压缩包。


5.3 安装数据库必备包 5.3.1 依赖包

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11 (32-bit) or later
• unixODBC-devel-2.2.11 (64-bit) or later
• unixODBC-2.2.11 (64-bit) or later

5.3.2 一键安装依赖包

我们已经配置了YUM本地源,所以直接进行意见安装即可。
yum install binutils compat-libstdc++* compat-libstdc++*.i686* elfutils-libelf* elfutils-libelf*.i686* gcc* gcc-c++* glibc* glibc*.i686* libaio* libaio*.i686* libgcc* libgcc*.i686* libstdc++* libstdc++*.i686* make sysstat* unixODBC* unixODBC*.i686 oracleasm-support compat-libcap* ksh libXext*i686 libXtst*i686 libX11*i686 libXau*i686 libxcb*i686 libXi*686 libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 libXtst.i686 libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686 glibc-devel.x86_64 compat-libstdc++-33 glibc* gcc* make* compat-db* libstdc* libXp* libXtst* compat-libstdc++* *glibc* java

yum install libXp.x86_64 libXp.i686 elfutils-libelf.x86_64 elfutils-libelf-devel.x86_64 compat-db.i686 compat-db.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 openmotif22.i686 openmotif22.x86_64 libaio-devel.i686 libaio-devel.x86_64 control-center.x86_64 make.x86_64 gcc.x86_64 sysstat.x86_64 libaio.i686 gcc-c++.x86_64 compat-libf2c-34.x86_64 compat-libf2c-34.i686 unixODBC.i686 unixODBC.x86_64 unixODBC-devel.i686 unixODBC-devel.x86_64 libgomp.x86_64 compat-libstdc++-33.x86_64 compat-libstdc++-33.i686 glibc.i686 glibc.x86_64 glibc-common.x86_64 glibc-devel.i686 glibc-devel.x86_64 glibc-headers.x86_64 libXmu.i686 libXmu.x86_64 libgcc.i686 libgcc.x86_64 kernel-headers.x86_64 libstdc++.i686 binutils.x86_64 libstdc++.x86_64 compat-libcap1.x86_64 ompat-libcap1.i686 smartmontools iscsi-initiator-utils install nfs-utils *ksh*

5.3.3 其他包安装

安装oracleasmlib 包
启动oracleasm
#service oracleasm start
红帽7.0后启动
#systemctl start oracleasm
安装cvuqdisk程序包(grid压缩包解压得到)

6 网络配置