1.安装系统,把所有的开发包全部安装上
如果没有配置时间同步协议,那么安装的那台机器rac1时间一定要比另外一台机器rac2时间落后,
2.配置/etc/hosts文件
192.168.6.100 rac1
192.168.6.200 rac2
192.168.6.101 rac1vip
192.168.6.201 rac2vip
10.10.10.100 rac1priv
10.10.10.200 rac2priv
修改主机名:
vi /etc/sysconfig/network
【vip的网段要和host网段一样。】
3.配置核心参数
vi /etc/sysctl.conf
kernel.core_uses_pid = 1
fs.file-max = 65536
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
kernel.shmmni = 4096
kernel.sem = 500 64000 100 128
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
4.创建用户oracle 和dba组
groupadd -g 800 dba
useradd -u 800 -g dba oracle
passwd oracle
创建目录(两节点):
mkdir /oradata
mkdir /soft
mkdir /oracle
chown -R oracle:dba /oradata
chown -R oracle:dba /soft
chown -R oracle:dba /oracle
修改环境变量:
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2
export ORACLE_SID=db
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
编辑 /etc/profile 文件,添加如下部分:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
之后,执行:$ulimit验证一下.
往/etc/csh.login文件里追加以下内容:
vi /etc/csh.login
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
vi /etc/security/limits.conf
oracle soft nofile 655360
oracle hard nofile 635360
oracle soft nproc 10240
oracle hard nproc 16384
6.配置raw或 ocfs2
从oss.oracle.com下载ocfs2软件,安装ocfs2
ocfs2-2.6.9-22.ELsmp-1.0.7-1.x86_64.rpm
还将需要下载以下两个支持文件:
ocfs2console-1.0.2-1.x86_64.rpm
ocfs2-tools-1.0.2-1.x86_64.rpm
rpm -Uvh *
使用root用户配置ocfs2
/etc/init.d/o2cb configure
/etc/init.d/o2cb enable
使用root用户调出图形界面添加节点信息
/usr/sbin/ocfs2console
cluster--->configure nodes---->propagate configuration..
检测:
/etc/init.d/o2cb status
[root@rac2 ~]# /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 61
Network idle timeout: 30000
Network keepalive delay: 2000
Network reconnect delay: 2000
Checking O2CB heartbeat: Not active
使用root用户格式化磁盘为ocfs2格式【/dev/sdb 为共享盘】
mkfs.ocfs2 -L "clusterfiles" /dev/sdb
mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata
将 OCFS 配置为在启动时自动载入
我们需要在集群中的所有节点上以 root 用户帐户的身份运行以下命令
export PATH=$PATH:/sbin:/usr/sbin
使用root用户mount集群文件系统(两节点)
echo "mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata" >> /etc/rc.local
echo "chown -R oracle:dba /oradata" >> /etc/rc.local
echo "chmod -R 775 /oradata" >> /etc/rc.local
5 . 配置互相信任
两节点执行:
su - oracle
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
在第二个节点
cd .ssh
scp id_rsa.pub rac1:/home/oracle/.ssh/id_rsa.pub2
scp id_dsa.pub rac1:/home/oracle/.ssh/id_dsa.pub2
在第一台机器执行
cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2>authorized_keys
chmod 644 authorized_keys
scp authorized_keys rac2:/home/oracle/.ssh
7.请注意,当您使用 ssh 第一次访问远程主机时,其 RSA 密钥将是未知的,从而将提示您确认是否希望连接该主机。 SSH 将记录该远程主机的 RSA 密钥,并在以后连接该主机时不再做出相关提示。
在第一个主机上,以 oracle 用户身份登录
ssh rac1
ssh rac1priv
ssh rac2
ssh rac2priv
在第二个主机上,以 oracle 用户身份登录
ssh rac1
ssh rac1priv
ssh rac2
ssh rac2priv
8.安装crs
rac2运行最后一个脚本报错。
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory
解决:
cd /oracle/app/oracle/product/10.2/crs/bin
vi vipca
if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
unset LD_ASSUME_KERNEL <<<== Line to be added
加上一行 unset ...LD_ASS
./vipca
报错。
运行:
./oifcfg setif -global eth0/192.168.6.0:public
./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
成功。弹出图形界面,然后把ip配置后,回到原来界面,OK。
9.安装rdbms
---------------------------------------------------------------
如果是raw
修改/etc/udev/rules.d/60-raw.rules 文件
添加如下内容:
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall", MODE="660"
-------------------------------------
4.配置网络
127.0.0.1 linux1 localhost.localdomain localhost
需要将其如下删除:
127.0.0.1 localhost.localdomain localhost
如果 RAC 节点名出现在回送地址中,您在 RAC 安装期间将接收到以下错误信息:
ORA-00603:ORACLE server session terminated by fatal error
或
ORA-29702:error occurred in Cluster Group Service operation
5.配置Hangcheck 计时器
[root@rac1-21 /]# vi /etc/rc.local
增加:
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
这个增加后,记住一定要重新或者执行生效啊!
要立即加载模块,执行
[root@rac1-21 ~]# modprobe -v hangcheck-timer
查看是否执行成功,下面为成功
[root@rac1-21 ~]# lsmod | grep hangcheck_timer
hangcheck_timer 8153 0