一系统准备
1.1硬件配置
服务器型号:R 510 G 5*2
cpu 3.0GHZ*2
内存 2G
硬盘 76*2 raid 1+0
共享磁盘 120G 采用iscsi实现
1.2安装操作系统(REDHAT-UP2_64_86)
加载LSISAS 驱动
下载地址:http://www.lsilogic.com/files/support/ssp/fusionmpt/sas/linux/
安装系统
挂载点 分区大小 分区类型
/boot 100M ext3
/ 5000M ext3
/usr 10000M ext3
/var 10000M ext3
Swap 4096M swap
/tmp 2000M ext3
/home 1000M ext3
/opt 2000M ext3
/oracle 5000M ext3
注安装中禁用iptables 和selinux,采用everything 安装
1.3 网络环境
IP hostname
172.20.63.91 rac1 public-IP1
172.20.63.92 rac2 public-IP2
192.168.0.10 racp1 private-IP1
192.168.0.20 racp2 private-IP2
192.168.0.100 racv1 virtual-IP1
192.168.0.200 racv2 virtual-IP2
二系统配置
2.1配置系统参数(在所有节点上执行)
echo “kernel.shmmax = 1073741824 “ >>/etc/sysctl.conf
echo “kernel.shmmni = 4096” >>/etc/sysctl.conf
echo “kernel.shmall = 2097152” >>/etc/sysctl.conf
echo “kernel.sem = 250 32000 100 128” >>/etc/sysctl.conf
echo “fs.file-max = 65536” >>/etc/sysctl.conf
echo “net.ipv4.ip_local_port_range = 1024 65000” >>/etc/sysctl.conf
echo “net.core.rmem_default = 262144” >>/etc/sysctl.conf
echo “net.core.rmem_max = 262144” >>/etc/sysctl.conf
echo “net.core.wmem_default = 262144” >>/etc/sysctl.conf
echo “net.core.wmem_max = 262144” >>/etc/sysctl.conf
echo “kernel.panic = 60” >>/etc/sysctl.conf
执行 sysctl –p 使参数生效
echo "oracle soft nofile 4096" >> /etc/security/limits.conf
echo "oracle hard nofile 63536" >> /etc/security/limits.conf
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo “session required pam_limits.so multiple open” >> /etc/pam.d/login
2.2 配置 hangcheck-timer 内核模块(在所有节点上执行)
每次启动加载模块:
echo "/sbin/modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 " >> /etc/rc.local
或者
echo “options hangcheck-timer hangcheck_tick=30 hangcheck_margin= 180 ” >> /etc/ modprobe.conf
执行
/sbin/modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
2.3 配置网络 (在所有节点上执行)
echo "172.20.63.91 rac1 " >> /etc/hosts
echo "172.20.63.92 rac2 " >> /etc/hosts
echo "192.168.0.10 racp1 " >> /etc/hosts
echo "192.168.0.20 racp2 " >> /etc/hosts
echo "192.168.0.100 racv1 " >> /etc/hosts
echo "192.168.0.200 racv2 " >> /etc/hosts
2.4 创建oracle组用和户(在所有节点上执行)
mkdir –p /oracle/oracle
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/useradd -g 501 -G 502 -d /oracle/oracle/ oracle
设置oracle用户密码
passwd oracle
2.5设置Oracle用户登录配置文件(在所有节点上执行)
su – oracle
vi ~/.bash_profile
export ORACLE_BASE=/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/ 10.2.0 /rac_db
export ORA_CRS_HOME=$ORACLE_BASE/product/ 10.2.0 /crs
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
#export ORACLE_SID=rac2
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_ASSUME_KERNEL= 2.4.19 # for RHEL AS 4
#export LD_ASSUME_KERNEL= 2.4.1 # for RH 9 and RHEL AS 3
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
2.6 为用户等效性配置 SSH (在所有节点上执行)
su - oracle
mkdir ~/.ssh
chmod 755 ~/.ssh
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
现在,必须将每个主机上的公共密钥文件 id_rsa.pub 和 id_dsa.pub 的内容复制到其他每个主机的 ~/.ssh/authorized_keys 文件中。
只需在第一个主机上,以 oracle 用户身份登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cp ~/.ssh/authorized_keys ~/.ssh/rac1.authorized_keys
只需在第二个主机上,以 oracle 用户身份登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cp ~/.ssh/authorized_keys ~/.ssh/rac2.authorized_keys
在第一个主机上,以 oracle 用户身份登录
ftp 从rac2主机取得rac2.authorized_keys
cat ~/.ssh/rac2.authorized_keys >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
在第二个主机上,以 oracle 用户身份登录
ftp 从rac1主机取得rac1.authorized_keys
cat ~/.ssh/rac1.authorized_keys >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
请注意,当您使用 ssh 第一次访问远程主机时,其 RSA 密钥将是未知的,从而将提示您确认是否希望连接该主机。 SSH 将记录该远程主机的 RSA 密钥,并在以后连接该主机时不再做出相关提示。
在第一个主机上,以 oracle 用户身份登录
ssh rac1
ssh rac2
ssh racp1
ssh racp2
在第二个主机上,以 oracle 用户身份登录
ssh rac1
ssh rac2
ssh racp1
ssh racp2
建立用户等效性
在第一个主机上,以 oracle 用户身份登录
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
在第二个主机上,以 oracle 用户身份登录
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
三 存储配置
3.1 共享存储的(iscsi-target)
服务器端(172.20.63.62)
下载位置http://www.cryptoforge.net/iscsi/RPMS/
mkdir /usr/src/iscsitarget
wget http://www.cryptoforge.net/iscsi/RPMS/iscsitarget-0.4.12-6.src.rpm
rpmbuild --rebuild iscsitarget- 0.4.12 -6.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/iscsitarget- 0.4.12 -6.i386.rpm
chkconfig --add iscsi-target
chkconfig --level 2345 iscsi-target on
vi /etc/ietd.conf
Target iqn.2000-12.com.digicola:storage.lun1
IncomingUser gfs secretsecret
OutgoingUser
Lun 0 Path=/dev/sdb1,Type=fileio
Alias iDISK0
客户端(rac1和rac2)
vi /etc/iscsi.conf
DiscoveryAddress=172.20.63.62
OutgoingUserName=gfs
OutgoingPassword=secretsecret
LoginTimeout=15
启动服务
Service iscsi restart
Chkconfig –level 345 iscsi on
察看 iscsi-ls
3.2划分共享磁盘产生如下分区(在一个节点配置即可)
分区 大小
/dev/sdb1 20G
/dev/sdb2 20G
/dev/sdb3 4G
/dev/sdb5 100m
/dev/sdb6 100m
/dev/sdb7 200m
/dev/sdb8 200m
/dev/sdb9 200m
3.3配置raw设备存放CRS的注册信息和表决信息(在所有节点上执行)
vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb5
/dev/raw/raw2 /dev/sdb6
/dev/raw/raw3 /dev/sdb7
/dev/raw/raw4 /dev/sdb8
/dev/raw/raw5 /dev/sdb9
启动raw服务
service rawdevices restart
设置为oracle权限
echo “ chown –R oracle.dba /dev/raw/raw* ” >> /etc/rc.local
sh /etc/rc.local
3.4 配置ASM卷(在所有节点上执行)
下载地址http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
oracleasm- 2.6.9 -22.ELsmp-2.0.3-1.x86_64.rpm
oracleasmlib- 2.0.2 -1.x86_64.rpm
oracleasm-support- 2.0.3 -1.x86_64.rpm
安装ASM工具
rpm -Uvh oracleasm- 2.6.9 -22.ELsmp-2.0.3-1.x86_64.rpm oracleasmlib-2.0.2-1.x86_64.rpm oracleasm-support-2.0.3-1.x86_64.rpm
配置asm
service oracleasm configure
Default user to own the driver interface[]oracle
Default user to group the driver interface[]dba
建立asm卷 (在一个节点配置即可)
service oracleasm createdisk VOL1 /dev/sdb1
service oracleasm createdisk VOL2 /dev/sdb2
service oracleasm createdisk VOL3 /dev/sdb3
service oracleasm scandisks (每个节点都执行)
service oracleasm listdisks (每个节点都执行)
VOL1
VOL2
VOL3
列出和查询现有的ASM磁盘
四.数据库集群软件Clusterware的安装
4.1安装补丁包 (每个节点执行)
1.升级binutils-2.15.92.0.2- 13.0.0 .0.2.x86_64.rpm
rpm -Uvh --force binutils-2.15.92.0.2- 13.0.0 .0.2.x86_64.rpm compat-libcwait-2.1-2.x86_64.rpm
2.安装cvuqdisk包(在所有节点上执行)
使用Red Hat Linux,必须安装cvuqdisk包,否则CVU不能发现共享磁盘, 并当运行CVU时收到错误信息"Package cvuqdisk not installed"
cvuqdisk RPM在目录clusterware/rpm,安装完Oracle Clusterware后在目录CRS_home/rpm.
设置环境变量
export CVUQDISK_GRP=oinstall
安装包
rpm -Uvh cvuqdisk- 1.0.1 -1.rpm
4.2 安装 Oracle ClusterWare 10g 软件(只需从单个节点运行)
su – oracle
cd /install/clusterware
。/ runInstaller
屏幕名称 | 回应 |
Has 'rootpre.sh' been run by root? [y/n] (n) | 在rac1,rac2上执行/mnt/crs/rootpre/rootpre.sh,输入’y’ |
欢迎使用 | 单击 下一步 |
指定产品清单目录和身份证明 | 接受默认值:/oracle/oracle/oraInventory |
指定主目录详细信息 | 按如下所示设置名称和路径: |
产品特定的先决性检查 | 检查通过 |
指定集群配置 | 集群名称:crs 集群节点: 公共节点名 专用节点名 虚拟主机名 rac1 racp1 racv1 rac2 racp2 racv2 |
指定网络接口用法 | 接口名称 子网 接口类型 eth0 9.49.143.0 公用 eth1 192.168.0.0 专用 |
指定集群注册表(Oracle Cluster Registry)位置 | 选择外部冗余 指定OCR位置: /dev/raw/raw1 /dev/raw/raw2 |
指定表决磁盘(Voting Disk)位置 | 选择外部冗余 指定表决磁盘位置: /dev/raw/raw3 /dev/raw/raw4 /dev/raw/raw5 |
概要 | 选择安装 |
执行配置脚本 | 在 RAC 集群的每个节点上以“root”用户帐户打开一个新的控制台窗口。运行以下命令 /oracle/oracle/oraInventory/orainstRoot.sh /oracle/oracle/product/ 10.2.0 /crs_1/root.sh
注意要在 RAC 集群的所有节点上依次逐个运行,您在所有节点上运行 root.sh 时将收到多个警告。可以忽略这些警告,没什么问题。
如果设定的eth0为私有地址并提示执行root.sh失败的话,需要在控制台窗口以root用户运行/oracle/oracle/product/ 10.2.0 /crs/bin/vipca,配置虚拟地址。 返回 OUI 并确认此对话框窗口。 |
安装结束 | 安装结束时,退出 OUI。 |
注: 当执行脚本root.sh后配置vip地址
/oracle/oracle/product/ 10.2.0 /crs/bin/vipca
五 数据库应用程序的安装
5.1 安装oracle应用程序
使用以下命令安装 Oracle 数据库 10g 软件:
/install/database/runInstaller
屏幕名称 | 回应 |
欢迎使用 | 单击 下一步 |
选择安装类型 | 选择 定制 |
指定主目录详细信息 | 按如下所示设置名称和路径: |
指定硬件集群安装模式 | 选择 集群安装 选项,然后选择所有可用节点。单击 全选 选择所有服务器:rac1 和 rac2。 如果安装此时停止,且有 RAC 节点的状态显示为“Node not reachable”(无法访问节点),则执行以下检查: 确保 CRS 正在所讨论节点上运行。 确保您能够从执行安装的节点访问所讨论的节点。 |
可用产品组件 | 选择 全部组件 |
产品特定的先决性检查 | 检查通过 |
特权操作系统组 | OSDBA组:dba OSOPER组: oper |
创建数据库 | 仅安装数据库软件 |
概要 | 选择安装 |
执行配置脚本 | 安装完成时,将提示您运行 root.sh 脚本。需要记住的是,需要在 RAC 集群的所有节点上依次逐个(从运行数据库安装的节点开始)运行 root.sh 脚本。 /oracle/oracle/product/ 10.2.0 /rac_db/root.sh |
安装结束 | 安装结束时,退出 OUI。 |
5.2安装 Oracle Client 10g 软件 (只需从单个节点运行)
使用以下命令安装 Oracle 客户端 10g 软件: /intall/client/runInstaller
屏幕名称 | 回应 |
欢迎使用 | 单击 下一步 |
选择安装类型 | 选择 定制 |
指定主目录详细信息 | 按如下所示设置名称和路径: |
指定硬件集群安装模式 | 选择 集群安装 选项,然后选择所有可用节点。单击 全选 选择所有服务器:rac1 和 rac2。 |
可用产品组件 | 选择 全部组件 |
产品特定的先决性检查 | 检查通过 |
概要 | 选择安装 |
安装结束 | 安装结束时,退出 OUI。 |
5.3安装 Oracle Companion 10g 软件(只需从单个节点运行
使用以下命令安装 Oracle Companion 10g 软件/install/companion/runInstaller
屏幕名称 | 回应 |
欢迎使用 | 单击 下一步 |
选择要安装的产品 | 选择 Oracle Database 10g Products |
指定主目录详细信息 | 按如下所示设置名称和路径: |
指定硬件集群安装模式 | 选择 集群安装 选项,然后选择所有可用节点。单击 全选 选择所有服务器:linux1 和 linux2。 |
产品特定的先决性检查 | 检查通过 |
概要 | 选择安装 |
安装结束 | 安装结束时,退出 OUI。 |