天天看点

RHEL4As RAC手记

RHEL4As RAC手记

两台机器情况如下

主机1

Hostname:RHEL4-1

OS software RHEL4 As(2.6.9.0.78 ELSmp版本)

memory:1024MB

主机2

Hostname:RHEL4-2

没有拿到生产环境,所以自己先在VMWare做了,既然是VMware就取巧了一下,安装好一个虚拟机,然后把准备工作都做好在clone一个到另一个系统下了。

第一步

首先当然是安装RHEL了,手头上有RHEL4 32bit的,就用这个了。

第二步

设置网络配置了,需要两个网卡,配置public,private和virtual ip叻

这回就更仔细的研究了,没有按别人的步骤来,只添加了pri host和vip host。

real ip是192.168.2.206

hostname rhel4-1

192.168.3.206 rhel4-priv1

192.168.2.106 rhel4-vip1

vip必须和public在同一个Ip段上,vip是提供给oracle使用的,这里我们两个网卡分别对应着public和private

第三步

创建用户

#groupadd dba

#groupadd oinstall

#useradd -g oinstall -G dba oracle

#passwd oracle

#mkdir /u01/app/oracle/product/10.2.0.2/db_1 -p

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

第四步

修改相关参数文件

环境变量参数/home/oracle/.bash_profile

export PATH

unset USERNAME

export LANG=zh_CN.EUC

ORACLE_BASE=/u01/app/oracle;

export ORACLE_BASE

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0.2/db_1

export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0.2/crs_1

export ORACLE_SID=rac1

#export NLS_LANG=’SIMPLIFIED CHINESE_CHINA.ZHS16GBK’

PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucb;

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$ORACLE_HOME/oracm/lib:/usr/local/lib:/usr/lib;

export LD_LIBRARY_PATH

export ORACLE_TERM=xterm

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

配置内核参数/etc/sysctl.conf

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=262144

net.core.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

#/sbin/sysctl -p 生效

Linux 帐户可以使用的进程数量和打开文件的数量设置限制 /etc/security/limits.conf和/etc/pam.d/login

/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

/etc/pam.d/login

session required /lib/security/pam_limits.so

Disable SELinux /etc/grub.conf

在行kernel /vmlinuz-2.6.9-42.ELlargesmp ro root=LABEL=/ rhgb quiet后

加入

selinux=0

第五步

加载hangcheck-timer

在/etc/rc.d/rc.local加入

modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

第六步

等效性配置,用oracle用户登录

#ssh-keygen -t rsa

一路回车

#ssh-keygen -t dsa

