离线下载
PDF版 ePub版

点击这里成为作者 · 更新于 2017-11-18 05:00:56

ORACLE 11 G 版本 2 RAC 在 LINUX 上使用 NFS 安装前准备

介绍

下载软件

操作系统安装

本文使用 Oracle Enterprise Linux 5.7。一般的图形操作系统安装指南在这里。更具体地说,它应该是一个服务器安装的 2g 交换(最好是3-4G),Linux 禁用防火墙和安全。Oracle 建议默认服务器安装,但是如果你执行一个自定义安装包括以下包组:

GNOME 桌面环境、编辑器、图形化网络、基于文本的网络、开发库、开发工具、服务器配置工具、管理工具、基地、系统工具、X 窗口系统符合本文的其余部分,以下信息应该设置在安装。

RAC1

  • 主机名:rac1.localdomain
  • IP 地址:eth0:192.168.0.101(公共地址)
  • 默认网关:eth0:192.168.0.1(公共地址)
  • IP 地址:eth1:192.168.1.101(私人地址)
  • 默认网关:eth1:没有

RAC2

  • 主机名:rac2.localdomain
  • IP 地址:eth0:192.168.0.102(公共地址)
  • 默认网关:eth0:192.168.0.1(公共地址)
  • IP 地址:eth1:192.168.0.102(私人地址)
  • 默认网关:eth1:没有

你可以自由地改变 IP 地址来满足您的网络,但要记住保持一致在本文的其余部分的调整。

ORACLE 安装先决条件

自动设置【所有节点】

如果您计划使用“oracle-validated”包执行所有先决条件设置,按照说明 http://public-yum.oracle.com设置 OL 的 yum 资源库,然后执行以下命令。

# yum install oracle-validated
mkdir /media/disk    #新建挂载目录
cd /usr/local/src       #查看上传后的OEL镜像文件
mv rhel-server-6.5-x86_64-dvd.iso  / usr/local/src/OEL57.iso #重命名镜像文件
 mount -t iso9660 -o loop /usr/local/src/OEL57.iso  /media/ disk 
vim  /etc/yum.repos.d/rhel-source.repo 
cd /etc/yum.repos.d/   
touch  rhel-media.repo   #建立yum配置文件
vi  rhel-media.repo   #编辑配置文件,添加以下内容
[OEL57]
name= Oracle Enterprise Linux 5.7  #自定义名称
baseurl=file:///media/disk/Service #本地光盘挂载路径
enabled=1   #启用yum源,0为不启用,1为启用
gpgcheck=1  #检查GPG-KEY,0为不检查,1为检查
yum install oracle-validated  #安装 oracle-validated 包并检查其安装配置 

注:oracle-validated 安装 crs 以及 oracle dabase 所需要补丁包,并创建 oracle 用户。

额外的设置

执行以下步骤同时登录到“ol5 - 112 rac1”虚拟机作为根用户。

修改 oracle 用户密码:暂时设定密码 oracle

Passwd oracle

安装下面的包从 Oracle 网格媒体在你定义组

cd /media/rpmname  #上传/grid/rpm包到/media下
rpm -Uvh cvuqdisk*  #安装rpm

如果您不使用 DNS," / etc / hosts 文件必须包含以下信息。

Vi /etc/hosts

127.0.0.1       localhost.localdomain   localhost
# Public
192.168.0.101   rac1.localdomain        rac1
192.168.0.102   rac2.localdomain        rac2
# Private
192.168.1.101   rac1-priv.localdomain   rac1-priv
192.168.1.102   rac2-priv.localdomain   rac2-priv
# Virtual
192.168.0.103   rac1-vip.localdomain    rac1-vip
192.168.0.104   rac2-vip.localdomain    rac2-vip
# SCAN
192.168.0.105   scan.localdomain        scan
192.168.0.106   scan.localdomain        scan
192.168.0.107   scan.localdomain        scan
# NAS
192.168.0.108   nasl.localdomain        nasl

请注意。SCAN(扫描地址)不是应该在主机文件中定义的。 而是应该定义在 DNS 之间循环 3 相同的子网的公共 ip 地址。对于这个安装,我们将妥协和使用 hosts 文件。 这可能导致问题如果使用 11.2.0.2 向前。

SELinux 的设置更改为允许通过编辑 /etc/SELinux/config文件,确保 SELinux 标志设置如下。

SELINUX=disable

另外,这个变更可以通过使用 GUI 工具(系统>管理>安全级别和防火墙)。单击 SELinux 选项卡和禁用功能。

# service iptables stop   #禁用防火墙
# chkconfig iptables off

停止 NTP 服务

# service ntpd stop
Shutting down ntpd:                                        [  OK  ]
# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.orig
# rm /var/run/ntpd.pid

配置时间同步

Vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# service ntpd restart

创建 oracle 的安装目录

mkdir -p  /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

以 ORACLE 身份登录,打开以下文件,将如下内容贴到末尾处

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
DB_HOME=$ORACLE_BASE/product/11.2.0/db_1; export DB_HOME
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_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

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

注意:rac2 节点处修改:

ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME
ORACLE_SID=RAC2; export ORACLE_SID

两个节点都创建一个文件 /home/oracle/ grid_env,并添加以下内容。

ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_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

两个节点都创建一个文件 /home/oracle/db_env,并添加以下内容。Rac2 修改 ORACLE_SID=RAC2

#touch /home/oracle/db_env
#vi    /home/oracle/db_env
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_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

关机:

# shutdown -r now 或者 # init 0

创建共享磁盘

首先,我们需要设置一些 NFS 共享。

在这种情况下我们将做这个在 RAC1 节点上,但你可以在 NAS 或服务器上。在 RAC1 节点上创建以下目录。

mkdir /shared_config
mkdir /shared_grid
mkdir /shared_home
mkdir /shared_data

在文件 /etc/exports 末尾添加以下代码:

vi /etc/exports
/shared_config              *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_grid                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_home                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_data                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

运行以下命令到处 NFS 共享

chkconfig nfs on
service nfs restart

RAC1 和 RAC2 创建 Oracle 软件安装目录

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/oradata
mkdir -p /u01/shared_config
chown -R oracle:oinstall /u01/app /u01/app/oracle /u01/oradata /u01/shared_config
chmod -R 775 /u01/app /u01/app/oracle /u01/oradata /u01/shared_config

添加以下行到 /etc/fstab 文件中

# vi  /etc/fstab
nas1:/shared_config /u01/shared_config  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_grid   /u01/app/11.2.0/grid  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_home   /u01/app/oracle/product/11.2.0/db_1  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_data   /u01/oradata  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0

挂载 NFS 到两个节点上

mount /u01/shared_config
mount /u01/app/11.2.0/grid
mount /u01/app/oracle/product/11.2.0/db_1
mount /u01/oradata

确保共享目录权限正确:授权访问权限

chown -R oracle:oinstall /u01/shared_config
chown -R oracle:oinstall /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/oradata

测试:在 RAC1 的 /u01/oradata 目录下创建一个测试目录 test,然后打开 rac 的 /u01/oradata 查看是否存在,并在 rac2 删除,查看 rac1 是否同步。

RAC1 #cd /u01/oradata              
RAC1 #mkdir –r test
RAC1 #ls

RAC2 # cd /u01/oradata
RAC2 #ls
RAC2 #rm –rf test