前提 yushangfu
本文的主旨是使没有安装过10gRAC的朋友能够根据本文顺利的安装一遍RAC
虚拟机版本是vmware server2.02,而且必须使用server版本
红帽版本是rhel-server-5.5-i386-dvd
至于为什么非得用server版本的虚拟机,是因为workstation版本的不支持共享磁盘。本文采用的磁盘共享方式是:在第一节点添加一块磁盘,然后再在第二节点添加磁盘时,让添加的磁盘指向第一节点添加的那块,这样来实现磁盘的共享。
一.安装系统
1.
2.
3.本本是2G内存的,同时开两个虚拟机,所以把内存设成了700m,不至于太卡
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.通过再添加一块网卡。接下来就开始系统的安装
14.
这样一步一步下来,系统安装完成
二,系统参数的配置和包的安装
1.参数配置可以使用以下脚本
(在/opt目录下建个configure.sh文件,然后用vi编辑器把以下脚本粘在这个文件中,在执行chmod a+x configure.sh命令,执行完这个脚本,参数也就配置完成。)
需要注意的是:由于RAC需要系统定时向其他节点发送数据包来确定其他节点的存活状态,而虚拟机毕竟不是真实的机器,此间会存在不稳定的状态,至于此,可以在安装crs的同时ping其它主机来验证(有时返回的时间很长,有时则很短),为避免安装失败,所以以下脚本中红色的部分可以去掉,等到安装crs和数据库完成后在根据自己的意愿执行添加。我在安装的时候,等数据库和crs都安装完了,我也没配置红色的参数。自己做练习的话没有影响。
#!/bin/bash
cp /etc/sysctl.conf /etc/sysctl.conf_bak
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs.file-max = 65536" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
echo "net.core.rmem_default = 1048576" >> /etc/sysctl.conf
echo "net.core.rmem_max = 1048576" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 262144" >> /etc/sysctl.conf
/sbin/sysctl -p
echo ">>>>>>>>>>sysctl.conf updated successfully<<<<<<<<<<"
cp /etc/security/limits.conf /etc/security/limits.conf_bak
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
tail -n 4 /etc/security/limits.conf
echo ">>>>>>>>>>limits.conf updated successfully<<<<<<<<<<"
cp /etc/pam.d/login /etc/pam.d/login_bak
echo "session required /lib/security/pam_limits.so" >> /etc/pam.d/login
tail -n 1 /etc/pam.d/login
echo ">>>>>>>>>>login updated successfully<<<<<<<<<<"
cp /etc/profile /etc/profile_bak
echo 'if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi' >> /etc/profile
tail -n8 /etc/profile
echo ">>>>>>>>>>profile updated successfully<<<<<<<<<<"
insmod /lib/modules/$(uname -r)/kernel/drive