在`/.ssh下将生成密匙和公匙

#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

其他机器安装好以后运行

ssh oracle@rhel4-2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

第七步安装ocfs2和asm

下载ocfs2和asm软件,我这里的RAC规划是ocfs2加上Asm,asm相对于row device来说便于管理,相对于ocfs2来说性能更好,至于使用ocfs2主要是做crs和voting disk部分的storage,数据文件以及其他数据库的文件都在asm上做storage。

现在前用uname -r查看自己的内核。找和自己内核一致的版本下载。

我这里下载的分别是

ocfs2

ocfs2-2.6.9-78.ELsmp-1.2.9-1.el4.i686.rpm

ocfs2console-1.2.7-1.el4.i386.rpm

ocfs2-tools-1.2.7-1.el4.i386.rpm

asm

oracleasm-2.6.9-78.ELsmp-2.0.5-1.el4.i686.rpm

oracleasmlib-2.0.4-1.el4.i386.rpm

oracleasm-support-2.1.3-1.el4.i386.rpm

安装

# rpm ‐ivh ocfs2-tools-1.2.7-1.el4.i386.rpm

# rpm ‐ivh ocfs2-2.6.9-78.ELsmp-1.2.9-1.el4.i686.rpm

# rpm ‐ivh oracleasm-support-2.1.3-1.el4.i386.rpm

# rpm ‐ivh oracleasmlib-2.0.4-1.el4.i386.rpm

# rpm ‐ivh oracleasm-2.6.9-78.ELsmp-2.0.5-1.el4.i686.rpm

第八步

格式化硬盘

加一块硬盘10g上去,/dev/sdb

fdisk /dev/sdb

分两个区,一个作为ocfs管理的需要给600M就够了,crs和voting disk的,剩下的都个asm了

ocfs2的部署

#ocfs2console

<1>在OCFS2控制台中,点击“TASKS”下的“FORAMT”菜单对要格式化为OCFS2文件系统的分区进行格式化,在UI下,选择/dev/sdb1,

<2>在OCFS2控制台程序中选择“Cluster”菜单下的“Configure Nodes”菜单,配置使用OCFS2文件系统的集群节点,在“Node Configuration”对话框中,点击“Add”来连接集群节点

<3>Apply, 如果有错,删除/etc/ocfs2目录下的 cluster.conf文件,重新用UI创建。

最后的cluster.conf是

node:

ip_port = 7777

ip_address = 192.168.3.202

number = 0

name = rhel4-2

cluster = ocfs2

ip_address = 192.168.3.201

number = 1

name = rhel4-1

cluster:

node_count = 2

name = ocfs2

<4>在节点1 上利用界面上传配置文件到其它节点

# ocfs2console

然后选择 Cluster ‐> Propagate Configuration

所有都finished, 然后File‐>Quit

在节点2上可以看到一样的cluster.conf

<5>配置O2CB

[root@rhel4-2 crs]# /etc/init.d/o2cb enable

Writing O2CB configuration: OK

O2CB cluster ocfs2 already online

[root@rhel4-1 crs]# /etc/init.d/o2cb enable

Starting O2CB cluster ocfs2: OK

[root@rhel4-2 crs]# /etc/init.d/o2cb configure

Specify heartbeat dead threshold (>=7) [31]:61 根据自己的需要来设置

同样在节点2 上配置。

[root@rhel4-2 crs]# /etc/init.d/o2cb start

[root@rhel4-2 crs]# /etc/init.d/o2cb status

Module “configfs”: Loaded

Filesystem “configfs”: Mounted

Module “ocfs2_nodemanager”: Loaded

Module “ocfs2_dlm”: Loaded

Module “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: Active

加载OCFS2 文件系统

mount -t ocfs2 -o _netdev,datavolume,nointr /dev/sdb1 /crsdata

如果有问题先执行一下

mkfs.ocfs2 -b 4k -C 32k -N 4 -L ora_home /dev/sdb1 –fs-feature-level=max-compat

asm的部署

查看volumn

#/etc/init.d/oracleasm listdisks

配置

#/etc/init.d/oracleasm configure

Default user to own the driver interface []: oracle

Default group to own the driver interface []: dba

其他默认值

据文件创建 ASM 磁盘

# /etc/init.d/oracleasm createdisk oradata /dev/sdb2 — oradata disk volumn

ORADATA

#/etc/init.d/oracleasm status

Checking if ASM is loaded: yes

Checking if /dev/oracleasm is mounted: yes

#mount

oracleasmfs on /dev/oracleasm type oracleasmfs (rw)

接下来就可以安装clusterware了

常见故障排除

安装时到最后需要root执行CRS_HOME/root.sh,这时有错误

PROT-1: Failed to initialize ocrconfig

Failed to upgrade Oracle Cluster Registry configuration

原因是没有mount好,对于ocfs2来说,可以store,datafile,control file,redo file,archive file和crs和voting disk,但是必须在mount时加上datavolume

#mount -t ocfs2 -o datavolume /dev/sdb1 /crsdata

在执行root.sh时有时会挂在那里,是crs和voting disk没有format好,重新format好,然后装载

#ocfs2conosole

先umount,然后format,接着用上面的方式装载。

在root.sh install deamon是有时会告知如下信息

Running vipca(silent) for configuring nodeapps

The given interface(s), “eth2″ is not public. Public interfaces should be used to

configure virtual IPs.

重新用$CRS_HOME/bin/vipca执行,设置vip即可。

注意

有时RAC安装失败了,一定要把crs删除干净了才能安装,要不有些怪异的错误,ocr和votingdisk要格式化以后再重新mount才行。

本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/208578,如需转载请自行联系原作者

继续阅读