技术开发 频道

虚拟RHEL5上安装11g RAC

  客户端操作系统安装

  请将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设置正确的值。

0
相关文章