说明:因工作需要,苦练RAC安装。在百度狂搜之后,发现还没有一份完整版的,适合新手搭建RAC 11G环境的安装手册。
本安装步骤手册通过本人根据实践,整理后的真实安装步骤。
在通过对RAC 10g和11g进行安装,发现还有有些区别。在RAC 11g中,RAC已经被整合到oracle grid infrastructure.下面是整个安装步骤,与需要的朋友分享下。
安装环境列表:
1、VMwave 9.0 64位虚拟机
2、安装2台操作系统:RedHat 6.4 64bit
3、oracle Grid Infrastructure软件包:linux.x64_11gR2_grid.zip
4、Oracle数据库软件包:linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
RAC 11g的安装整体分为7大块:
1、vmware创建共享磁盘
2、共享存储ASM的配置
3、ORACLE clusterverify 集群验证工具
4、安装前的系统配置
5、oracle grid infrastructure的安装
6、oracle RAC数据库软件安装
7、oracle RAC数据库创建
*******安装步骤*******
步骤一:vmware创建共享磁盘
1、创建物理共享磁盘
新建一个E:\share-vm文件夹,打开cmd,
cd C:\Program Files (x86)\VMware\VMware Workstation 进入vmware安装目录
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk1.vmdk
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk2.vmdk
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk3.vmdk
出现以下提示表示创建成功。
Create: 100% done. Virtual disk creation successful.
2、虚拟机添加物理共享磁盘
进入已安装操作系统的虚拟服务器所对应的虚拟系统目录(不是虚拟机软件安装目录),找到.vmx(VMware配置文件),用记事本打开,添加如下记录:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "E:\share-vm\sharedisk1.vmdk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\share-vm\sharedisk2.vmdk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\share-vm\sharedisk3.vmdk"
重新点击虚拟服务器可看到:
其他需要共享的服务器同样进行配置。
3、进入对应服务器后,通过fdisk -l查看
对3块硬盘进行分区
fdisk /dev/sdb
n -> p -> 1 -> w
会生成/dev/sdb1系统文件
步骤二:共享存储ASM的配置
配置共享存储ASM(所有节点) --配置前需使用fdisk -l看到裸盘
1)安装三个rpm包:
kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm 需要去redhat网或百度下载(该补丁只适用于redhat 6.4版本)
oracleasmlib-2.0.4-1.el6.x86_64.rpm oracle官网下载
oracleasm-support-2.1.8-1.el6.x86_64.rpm oracle官网下载
2)配置oracle ASM驱动程序:
/etc/init.d/oracleasm configure
3)创建Oracle ASM共享设备(只需在第一个集群节点操作)
对磁盘进行分区:
fstab /dev/sdb
fstab /dev/sdc
fstab /dev/sdd
n -> p -> 1 -> 回车 -> 回车 -> w
标记ASM头信息:
清空分区表头:
[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=10
[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdc1 bs=1M count=10
[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdd1 bs=1M count=10
表头标记为ASM头信息:
[root@oracle01 ~]# /usr/sbin/oracleasm init
[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK2 /dev/sdc1
[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK3 /dev/sdd1
验证当前ASM磁盘信息:
刷新ASM磁盘分区:
[root@oracle01 ~]# /usr/sbin/oracleasm scandisks
查看当前ASM磁盘分区:
[root@oracle01 ~]# /usr/sbin/oracleasm listdisks
步骤三:ORACLE clusterverify 集群验证工具
解压linux.x64_11gR2_grid.zip
安装前的集群验证工具clusterverify(一台执行即可)
[grid@oracle01 grid]$ ./runcluvfy.sh stage -list
USAGE:
runcluvfy stage {-pre|-post} <stage-name> <stage-specific options> [-verbose]
有效的阶段选项和阶段名称为:
-post hwos : 后期检查硬件和操作系统
-pre cfs : 预检查 CFS 设置
-post cfs : 后期检查 CFS 设置
-pre crsinst : 预检查 CRS 安装
-post crsinst : 后期检查 CRS 安装
-pre hacfg : 预检查 HA 配置
-post hacfg : 后期检查 HA 配置
-pre dbinst : 预检查数据库安装
-pre acfscfg : 预检查 ACFS 配置。
-post acfscfg : 后期检查 ACFS 配置。
-pre dbcfg : 预检查数据库配置
-pre nodeadd : 预检查添加节点。
-post nodeadd : 后期检查添加节点。
-post nodedel : 后期检查节点删除。
检查集群的状态(硬件和操作系统)
./runcluvfy.sh stage -post hwos -n oracle01,oracle02 -verbose
对于RAC包括grid infrastructure的所有组件
./runcluvfy.sh comp -list
步骤四:安装前的系统配置
1、配置域名解析(所有节点)
vim /etc/hosts
#Public Host Names
192.168.100.101 oracle01.us.oracle.com oracle01
192.168.100.201 oracle02.us.oracle.com oracle02
#Private Host Names
10.10.100.101 oracle01-priv.us.oracle.com oracle01-priv
10.10.100.201 oracle02-priv.us.oracle.com oracle02-priv
#Virtual Host Names
192.168.100.100 oracle01-vip.us.oracle.com oracle01-vip
192.168.100.200 oracle02-vip.us.oracle.com oracle02-vip
#SCAN
192.168.100.88 rac-scan.localdomain rac-scan
2、配置时钟同步
集群中所有服务器上的系统时间保持同步:
vim /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
同步服务器:
vim /etc/ntp.conf
server 127.127.1.0
restrict 192.168.0.0 mask 255.255.0.0 nomodify
同步客户端:
crontab -e
0 * * * * /usr/sbin/ntpdate 192.168.100.101 ; /sbin/hwclock -r
3、设置组和用户(所有节点)
root用户:
[root@oracle-1 ~]# /usr/sbin/groupadd -g 501 oinstall
[root@oracle-1 ~]# /usr/sbin/groupadd -g 502 dba
[root@oracle-1 ~]# /usr/sbin/groupadd -g 504 asmadmin
[root@oracle-1 ~]# /usr/sbin/groupadd -g 506 asmdba
[root@oracle-1 ~]# /usr/sbin/groupadd -g 507 asmoper
[root@oracle-1 ~]# /usr/sbin/useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper grid
[root@oracle-1 ~]# /usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle
确认下:
[root@oracle-1 ~]# id oracle
uid=502(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),506(asmdba)
[root@oracle-1 ~]# id grid
uid=501(grid) gid=501(oinstall) 组=501(oinstall),504(asmadmin),506(asmdba),507(asmoper)
5、保护外壳和用户限制配置
vim /etc/security/limits.conf
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
vim /etc/pam.d/login
session required pam_limit.so
6、内核参数配置
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
sysctl -p 使其生效
7、集群心跳网卡配置
至少包含一根公用网卡,一根专业网卡(心跳)
8、集群grid、oracle用户做互信
[grid@oracle02 ~]$ ssh-keygen -t dsa
[grid@oracle02 ~]$ cat ~/.ssh/id_dsa.pub | ssh grid@oracle01 "cat - >> ~/.ssh/authorized_keys"
[oracle@oracle02 ~]$ ssh-keygen -t dsa
[oracle@oracle02 ~]$ cat ~/.ssh/id_dsa.pub | ssh oracle@oracle01 "cat - >> ~/.ssh/authorized_keys"
9、使用clusterverify工具验证(无任何报错才能进入下一步)
[oracle@oracle01 grid]$ ./runcluvfy.sh stage -post hwos -n oracle01,oracle02 -verbose
10、安装所需补丁包
yum install *.rpm -y
elfutils-libelf-devel-0.152-1.el6.x86_64.rpm
gcc-c++-4.4.7-3.el6.x86_64.rpm
glibc-devel-2.12-1.107.el6.x86_64.rpm
glibc-headers-2.12-1.107.el6.x86_64.rpm
libaio-devel-0.3.107-10.el6.x86_64.rpm
unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm
libstdc++-4.4.7-3.el6.i686.rpm
rpm -ivh *.rpm --nodeps --force
libaio-0.3.106-5.i386.rpm
libaio-devel-0.3.106-5.i386.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
libgcc-4.1.2-48.el5.i386.rpm
libstdc++-4.1.2-48.el5.i386.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
unixODBC-2.2.11-7.1.i386.rpm
pdksh-5.2.14-36.el5.i386.rpm
11、安装grid前验证
./runcluvfy.sh stage -pre crsinst -n oracle01,oracle02
步骤五:oracle grid infrastructure的安装
在安装前,必须进行验证(需无任何报错后,才能进行下一步):
[oracle@oracle01 grid]$ ./runcluvfy.sh stage -pre crsinst -n oracle01,oracle02
安装grid infrastructure(仅在第一个节点安装),最好使用grid用户,以方便后续管理。
[grid@oracle01 grid]$script /tmp/install_screen.`date +%Y%m%d%H%M%S`.out #将后续的输出重定向到文件
[grid@oracle01 grid]$ ./runInstaller
注:如果执行报错,提示系统为32位,需修改LONG_BIT参数值
getconf LONG_BIT 确认结果值是否为32
cd /usr/libexec/getconf/
rm -rf default
ln -s POSIX_V6_LP64_OFF64 default
getconf LONG_BIT 确认结果值为64是否生效
----------进入安装界面-------------
安装条执行到100%,执行如下脚本:
[root@oracle01 ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracle01 ~]# /u01/app/11.2.0/grid/root.sh
执行步骤:
1)在第一个节点执行这2个脚本,至执行完成
2)在其他节点(除最后一个节点),并行执行这2个脚本,至执行完成
3)在最后一个节点执行这2个脚本,至执行完成
-----------------------------------------
注意:11g r2有个BUG
BUG内容:当执行 /u01/app/11.2.0/grid/root.sh 脚本报错如下:
Adding daemon to inittab
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: 对设备不适当的 ioctl 操作
ohasd failed to start at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.
解决办法:
1)执行脚本回滚root.sh操作
[root@oracle01 ~]# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -delete -force
2)重新执行root.sh操作
(开启2个会话,在出现“Adding daemon to inittab”时,同步操作dd命令(直到成功执行为止))
[root@oracle01 ~]# /u01/app/11.2.0/grid/root.sh
dd操作:
[root@oracle01 ~]# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
验证oracle grid infrastructure的安装
使用验证工具:
$./runcluvfy.sh stage -post crsinst -n oracle01,oracle02
显示集群资源状态
$crsctl stat res -t
查看scan的配置信息
$srvctl config scan
步骤六:oracle RAC数据库软件安装
进行数据库安装前系统配置验证(通过后才能进行下一步):
[oracle@oracle01 grid]$ ./runcluvfy.sh stage -pre dbinst -n oracle01,oracle02 -osdba dba
进行数据库安装前数据库配置验证(通过后才能进行下一步):
./runInstaller
安装完成后,所有节点执行:
#/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
步骤七:oracle RAC数据库创建
$cd $ORACLE_HOME/bin
$./dbca
******end*********
至此,整个RAC 11g安装完成。