概述:写下本文档的初衷和动力,来源于上篇的《oracle基本操作手册》。oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总。然后形成体系的总结,一则进行回顾复习,另则便于查询使用。本图文文档亦源于此。阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理。由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC。始于唐博士指导,对数据库集群进行配置安装,前后经历2,3个月的摸索。中间遇到不少问题。此文档也将一一记录整理。(本文原创/整理,转载请标注原文出处: RAC在LINUX上使用NFS安装前准备(六) )
本文极客学院入口:Oracle-RAC 体验
白宁超
2015年7月19日10:28:41
l Oracle Enterprise Linux 5.7
l Oracle 11 g版本2(11.2)和修改和数据库软件
本文使用Oracle Enterprise Linux 5.7。 一般的图形操作系统安装指南在这里。 更具体地说,它应该是一个服务器安装的2 g交换(最好是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-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
注:本文原创/整理,转载请标注原文出处。(接下来文章即对Oracle RAC真实环境下安装准备、集群安装、数据库安装、测试。为本系列重点内容)