RHEL6.5 + Oracle11g + RAC + ASM

实验环境

操作系统:RedHat Enterprise Linux 6.5

虚拟机:VMware-workstation 14.1.1

数据库:Oracle Database11g 11.2.0.4

存储:Openfileresa 2.99.2

拓扑图

RHEL6.5 + Oracle11g + RAC + ASM

实验规划 

地址规划


主机Public IPPrivate IPVirtual IPStorage IP
节点1rac1172.19.44.100192.168.1.100172.19.44.110192.168.2.100
节点2rac2172.19.44.200192.168.1.200172.19.44.210192.168.2.200
存储openfilerN/AN/AN/A192.168.2.1
网卡N/Aeth0+eth1eth2N/Aeth3

Scan IP:172.19.44.151、172.19.44.152、172.19.44.153

DEVICE=eth2
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.200
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

DEVICE=eth3
BOOTPROTO=static
BROADCAST=192.168.2.255
IPADDR=192.168.2.200
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes


主机名规划

主机名
Public NamePrivate NameVIPrac-scan实例名数据库名
rac1rac1.vmos.cnrac1-privrac1-viprac-scanracdb1crm
rac2rac2.vmos.cnrac2-privrac2-viprac-scanracdb2crm


数据库规划

软件组件
用户主组次要组Base_homeOracle_home
Gridgrid
oinstall

asmadmin

asmdba

asmoper

/u01/app/grid/u01/app/11.2.0/grid
Oracleoracleoinstall

asmdb

adba

oper

/u01/app/oracle/u01/app/oracle/product/11.2.0/db_1


存储规划

openfiler使用iSCSI映射出5个50G的LUN

RHEL6.5 + Oracle11g + RAC + ASM

/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf的Partition Type改为RAID array member
Physical Volume为多盘RAID 5组成/dev/md0
Volume Group名为grid
Logical Volumes名为racdb-asm1, racdb-asm2, racdb-asm3,racdb-asm4和racdb-crs
将iSCSI Target与LUN进行匹配


RHEL6.5 + Oracle11g + RAC + ASM

将iSCSI Target与LUN进行匹配


RHEL6.5 + Oracle11g + RAC + ASM

ASM磁盘组 磁盘组大小ASM冗余ASM磁盘iSCSI路径存储类型
+CRS15G
Normal

CRS_SDB1/dev/sdb1OCR、投票盘


15GCRS_SDB2/dev/sdb2

15GCRS_SDB3/dev/sdb3
+DATA150G
Normal
DATA1_SDC/dev/sdc数据文件

+DATA250GDATA2_SDD/dev/sdd
+FRA
15GNormalFRA_SDE1/dev/sde1闪回恢复区

15GFRA_SDE2/dev/sde2

15GFRA_SDE3/dev/sde3
+REDO15G


Normal

REDO_SDF1/dev/sdf1重做日志


15GREDO_SDF2/dev/sdf2

15GREDO_SDF3/dev/sdf3

系统环境配置(两个节点)

1. 系统安装


2. 关闭防火墙和SELinux

service NetworkManager stop
chkconfig NetworkManager off
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop
sed -i 's/enforcing/disabled/g' /etc/selinux/config
init 6


3. 设置本地YUM源

mkdir /media/rhel
mount /dev/cdrom /media/rhel
cd /media/rhel
ls
cd /etc/yum.repos.d/
touch rhel-media.repo
vi rhel-media.repo
添加
[rhel-media] 
name=Red Hat Enterprise Linux 6.5 
baseurl=file:///media/rhel 
enabled=1 
gpgcheck=0 
gpgkey=file:///media/rhel/RPM-GPG-KEY-redhat-release 
执行
yum clean all
vi /etc/fstab
添加
/dev/cdrom /media/rhle auto exec 0 0
vi /etc/rc.local
添加
mount -t iso9660 /dev/cdrom /media/rhel

RHEL6环境下oracle11g所需组件列表

binutils-2.20.51.0.2-5.11.el6.i686
compat-libcap1-1.10-1.i686
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6.i686
gcc-c++-4.4.4-13.el6.i686
glibc-2.12-1.7.el6.i686
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6.i686
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6.i686
sysstat-9.0.4-11.el6.i686

