Oracle RAC For Redhat Linux 4

来源:互联网 发布:网络调研报告的格式 编辑:程序博客网 时间:2024/05/20 01:39

 Oracle RAC For Redhat Linux 4

 

 官方文档请参考:http://www.oracle.com/technology/global/cn/pub/articles/smiley_rac10g_install.html


规划:
crs 安装本地/orac/crs
oracle  共享磁盘/orac/orahome   ocfs2
data    共享磁盘/orac/oradata   ocfs2

ocr     共享磁盘/orac/oradata/ocrdata   ocfs2
votedisk     共享磁盘/orac/oradata/votedisk   ocfs2

一、准备oracle数据库安装环境

1、在2台主机上创建dba、oinstall组,oracle用户。用户ID和组ID,以及oracle密码在所有集群主机上必须相同。

#groupadd -g 1001 dba
#groupadd -g 1002 oinstall
#useradd -u 1001 -m -g oinstall -G dba oracle
#id oracle
#passwd oracle

2、配置内核参数/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

#sysctl -p
使配置立即生效。

3、为oracle用户设置shell限制
/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

/etc/profile 添加:
if [ /$USER = "oracle" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

/etc/csh.login 添加:
if ( /$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif

4、配置Hangcheck计时器(orace强烈建议配置)
#modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
/etc/rc.d/rc.local 添加
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

5、验证已经安装的程序包
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9

安装gcc:kernel-headers(即glibc-kernheaders)>glibc-headers>glibc-devel>gcc


6、修改/home/oracle/.bash_profile,添加以下:
ORACLE_BASE=/orac/orahome; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1; export  ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib; export LD_LIBRARY_PATH
LC_CTYPE=en_US.UTF-8; export LC_CTYPE
二、网络配置

1、配置集群主机网卡

2、配置/etc/hosts,从回送地址中删除主机名,再添加以下:

211.152.14.110  rac01
211.152.14.109  rac02

192.168.1.110  priv01
192.168.1.109  priv02

211.152.14.210  vip01
211.152.14.209  vip02

三、为oracle用户建立安全ssh通道

1、每台主机以oracle用户登录
#mkdir ~/.ssh
#chmod 755 ~/.ssh
#ssh-keygen -t rsa
#ssh-keygen -t dsa

2、rac01,以oracle登录
#ssh rac01 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh rac01 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#ssh rac02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh rac02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#scp ~/.ssh/authorized_keys rac02:~/.ssh/
#chmod 644 ~/.ssh/authorized_keys

rac02上:
#chmod 644 ~/.ssh/authorized_keys

3、所有集群主机上测试

#ssh rac01 date
#ssh rac02 date

不需要密码说明ssh配置成功。

--mirror1

四、安装iscsi initiator
# rpm -ivh iscsi-initiator-utils-4.0.3.0-4.i386.rpm
#vi /etc/iscsi.conf 修改
DiscoveryAddress=192.168.1.100:3260
#vi /etc/initiatorname.iscsi 添加
InitiatorName=iqn.192.168.1.100.iscsi.1
#service iscsi start

192.168.1.100是共享磁盘(sdb)的位置
注:这里sdb(8G)为存放ORC,voteDisk,oracleHome,oracleData;CRS安装在本地磁盘
#fdisk /dev/sdb
sdb1 3000M
sdb2 5000M

五、安装并配置OCFS2
1、安装
#uname -r
2.6.9-55.ELsmp
去oracle官网下载相应版本:
ocfs2-tools-1.2.7-1.el4.i386.rpm
ocfs2-2.6.9-55.ELsmp-1.2.9-1.el4.i686.rpm
ocfs2console-1.2.7-1.el4.i386.rpm
并安装。

2、配置
#export DISPLAY=192.168.1.100:0.0
注:192.168.1.100主机启动Xmanager Passive
#ocfs2console
跳到ocfs2console图形界面:
格式化分区、添加集群节点、复制配置文件(/etc/ocfs2/cluster.conf)

六、挂载OCFS2文件系统
1、检测o2cb的状态
#service o2cb configure
#service o2cb enable
#service o2cb status

2、创建挂载目录,修改属性
#mkdir -p /orac/crs               存储clusterware软件
#mkdir -p /orac/orahome           存储数据库软件
#mkdir -p /orac/oradata           存储数据文件

#chown -R root:oinstall /orac/crs
#chown -R oracle:oinstall /orac/orahome
#chown -R oracle:oinstall /orac/oradata

#chmod -R 755 /orac/crs
#chmod -R 755 /orac/orahome
#chmod -R 755 /orac/oradata

#mount -t ocfs2 /dev/sdb1 /orac/orahome
#mount -t ocfs2 -o datavolume,nointr /dev/sdb2 /orac/oradata

在/etc/fstab 添加:
/dev/sdb1 /orac/orahome ocfs2 _netdev 0 0
/dev/sdb2 /orac/oradata ocfs2 _netdev,datavolume,nointr 0 0
检验:
#df -hT
#mounted.ocfs2 -f

保存
开始安装clusterware之前,先在clusterware根目录使用runcluvfy.sh检查先决条件是否已经满足:

./runcluvfy.sh stage -pre crsinst -n rac01,rac02 -verbose
如果你收到任何失败消息,请先纠正后再继续安装。


七、安装CRS
注意:
1、查看oracle用户是否有clusterware安装目录的执行权限。
2、使用oracle用户运行安装程序。
3、在提示运行脚本时,一定分开一个一个运行。
测试软件安装是否成功,执行crs的bin下:
olsnodes
crs_stat -t
八、安装数据库软件
注意:
1、查看oracle用户是否有database安装目录的执行权限。
2、使用oracle用户运行安装程序。

九、创建数据库

./dbca
选择安装RAC数据库,在全部节点安装。

十、测试
使用oracle client测试rac:

[oracle@rac02 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 28 21:43:29 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect sys/abc.123@sales as sysdba
Connected.
SQL> set wrap off                 
SQL> select * from gv$instance;
rows will be truncated

   INST_ID INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME
---------- --------------- ---------------- ------------------------------------
         2               2 sales2           rac02
         1               1 sales1           rac01

SQL>

 

 

 

 


十一、注意事项

1、我的内核:2.6.9-55.ELsmp
以下用runcluvfy.sh检测到的没安装rpm,但是官方资料上redhat4没有要求一下rpm包,奇怪啊,而且和原系统包有冲突。

compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128

安官方要求,redhat4只要有
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
这些包就可以了。

2、安装软件时提示执行脚本一定要一个以个执行。

3、给共享磁盘挂载ocfs2文件系统前,先保证2边o2cb的服务状态一致:
service o2cb configure
第一个选y,其他默认

service o2cb enable

serivce o2cb status

4、ocfs2console 无法添加节点问题解决:
尝试以下方法

4.1、service o2cb enable
4.2、删除/etc/ocfs2/cluster.conf

5、向第二个节点推进安装数据库软件失败,提示AttachHome失败,在失败节点上手动执行
../db_1/oui/bin/runInstaller -attachHome -noClusterEnabled -nogenerateGuid ORACLE_HOME=/orac/orahome/10.2.0/db_1 ORACLE_HOME_NAME=OraDb10g_home1 CLUSTER_NODES=rac01,rac02 "INVENTORY_LOCATION=/home/oracle/oralnventory" -cfs LOCAL_NODE=rac02

6、安装软件过程不能中断,否则系统不干净,很难继续安装(一般都是失败,最好一次搞定)。

7、安装crs时,出现警告:
根据排除文件列表‘null’将目录/orac/crs/10.2.0复制到节点‘rac02’时出错,所有已提交的命令都没有成功执行。
这个大概是2个节点时间不同步吧,不知道是不是配置Hangcheck计时器的问题,如果没有配置计时器,不会弹出这个错误。
这个警告可以忽略,继续执行安装。

 

部分截图:

 

 

 

 

 

 

 

长ping rac01上的VIP,把rac01关机,发现断开一段时间后恢复 :

 

 

 

查看rac02上发现,原来在rac01上的eth0:1变到rac02的eth0:2上了:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击