客户端操作系统安装
请将RHEL 第5版Linux的DVD放到客户端PC的DVD驱动器,在工具栏上点击播放按钮,启动虚拟机,右窗格中显示VMware ESX服务器的客户机启动加载器,然后显示RHEL Linux 5安装屏幕。
下面的安装就和正常的操作系统安装一样了,但至少要有2G SWAP空间,要禁用防火墙和SELinux,并安装下列软件包:
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
Server Configuration Tools
Administration Tools
Base
System Tools
X Window System
要保持和本文剩余的部分一致,在安装过程中必须象下面这样进行设置:
RAC1:
主机名:rac1.localdomain
eth0的IP地址:10.1.10.201(公共地址)
eth0默认网关:10.1.10.1(公共地址)
eth1的IP地址:10.1.9.201(私有地址)
eth1默认网关:无
RAC2:
主机名:rac2.localdomain
eth0的IP地址:10.1.10.202(公共地址)
eth0默认网关:10.1.10.2(公共地址)
eth1的IP地址:10.1.9.202(私有地址)
eth1默认网关:无
你可以自由更改IP地址,以适应您的网络,但请记住保持这些调整符合文章的其他内容。
一旦基本安装完成后,您必须安装一些额外的软件包,同时登录为根用户。如果您有互联网连接,您可以使用以下命令进行下载和安装。
yum install binutils elfutils-libelf glibc glibc-common libaio \
libgcc libstdc++ make compat-libstdc++-33 elfutils-libelf-devel \
glibc-headers glibc-devel libgomp gcc gcc-c++ libaio-devel \
libstdc++-devel unixODBC unixODBC-devel sysstat
或者从RHEL 5的DVD安装它们。
# From Enterprise Linux 5.2 DVD
cd /media/dvd/Server
rpm -Uvh binutils-2.*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh libaio-0.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh make-3.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-devel-*
rpm -Uvh glibc-headers*
rpm -Uvh glibc-devel-2.*
rpm -Uvh libgomp*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*
rpm -Uvh sysstat-7.*
cd /
eject
请记住,安装完客户端操作系统后要安装VMware工具。
Oracle安装先决条件
请作为root用户登录到RAC1虚拟机执行下列步骤。
在/etc/hosts文件必须包含以下信息:
127.0.0.1 localhost.localdomain localhost
# Public
10.1.10.201 rac1.localdomain rac1
10.1.10.202 rac2.localdomain rac2
#Private
10.1.9.201 rac1-priv.localdomain rac1-priv
10.1.9.202 rac2-priv.localdomain rac2-priv
#Virtual
10.1.10.203 rac1-vip.localdomain rac1-vip
10.1.10.204 rac2-vip.localdomain rac2-vip
#NAS
10.1.10.61 nas1.localdomain nas1
将下列语句添加到/etc/sysctl.conf文件:
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144
# Additional and amended parameters suggested by Kevin Closson
#net.core.rmem_default = 524288
#net.core.wmem_default = 524288
#net.core.rmem_max = 16777216
#net.core.wmem_max = 16777216
net.ipv4.ipfrag_high_thresh=524288
net.ipv4.ipfrag_low_thresh=393216
net.ipv4.tcp_rmem=4096 524288 16777216
net.ipv4.tcp_wmem=4096 524288 16777216
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=0
net.ipv4.tcp_window_scaling=1
net.core.optmem_max=524287
net.core.netdev_max_backlog=2500
sunrpc.tcp_slot_table_entries=128
sunrpc.udp_slot_table_entries=128
net.ipv4.tcp_mem=16384 16384 16384
运行以下命令以改变当前的内核参数:
/sbin/sysctl –p
将下列语句添加到/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
session required pam_limits.so
通过编辑/etc/SELinux/config文件禁用安全Linux,确保了SELinux标志设置如下:
SELINUX=disabled
另外,这一改动可以使用GUI工具(系统?管理?安全级和防火墙)做到 。按一下SELinux标签,点击停用功能。
创建新的组和用户:
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
useradd -u 500 -g oinstall -G dba,oper,asmadmin oracle
passwd oracle
配置群集每个节点上的SSH。在每个节点上以Oracle用户登陆执行下列任务:
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen -t rsa # Accept the default settings.
exit
RSA公钥被写入~/.ssh/id_rsa.pub文件,私钥写入~/.ssh/id_rsa文件。
在RAC1节点上以Oracle用户登陆,生成一个authorized_keys文件,然后复制到RAC2上:
su - oracle
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
scp authorized_keys rac2:/home/oracle/.ssh/
exit
接下来,在RAC2上以Oracle用户登陆,执行下面的命令:
su - oracle
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
scp authorized_keys rac1:/home/oracle/.ssh/
exit
现在在两台服务器上的authorized_keys文件都包括了所有节点的公钥。
为了使每个群集成员节点上的SSH用户都对等,在每个节点上执行下面的命令:
su - oracle
ssh rac1 date
ssh rac2 date
ssh rac1.localdomain date
ssh rac2.localdomain date
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
现在在这两台服务器之间应该可以不要密码使用SSH和SCP了。
以Oracle用户登陆,然后将下面的语句添加到.bash_profile末尾:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
请记住,在第二个节点上为ORACLE_SID和ORACLE_HOSTNAME设置正确的值。