Virtual box搭建10G rac完整过程


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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值