分类: Oracle
2013-06-07 14:06:58
主机名:racnode1、racnode2
1、配置两台服务器的ip地址
racnode1的eth0为192.168.1.200,eth1为10.1.1.1
racnode2的eth0为192.168.1.201,eth1为10.1.1.2
2、配置两台服务器的/etc/hosts如下:
127.0.0.1 localhost (必须要这样)
# Public Network - (eth0)
192.168.1.200 racnode1
192.168.1.201 racnode2
# Private Interconnect - (eth1)
10.1.1.1 racnode1-priv
10.1.1.2 racnode2-priv
# Public Virtual IP (VIP) addresses for - (eth0)
192.168.1.150 racnode1-vip
192.168.1.151 racnode2-vip
3、准备oracle安装的参数
3.1. 确保/etc/selinux/configure中的值如下
SELINUX=disabled
SELINUXTYPE=disabled
3.2.修改系统参数
vi /etc/sysctl.conf 增加如下参数
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
运行下面命令使设置生效/sbin/sysctl -p
vi /etc/security/limits.conf 增加如下参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.3、修改操作系统的版本
vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga) 替换成 redhat-4
3.4、安装系统缺失的包
确保如下包都有安装
gcc-4.1.1-52.el5
make-3.81-1.1
binutils-2.17.50.0.6-2.el5
openmotif
setarch-2.0-1.1
compat-db
compat-gcc
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
如果没有安装请从光盘安装,由于缺失的包之间有严格的依赖关系,所以必须按照如下顺序安装缺失的包,redhat5上是否安装请参看如下:
rpm -ivh compat-db-4* (这个需要装)
rpm -ivh compat-gcc-34-3* (这个需要装)
rpm -ivh compat-gcc-34-c++-3* (这个需要装)
rpm -ivh libXp-1* (这个需要装,其中包括32位的)
rpm -ivh openmotif-2* (这个需要装)
rpm -ivh compat-readline43-4.3-3.x86_64.rpm (这个需要装)
rpm -ivh libaio-0* (这个已装)
rpm -ivh compat-libstdc++-33-3* (这个已装)
rpm -ivh glibc-headers-2.5-12.i386.rpm (这个已装)
rpm -ivh glibc-devel-2.5-12.i386.rpm (这个已装)
rpm -ivh gcc-4* (这个已装)
rpm -ivh glibc-2.5-12.i686.rpm (这个已装)
rpm -ivh libgomp-4.1.1-52.el5.i386.rpm (这个已装)
rpm -ivh gcc-4.1.1-52.el5.i386.rpm (这个已装)
如果安装完成后仍然提示部分包没有安装,不过不影响使用
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
3.5、添加oracle用户和组
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
passwd oracle
为方便记忆,密码 就用oracle
3.6、 创建安装目录并赋予oracle相应权限
mkdir -p /u01/app/oracle/product/10.2.0/db_1
mkdir -p /u01/app/oracle/product/10.2.0/crs_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
3.7、设置oracle的环境变量
export DISPLAY="192.168.2.81:0.0"
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:$ORA_CRS_HOME/bin
export ORACLE_SID=rac1(另外一台机器用rac2做实例名)
export NLS_LANG="Simplified Chinese_China.UTF8"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=$TMP
#export LD_ASSUME_KERNEL=2.6.9
export LANG=en_US.utf8
export LANGUAGE=en_US.utf8
export LC_ALL=en_US.utf8
umask 022
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
4、 为oracle用户配置等效性SSH(root用户可以不做)
mkdir ~/.ssh
chmod 755 ~/.ssh
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys1(racnode2上就为authorized_keys2)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys1 (racnode2上就为authorized_keys2)
将生成的authorized_keys文件分别拷贝到对方的~/.ssh/目录下并分配如下权限
scp ~/.ssh/authorized_keys1
scp ~/.ssh/authorized_keys2
chmod 644 ~/.ssh/authorized_keys
最后在自己的.ssh中将authorized_keys1增加到authorized_keys中(两台机器都要做)
cat authorized_keys1>>authorized_keys
cat authorized_keys2>>authorized_keys
测试使用ssh是否不需要密码就可以成功登陆
在第一个主机上,以 oracle 用户身份登录
ssh racnode1
ssh racnode1-priv
ssh racnode2
ssh racnode2-priv
在第二个主机上,以 oracle 用户身份登录
ssh racnode2
ssh racnode2-priv
ssh racnode1
ssh racnode1-priv
以上操作必须都做,否则在安装clusterware的时候会报错!
建立用户等效性
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
验证是否正常
在racnode1上执行ssh 192.168.1.201 hostname
在racnode2上执行ssh 192.168.1.200 hostname
确定ForwardX11置为no
编辑或创建 vi ~/.ssh/config
内容如下:
Host *
ForwardX11 no
5、配置 hangcheck-timer 内核模块(在所有节点上执行)
以root用户执行
确认是否安装 hangcheck-timer.ko 模块
find /lib/modules -name hangcheck-timer* -print
配置并加载 hangcheck-timer 模块
echo "/sbin/modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 " >> /etc/rc.local
手动加载 Hangcheck 内核模块以进行测试
/sbin/modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
grep Hangcheck /var/log/messages | tail -2 | more
6、规划阵列分区(在一台设备上执行就行)
fdisk /dev/sdb (用于votedisk和ocr)
fdisk /dev/sdc (用于数据库)
Syncing disks.在创建了所有必要分区后,现在应以 root 用户帐户使用以下语法将分区的更改情况通知给内核:
/sbin/partprobe
重新引导 RAC 集群中的所有节点
在创建分区后,建议您重新引导所有 RAC 节点上的内核,以确保所有 RAC 节点上的内核识别所有新分区。
reboot