os:rhel5.5
主机名:rac1,rac2
安装系统过程:略
准备工作:
修改节点IP地址,并修改hosts文件
public 公共IP地址,就是你要对外提供服务的IP。
private 私有IP地址,用于RAC内部之间通信。
vip 虚拟IP地址,主要用于网络出现故障时进行IP地址漂移。
vi /etc/hosts
127.0.0.1 localhost
192.168.1.11 rac1
192.168.1.12 rac2
10.0.0.1 rac1-priv
10.0.0.2 rac2-priv
192.168.1.21 rac1-vip
192.168.1.22 rac2-vip
hostname修改,rac1,rac2都修改
vi /etc/sysconfig/network
HOSTNAME=rac1(需要与/etc/hosts一致)
安装依赖包
挂载光盘
cd /media/RHEL_5.5\ x86_64\ DVD/Server/
rpm -ivh make* glibc* libaio* compat-libstdc++* compat-gcc-* compat-gcc-34-c++* gcc* libXp* openmotif22* compat-db* libstdc++44-devel* libgfortran44* libgnat* libgnat* libobjc* libXp-devel-1.0.0-8.1.el5.*
注:libXp要同时装32位和64位的
rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
rpm -ivh libXp-1.0.0-8.1.el5.x86_64.rpm
rpm -ivh libXp-devel-1.0.0-8.1.el5.i386.rpm
rpm -ivh libXp-devel-1.0.0-8.1.el5.x86_64.rp
创建oracle用户
groupadd oinstall
groupadd dba
mkdir -p /home/oracle
useradd -d /home/oracle -g oinstall -G dba -s /bin/bash oracle
(如果the home directory already exists,直接cp /etc/skel/.bash* /home/oracle/即可)
chown -R oracle:dba /home/oracle
echo "oracle" | passwd oracle --stdin
节点1环境变量配置
vi .bashrc
export ORACLE_BASE=/opt/app/oracle
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=sytong1
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
umask 022
生效环境变量
source .bashrc
节点2
vi .bashrc
export ORACLE_BASE=/opt/app/oracle
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=sytong2
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
umask 022
生效环境变量
source .bashrc
用oracle用户在各个节点创建目录
mkdir -p $ORACLE_BASE/admin
mkdir -p $ORACLE_HOME
mkdir -p $ORA_CRS_HOME
mkdir -p $ORACLE_BASE/oradata/r10g
用root用户限制oracle用户的shell
cat>>/etc/security/limits.conf< oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >>/etc/pam.d/login< session required /lib/security/pam_limits.so
EOF
cat >>/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
EOF
配置内核参数,并立即生效
cat >>/etc/sysctl.conf < kernel.shmall = 4294967296
kernel.shmall=2097152
kernel.shmmax=2147483648
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=1048576
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=262144
EOF
立即生效
/sbin/sysctl -p
配置hangcheck timer内核模块,监测系统状态,可以及时重启故障RAC节点
cat>>/etc/modprobe.conf< options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF
立即加载模块
modprobe -v hangcheck-timer
使用oracle用户在两节点配置信任关系
rac1:(rsa与dsa是两种加密类型)
ssh-keygen -t rsa
ssh-keygen -t dsa
一路enter
rac2:
ssh-keygen -t rsa
ssh-keygen -t dsa
rac1:
cd ~/.ssh
touch authorized_keys
cat id_dsa.pub >> authorized_keys
cat id_rsa.pub >> authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys
scp authorized_keys rac2:~/.ssh/
在Rac1中ssh到Rac2同步两节点的时间
分别在两个节点上执行
date; ssh rac1 date
date; ssh rac2 date
date; ssh rac1-priv date
date; ssh rac2-priv date
以上命令每条命令每个节点都需要执行
要达到不需要输入yes 否则安装过程中不能顺利完成
在rac1上创建三块共享盘,一般注册盘,投票盘,数据盘的数量为1,1,1或者2,3,1两种模式,
下面创建1,1,1的模式
注册盘与投票盘建议110M以上,但不需要太多,数据盘必须在6G以上,并且都是固定大小
ocr:120M
vote:120M
data:10G
共享三块盘,给rac2共享使用
选中一块共享盘,点修改成可共享
依次修改三块盘成为可共享状态,然后到rac2上添加三块共享盘
注意rac1与rac2的顺序必须一样,否则可能无法创建集群
如果不一样点击一块盘,修改端口号
把三块共享盘划成裸设备
fdisk /dev/sdb注册盘上划一分区>100M
fdisk /dev/sdc仲裁盘上划一分区>100M
fdisk /dev/sdd数据盘上划分区>15G
fdisk /dev/sdb
→n(划分新分区)→p(主分区)→1→回车→回车→w(保存退出)
三个盘都分区完成后,在两节点分别生效分区表
partprobe /dev/sdb
partprobe /dev/sdc
partprobe /dev/sdd
不重启,立刻生效分区表
rac1:
把分区划成裸设备
vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/etc/init.d/rawdevices start
service rawdevices reload
scp /etc/sysconfig/rawdevices rac2:/etc/sysconfig/rawdevices(同步裸设备表)
rac2:
/etc/init.d/rawdevices start
rac1,rac2上执行:
chkconfig rawdevices on
service rawdevices status
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 33
/dev/raw/raw3: bound to major 8, minor 49(需与/etc/udev/rules.d/60-raw.rules相对应)
记录major和minor值,待会写入/etc/udev/rules.d/60-raw.rules
/etc/udev/rules.d/50-udev.rules保证裸设备的属主是oracle,而不是root
将裸设备授权给oracle用户
chown -R oracle:oinstall /dev/raw/raw1(注册盘)
chown -R oracle:oinstall /dev/raw/raw2(投票盘)
chown -R oracle:dba /dev/raw/raw3(数据盘)
rac1上添加规则
cat>>/etc/udev/rules.d/60-raw.rules< ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="17", RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="33", RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="49", RUN+="/bin/raw /dev/raw/raw3 %M %m"
EOF
cat>>/etc/udev/rules.d/50-udev.rules< KERNEL=="raw[1-2]",OWNER="oracle" GROUP="oinstall",MODE="0660"
KERNEL=="raw3",OWNER="oracle" GROUP="dba",MODE="0660"
EOF
rac2上同步规则
scp /etc/udev/rules.d/60-raw.rules rac2:/etc/udev/rules.d/60-raw.rules
scp /etc/udev/rules.d/50-udev.rules rac1:/etc/udev/rules.d/50-udev.rules
准备工作完成最好重启下 检测下raw设备属主,信任关系是否还正常
开始安装集群软件clusterware
用oracle解压
gunzip 10201_clusterware_linux_x86_64.cpio.gz
cpio -idmv < 10201_clusterware_linux_x86_64.cpio
xhost +
进入解压后目录./runInstaller
图形界面安装
在另外窗口用root执行下/clusterware/rootpre/ rootpre.sh
显示No OraCM running后
输入y
显示10g只支持以上版本
所以修改redhat版本号,把原来5 修改成4
vi /etc/redhat-release
Red Hat Enterprise Linux Server release 4.5 (Tikanga)
继续使用oracle用户安装
./runInstaller
OCR盘定位(因为现在用的是一块OCR盘,否则使用Normal方式,并把第二块盘写在Mirror位置)
rac1:
[root@rac1 ~]# /opt/app/oracle/oraInventory/orainstRoot.sh
[root@rac1 ~]# /opt/app/oracle/product/10.2.0/crs_1/root.sh
rac2:
[root@rac2 ~]# /opt/app/oracle/oraInventory/orainstRoot.sh
[root@rac2 ~]# /opt/app/oracle/product/10.2.0/crs_1/root.sh
rac2会报错,无法创建vip
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/opt/app/oracle/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
在rac2上oracle执行,重新编译
[oracle@rac2 ~]$ vi $ORA_CRS_HOME/bin/vipca
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
unset LD_ASSUME_KERNEL(新添加)
[oracle@rac2 ~]$ vi $ORA_CRS_HOME/bin/srvctl
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL(新添加)
配置ONS
[root@rac2 ~]# /opt/app/oracle/product/10.2.0/crs_1/bin/racgons add_config rac1:6251 rac2:6251
[root@rac2 ~]#/opt/app/oracle/product/10.2.0/crs_1/bin/oifcfg setif -global eth0/192.168.56.0:public eth1/10.0.0.0:cluster_interconnect
[root@rac2 ~]#/opt/app/oracle/product/10.2.0/crs_1/bin/vipca
数据库软件安装
10g
解压
oracle用户下
gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idmv < 10201_database_linux_x86_64.cpio
在database/下执行
./runInstaller
在rac1,rac2 使用root用户执行
/opt/app/oracle/product/10.2.0/db_1/root.sh
rac1 oracle用户
dbca配置ASM
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27500440/viewspace-1102685/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27500440/viewspace-1102685/