安装必要组件
yum install binutils-2.* compat-libcap1-1.* compat-libstdc++-33-3.* compat-libstdc++-33-3.*.i686 gcc-4.* gcc-c++-4.* glibc-2.*.i686 glibc-2.* glibc-devel-2.* glibc-devel-2.*.i686 ksh libgcc-4.*.i686 libgcc-4.* libstdc++-4.* libstdc++-4.*.i686 libstdc++-devel-4.* libstdc++-devel-4.*.i686 libaio-0.* libaio-0.*.i686 libaio-devel-0.* libaio-devel-0.*.i686 make-3.* sysstat-9.*

安装附加组件
yum install numactl-devel unixODBC unixODBC-devel
cd /root/ASMlib/
rpm -ivh elfutils-libelf-devel-static-0.152-1.el6.x86_64.rpm elfutils-libelf-devel-0.152-1.el6.x86_64.rpm

安装常用组件
yum install setuptool ntsysv system-config-securitylevel-tui system-config-network-tui system-config-date authconfig-gtk system-config-keyboard system-config-firewall system-config-firewall-tui dbus eggdbus

检测组件
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel


4. 配置网卡聚合


5. 网络配置

Private-IP通过hosts来解析

节点1

hostname rac1.vmos.cn
vi /etc/sysconfig/network
修改为
NETWORKING=yes
HOSTNAME=rac1.vmos.cn

vi /etc/hosts
添加
127.0.0.1    rac1.vmos.cn   rac1   localhost.localdomain    localhost 
#Private IP
192.168.1.100 rac1-priv.vmos.cn   rac1-priv
192.168.1.200 rac2-priv.vmos.cn   rac2-priv

vi /etc/resolv.conf
search vmos.cn
nameserver 172.19.44.100

节点2

hostname rac2.vmos.cn
vi /etc/sysconfig/network
修改为
NETWORKING=yes
HOSTNAME=rac2.vmos.cn

vi /etc/hosts
添加
127.0.0.1    rac2.vmos.cn   rac2   localhost.localdomain    localhost  
#Private IP
192.168.1.100 rac1-priv.vmos.cn   rac1-priv
192.168.1.200 rac2-priv.vmos.cn   rac2-priv

vi /etc/resolv.conf
search vmos.cn
nameserver 172.19.44.100


6. 配置DNS服务(节点1)

Public、Virtual-IP和SCAN-IPs通过DNS来解析,Private-IP通过hosts文件来解析

安装服务 
yum install bind* -y
rpm -qa |grep bind   
service named restart    重启named服务开启chroot功能 
===========================================================================
/var/named/chroot/etc/named.conf (需要修改)
/var/named/chroot/var/named/vmos.cn.zone (需要创建)
/var/named/chroot/var/named/44.19.172.in-addr.arpa.zone (需要创建)
/var/named/chroot/var/named/2.168.192.in-addr.arpa.zone (需要创建)
拷贝样本配置文件并备份一份,然后设定权限
cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc/named.conf 
chown root.named /var/named/chroot/etc/named.conf
cd /var/named/chroot/etc/ && cp named.conf named.bak.conf
chown root.named /var/named/chroot/etc/named.conf
============================================================================
vi /var/named/chroot/etc/named.conf    
listen-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有
allow-query { any; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器
增加
zone "vmos.cn" IN {
    type master;
    file "vmos.cn.zone";
    allow-update {none;};
};

zone "44.19.172.in-addr.arpa" IN {
        type master;
        file "44.19.172.in-addr.arpa.zone";
        allow-update {none;};
};

zone "2.168.192.in-addr.arpa" IN {
      type master;
      file "2.168.192.in-addr.arpa.zone";
      allow-update {none;};
};

=============================================================================
cd /var/named/chroot/var/named
cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./vmos.cn.zone
cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./44.19.172.in-addr.arpa.zone
cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./2.168.192.in-addr.arpa.zone
chown root.named named.ca
chown root.named vmos.cn.zone
chown root.named 44.19.172.in-addr.arpa.zone
chown root.named 2.168.192.in-addr.arpa.zone
=============================================================================
vi vmos.cn.zone
增加
; Public name
rac1          IN    A    172.19.44.100
rac2          IN    A    172.19.44.200
; Virtual IP
rac1-vip      IN    A    172.19.44.110
rac2-vip      IN    A    172.19.44.210
; SCAN IP
rac-scan       IN    A    172.19.44.150
rac-scan       IN    A    172.19.44.151
rac-scan       IN    A    172.19.44.152
; Storage 
openfiler  IN    A    192.168.2.1
rac1-nas  IN    A    192.168.2.100
rac2-nas  IN    A    192.168.2.200

vi /var/named/chroot/var/named/44.19.172.in-addr.arpa.zone
增加
; Public Name in Reverse
100         IN    PTR      rac1.vmos.cn.
200         IN    PTR      rac2.vmos.cn.
; Public Virtual IP in Reverse
110         IN    PTR      rac1-vip.vmos.cn.
210         IN    PTR      rac2-vip.vmos.cn.
; SCAN Virtual IP in Reverse
150         IN    PTR      rac-scan.vmos.cn.
151         IN    PTR      rac-scan.vmos.cn.
152         IN    PTR      rac-scan.vmos.cn.

vi /var/named/chroot/var/named/2.168.192.in-addr.arpa.zone
增加
;  Storage Network Reverse
1             IN    PTR      openfiler.vmos.cn.
100         IN    PTR      rac1-nas.vmos.cn. 
200         IN    PTR      rac2-nas.vmos.cn. 

=============================================================================
重启DNS服务并设置开机自启
service named restart
chkconfig --level 2345 named on

安装dns缓存加速服务(两个节点)
yum -y install nscd
sed -i '$a\enable-cache hosts yes' /etc/nscd.conf
service nscd start
service nscd status
chkconfig --level 2345 nscd on

测试解析,节点2如果没有nslookup命令
yum -y install bind-utils


7.创建Oracle和Grid用户和用户组(两个节点)

userdel oracle
groupdel oinstall
groupdel dba
groupadd --gid 1001 oinstall
groupadd --gid 1002 dba
groupadd --gid 1003 asmadmin
groupadd --gid 1004 asmdba
groupadd --gid 1005 asmoper
groupadd --gid 1006 oper
useradd --uid 1001 --gid oinstall --groups dba,oper,asmdba,asmoper oracle
useradd --uid 1002 --gid oinstall --groups dba,asmadmin,asmdba,asmoper grid

修改两节点的grid和oracle用户密码,使其相同,密码为Huawei@1234
passwd oracle   
passwd grid


8.创建目录(两个节点)

创建Oracle Grid Home目录
mkdir -p /u01/app/grid11204
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01

创建Oracle Base目录
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

创建Oracle RDBMS Home目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle.oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

创建Oracle Inventory目录
mkdir -p /u01/app/oraInventory  
chown -R grid:oinstall /u01/app/oraInventory 
chmod -R 775 /u01/app/oraInventory


9.停用NTP服务(两个节点)

service ntpd stop
chkconfig –level 2345 ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
rm /var/run/ntpd.pid


10.配置环境变量

为每个RAC节点设置环境变量时, 确保为每个RAC节点指定唯一的Oracle SID,需要修改两个地方
Oracle:export ORACLE_SID=rac2db
grid:export ORACLE_SID=+ASM2

grid环境变量(节点1)

su - grid
vi /home/grid/.bash_profile
添加
#For Grid 
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/grid11204; export ORACLE_HOME
ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM
GRID_HOME=/u01/app/grid11204/; export GRID_HOME

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
BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

umask 022

执行
source /home/grid/.bash_profile

grid环境变量(节点2)

su - grid
vi /home/grid/.bash_profile
添加
#For grid 
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM2; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/grid11204; export ORACLE_HOME
ORACLE_HOSTNAME=rac2; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM
GRID_HOME=/u01/app/grid11204/; export GRID_HOME

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
BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

umask 022

执行
source /home/grid/.bash_profile


oracle环境变量(节点1)

su - oracle
vi /home/oracle/.bash_profile
添加
#For Oracle   
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=rac1db; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM

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
BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

umask 022

执行
source /home/oracle/.bash_profile

oracle环境变量(节点2)

su - oracle
vi /home/oracle/.bash_profile
添加
#For Oracle   
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=rac2db; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_HOSTNAME=rac2; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM

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
BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

umask 022

执行
source /home/oracle/.bash_profile

若提示

-bash: export: ` ': not a valid identifier

或者

-bash: umask: 022 : octal number out of range

删除export之后语句最后的空格


11.配置Shell资源限制(两个节点)

vi /etc/security/limits.conf 
添加
oracle   soft   nofile    131072
oracle   hard   nofile    131072
oracle   soft   nproc    131072
oracle   hard   nproc    131072
oracle   soft   core    unlimited
oracle   hard   core    unlimited
oracle   soft   memlock    3500000
oracle   hard   memlock    3500000
# Recommended stack hard limit 32MB for oracle installations
# oracle   hard   stack    32768

grid   soft   nofile    131072
grid   hard   nofile    131072
grid   soft   nproc    131072
grid   hard   nproc    131072
grid   soft   core    unlimited
grid   hard   core    unlimited
grid   soft   memlock    3500000
grid   hard   memlock    3500000
# Recommended stack hard limit 32MB for grid installations
# grid   hard   stack    32768


12.配置PAM认证模块(两个节点)

vi /etc/pam.d/login
添加
session required /lib64/security/pam_limits.so


13.配置系统用户环境(两个节点)

vi /etc/profile
添加
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -u 131072
        ulimit -n 131072
    else
        ulimit -u 131072 -n 131072
     fi
fi

if [ $USER = "grid" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
        ulimit -u 131072
        ulimit -n 131072
    else
        ulimit -u 131072 -n 131072
      fi
fi


14.配置内核参数(两个节点)

vi /etc/sysctl.conf
添加
#For oracle 11g
net.core.wmem_max = 1048576
fs.file-max = 6815744
kernel.msgmni = 2878
kernel.sem = 250 32000 100 142 
kernel.shmmni = 4096 
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.conf.eth2.rp_filter=2   (eth2为心跳网卡)

使其立即生效
sysctl -p


15.配置SSH互信 (两个节点)

节点一生成私钥和公钥
yum install openssh-clients 
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa

节点二生成私钥和公钥
yum install openssh-clients 
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa

将节点一和节点二的公匙内容拷贝到RAC1的authorized_keys文件中(节点一执行)
touch ~/.ssh/authorized_keys
cd ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp authorized_keys rac2:.ssh/
chmod 600 ~/.ssh/authorized_keys

将节点一和节点二的公匙内容拷贝到RAC2的authorized_keys文件中(节点二执行)
cd ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp authorized_keys rac1:.ssh/
chmod 600 ~/.ssh/authorized_keys

切换su - grid 后两个节点再重复上述步骤
检验显示配置,选择yes,日期显示则表示成功
ssh rac1 date
ssh rac2 date
ssh rac1.vmos.cn date
ssh rac2.vmos.cn date
ssh rac1-priv date
ssh rac2-priv date


16.挂载ISCSI磁盘(两个节点)

yum -y install iscsi\*    
rpm -qa | grep iscsi-initiator-utils
service iscsid restart           
chkconfig --level 2345 iscsid on       
chkconfig --level 2345 iscsi on
chkconfig iscsi --list

openfiler有bug,需要vi /etc/initiators.deny文件中全部行注释掉

RHEL6.5 + Oracle11g + RAC + ASM

发现远程资源
iscsiadm -m discovery -t sendtargets -p 192.168.2.1 
 提示              
192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-crs
192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm4
192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm3
192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm2
192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm1
登录远程资源
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-crs -p 192.168.2.1 -l
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm1 -p 192.168.2.1 -l
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm2 -p 192.168.2.1 -l
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm3 -p 192.168.2.1 -l
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm4 -p 192.168.2.1 -l 
自动登录
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-crs -p 192.168.2.1 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm1 -p 192.168.2.1 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm2 -p 192.168.2.1 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm3 -p 192.168.2.1 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm4 -p 192.168.2.1 --op update -n node.startup -v automatic
 cat /proc/partitions

RHEL6.5 + Oracle11g + RAC + ASM


17.格式化分区(节点1)

fdisk /dev/sdb    
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-50752, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-51104, default 51104): 15000
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
将sdb划分为3个主分区,每个15G,其他步骤省略
继续按照存储规划列表步骤格式化/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf


18.创建ASM disk配置共享存储(两个节点)

yum -y install parted
partprobe /dev/sdb /dev/sdc /dev/sdb /dev/sde /dev/sdf

安装ASMlib组件(两个节点)

如果服务器可访问外网
wget http://public-yum.oracle.com/public-yum-ol6.repo
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
yum install kmod-oracleasm
wget http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel6/amd64/2.1.8/oracleasm-support-2.1.8-1.el6.x86_64.rpm
wget http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm
如果无法联网
cd /root/ASMlib
rpm -ivh kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm
rpm -ivh oracleasm*

RHEL6.5 + Oracle11g + RAC + ASM

配置ASMLib(两个节点)

/usr/sbin/oracleasm configure -i
grid
asmadmin
y
y

RHEL6.5 + Oracle11g + RAC + ASM

vi /etc/sysconfig/oracleasm
# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER="dm"
# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE="sda"

执行 /etc/init.d/oracleasm enable

RHEL6.5 + Oracle11g + RAC + ASM

读取asm模块(两个节点)

oracleasm init

使用oracleasm创建ASM盘(节点1)

oracleasm createdisk crs_sdb1 /dev/sdb1
oracleasm createdisk crs_sdb2 /dev/sdb2
oracleasm createdisk crs_sdb3 /dev/sdb3
oracleasm createdisk data1_sdc /dev/sdc1
oracleasm createdisk data2_sdd /dev/sdd1
oracleasm createdisk fra_sde1 /dev/sde1
oracleasm createdisk fra_sde2 /dev/sde2
oracleasm createdisk fra_sde3 /dev/sde3
oracleasm createdisk redo_sdf1 /dev/sdf1
oracleasm createdisk redo_sdf2 /dev/sdf2
oracleasm createdisk redo_sdf3 /dev/sdf3
oracleasm scandisks
oracleasm listdisks

如果创建错误,输入oracleasm deletedisk CRS_SDB来删除

RHEL6.5 + Oracle11g + RAC + ASM

剩余节点同步磁盘信息(节点2)

oracleasm scandisks
oracleasm listdisks

RHEL6.5 + Oracle11g + RAC + ASM

验证

/usr/sbin/oracleasm-discover 'ORCL:*'

RHEL6.5 + Oracle11g + RAC + ASM


Grid安装

1. 因为两个节点时间不一致,运行脚本出现#CRS-2674: Start of 'ora.ctssd' on 'rac2' failed错误

节点1
yum install -y xinetd
vi /etc/xinetd.d/time-stream
修改 disable = yes改为no
service xinetd start
chkconfig time-stream on

节点2
yum install -y rdate vixie-cron
rdate -s 172.19.44.100
vi /etc/crontab
*/1 * * * * rdate -s 172.19.44.100

2. 因为两个节点时区不一样,出现ERROR:PRVF-5479错误

两个节点
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 3. 因为DNS解析超时,出现ERROR:PRVF-5636错误

节点1
vi /etc/named.conf
修改
zone “.” IN
{
type hint;
file "/dev/null";
};
service named restart

4.安装cvuqdisk包(两个节点)

cvuqdisk的安装包在GI的光盘里,安装前需要建立好oinstall组

yum install smartmontools 
export CVUQDISK_GRP=oinstall
echo $CVUQDISK_GRP
cd /u01/app/grid/grid-software/grid/rpm
rpm -ivh cvuqdisk-1.0.9-1.rpm 
rpm -qa | grep cvuqdisk

  5. 使用winscp将oracle安装源传入/root目录

节点1

yum groupinstall "Desktop" "Desktop Platform" "X Window System" "Graphics Creation Tools" 
yum install tightvnc-server unzip xorg-x11-apps.x86_64
vncpasswd 123456
reboot
vncserver
chkconfig vncserver on
export DISPLAY=:1.0
xhost +
mkdir /u01/app/grid/grid-software
mv /root/11.2.0.4/p13390677_112040_Linux-x86-64_3of7.zip /u01/app/grid/grid-software
chown grid.oinstall /u01/app/grid/grid-software
cd /u01/app/grid/grid-software
chown grid.oinstall p13390677_112040_Linux-x86-64_3of7.zip
su - grid
cd /u01/app/grid/grid-software
unzip p13390677_112040_Linux-x86-64_3of7.zip
sed -i 's/CV_ASSUME_DISTID=OEL4/CV_ASSUME_DISTID=OEL6/' /u01/app/grid/grid-software/grid/stage/cvu/cv/admin/cvu_config
grep CV_ASSUME_DISTID=OEL6 /u01/app/grid/grid-software/grid/stage/cvu/cv/admin/cvu_config
提示CV_ASSUME_DISTID=OEL6
如果运行安装脚本出现could not execute auto check for display colors using command错误
export DISPLAY=172.19.44.1:0.0   (172.19.44.1为ssh客户端地址)
cd grid
./runInstaller


RHEL6.5 + Oracle11g + RAC + ASM

跳过软件升级


RHEL6.5 + Oracle11g + RAC + ASM

install and configure oracle grid infrastructure for a cluster


RHEL6.5 + Oracle11g + RAC + ASM

advanced installation


RHEL6.5 + Oracle11g + RAC + ASM

next


RHEL6.5 + Oracle11g + RAC + ASM

cluster name输入rac-scan,scan name输入rac-scan.vmos.cn,不勾选configure gns


RHEL6.5 + Oracle11g + RAC + ASM

添加节点2,输入节点2的public主机名和vip主机名


RHEL6.5 + Oracle11g + RAC + ASM

定义网卡类型,将心跳网卡类型改为private,存储网卡do not use,绑定的外网卡类型改为public


RHEL6.5 + Oracle11g + RAC + ASM

oracle automatic storage management(oracle asm)


RHEL6.5 + Oracle11g + RAC + ASM

组名为CRS,冗余级别为Normal,勾选三个CSR磁盘,ASM扫描默认路径/dev/oracleasm/disks


RHEL6.5 + Oracle11g + RAC + ASM

use same passwords for these accounts,密码为Huawei1234


RHEL6.5 + Oracle11g + RAC + ASM

do not use inteligent platform management interface(ipm)


RHEL6.5 + Oracle11g + RAC + ASM

asmadmin,asmdba,asmoper


RHEL6.5 + Oracle11g + RAC + ASM

next


RHEL6.5 + Oracle11g + RAC + ASM

next


RHEL6.5 + Oracle11g + RAC + ASM

install


RHEL6.5 + Oracle11g + RAC + ASM

等待安装


RHEL6.5 + Oracle11g + RAC + ASM

节点1执行脚本完成后,节点2再执行脚本,完成后再点OK

/u01/app/oraInventory/orainstRoot.sh
/u01/app/grid11204/root.sh


RHEL6.5 + Oracle11g + RAC + ASM

运行脚本提示无错误后,在OK继续


RHEL6.5 + Oracle11g + RAC + ASM

close


RHEL6.5 + Oracle11g + RAC + ASM

/u01/app/grid11204/bin/srvctl status asm



RHEL6.5 + Oracle11g + RAC + ASM

/u01/app/grid11204/bin/crs_stat -t -v

验证正常


创建磁盘组

asmca

RHEL6.5 + Oracle11g + RAC + ASM

状态正常


RHEL6.5 + Oracle11g + RAC + ASM

disk group标签点击create


RHEL6.5 + Oracle11g + RAC + ASM

新建FRA,redundancy选择Normal,select member disks勾选ORCL:FRA_SDE1、SDE2、SDE3


RHEL6.5 + Oracle11g + RAC + ASM

创建FRA磁盘组成功


RHEL6.5 + Oracle11g + RAC + ASM

继续创建REDO,redundancy选择External,select member disks勾选ORCL:REDO_SDF1、SDF2、SDF3


RHEL6.5 + Oracle11g + RAC + ASM

最后创建DATA,redundancy选择Normal,select member disks勾选ORCL:DATA1_SDC和ORCL:DATA2_SDD


RHEL6.5 + Oracle11g + RAC + ASM

Exit


Oracle安装

使用winscp将oracle安装源cd1和cd2传入/root目录

mkdir /u01/app/oracle/oracle-software
mv /root/p13390677_112040_Linux-x86-64_1of7.zip /u01/app/oracle/oracle-software
mv /root/p13390677_112040_Linux-x86-64_2of7.zip /u01/app/oracle/oracle-software
chown oracle.oinstall /u01/app/oracle/oracle-software
cd /u01/app/oracle/oracle-software
chown oracle.oinstall p13390677_112040_Linux-x86-64_1of7.zip
chown oracle.oinstall p13390677_112040_Linux-x86-64_2of7.zip
su - oracle
cd /u01/app/oracle/oracle-software
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
sed -i 's/CV_ASSUME_DISTID=OEL4/CV_ASSUME_DISTID=OEL6/' /u01/app/oracle/oracle-software/database/stage/cvu/cv/admin/cvu_config
grep CV_ASSUME_DISTID=OEL6 /u01/app/oracle/oracle-software/database/stage/cvu/cv/admin/cvu_config
cd /u01/app/oracle/oracle-software/database
./runInstaller

RHEL6.5 + Oracle11g + RAC + ASM

不接收安全更新


RHEL6.5 + Oracle11g + RAC + ASM

Yes


RHEL6.5 + Oracle11g + RAC + ASM

跳过软件更新


RHEL6.5 + Oracle11g + RAC + ASM

install database software only


RHEL6.5 + Oracle11g + RAC + ASM

oracle real application clusters database installation,勾选两个节点


RHEL6.5 + Oracle11g + RAC + ASM

Next


RHEL6.5 + Oracle11g + RAC + ASM

Enterprise Edition


RHEL6.5 + Oracle11g + RAC + ASM

路径默认


RHEL6.5 + Oracle11g + RAC + ASM

管理组和操作组成员默认


RHEL6.5 + Oracle11g + RAC + ASM

Install


RHEL6.5 + Oracle11g + RAC + ASM

等待安装


RHEL6.5 + Oracle11g + RAC + ASM

节点1执行脚本完成后,节点2再执行脚本,完成后再点OK

/u01/app/oracle/product/11.2.0/db_1/root.sh


RHEL6.5 + Oracle11g + RAC + ASM

脚本运行完成


RHEL6.5 + Oracle11g + RAC + ASM

完成


创建数据库

su - root
dbca

RHEL6.5 + Oracle11g + RAC + ASM

Oracle Real Application Clusters(RAC) database


RHEL6.5 + Oracle11g + RAC + ASM

Create a Database


RHEL6.5 + Oracle11g + RAC + ASM

创建通用数据库


RHEL6.5 + Oracle11g + RAC + ASM

配置类型为Admin-Managed,输入数据库名为CRM,勾选两个节点


RHEL6.5 + Oracle11g + RAC + ASM

不需要配置企业管理器


RHEL6.5 + Oracle11g + RAC + ASM

启动自动维护任务


RHEL6.5 + Oracle11g + RAC + ASM

使用统一密码,密码为Huawei1234


RHEL6.5 + Oracle11g + RAC + ASM

数据库存储类型选择ASM,数据区选择之前创建的DATA磁盘组


RHEL6.5 + Oracle11g + RAC + ASM

选择数据库闪回恢复区,勾选之前创建好的FRA磁盘组


RHEL6.5 + Oracle11g + RAC + ASM

不开启归档


RHEL6.5 + Oracle11g + RAC + ASM

创建自带sample schema


RHEL6.5 + Oracle11g + RAC + ASM

SGA和PGA自动管理


RHEL6.5 + Oracle11g + RAC + ASM

连接数150


RHEL6.5 + Oracle11g + RAC + ASM

字符集改为AL32UTF8


RHEL6.5 + Oracle11g + RAC + ASM

连接模式为封闭式


RHEL6.5 + Oracle11g + RAC + ASM

Next


RHEL6.5 + Oracle11g + RAC + ASM

开始创建数据库


RHEL6.5 + Oracle11g + RAC + ASM

OK


RHEL6.5 + Oracle11g + RAC + ASM

OK


RHEL6.5 + Oracle11g + RAC + ASM

创建数据库时间较长,等待完成


相关软件和脚本

RHEL6.5 + Oracle11g + RAC + ASM ASM.rar



更新日期: 2018年04月26日
文章标签: LinuxOracle
文章链接: https://www.vos.cn/db/212.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。