【ORACLE】oracle11g RAC搭建

--安装好操作系统(rhel-server-6.7 on vmware)

注意事项:
1.磁盘配置lvm
2.账号密码 root/oracle

--------------------------------节点1、节点2-------------------------------------------------------------------------------
-- 配置主机名、ip
注意事项:
1.配置RAC需要两块网卡,提前添加
2.如果节点2是克隆节点1,记得修改主机名和网卡mac地址,并删除/etc/udev/rules.d/70-persistent-net.rules文件后重启系统

vim /etc/sysconfig/network

cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.3.11
PREFIX=24

-- 拷贝一份网卡配置文件,修改mac和ip
cp ifcfg-eth0 ifcfg-eth1
vim ifcfg-eth1
DEVICE=eth1
HWADDR=00:0c:29:2b:f4:08
IPADDR=172.16.3.11

-- 重启网卡
service network restart
ifconfig


-- 关闭selinux和防火墙
setenforce 0
getenforce
vim /etc/sysconfig/selinux
SELINUX=disabled

service iptables stop
chkconfig iptables off
service iptables status

-- 配置yum
注意事项:
1.yum配置完成后,用yum list |grep vsftpd测试一下
2.如果要让挂载永远生效,可写入/etc/fstab
vim /etc/fstab
/dev/sr0        /mnt            iso9660 defaults,loop     0 0

mount /dev/cdrom /mnt
vim /etc/yum.repos.d/server.repo
[base]
name=Red Hat
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0 

-- 配置hosts
vim /etc/hosts
#Public
192.168.3.11   rac01
192.168.3.12   rac02
#Private
172.16.3.11   rac01-priv
172.16.3.12   rac02-priv
#Virtual
192.168.3.13   rac01-vip
192.168.3.14   rac02-vip
#SCAN
192.168.3.15  racscan
192.168.3.16  racscan
192.168.3.17  racscan

-- 修改内核参数
vim /etc/sysctl.conf
#for oracle softe
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

sysctl -p

--添加资源限制参数
vim /etc/security/limits.conf
#for oracle
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

#for grid
grid              soft    nproc   2047
grid              hard    nproc   16384
grid              soft    nofile  1024
grid              hard    nofile  65536
grid              soft    stack   10240



-- 配置login
vim /etc/pam.d/login
session required        pam_limits.so

-- 重命名ntp.conf文件
mv /etc/ntp.conf /etc/ntp.conf.bak

-- 创建必要的用户、组、目录,并授权
注意事项:
1.oracle用户密码设置为oracle,grid用户密码设置为grid
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle

passwd oracle
passwd grid

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

-- 配置grid和oracle用户环境变量
vim /home/grid/.bash_profile
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_SID=+ASM1  #其他节点注意修改
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/;

umask 022

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

vim /home/oracle/.bash_profile
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_SID=proc1  #其他节点注意修改
export ORACLE_UNQNAME=proc
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_TERM=xterm; export ORACLE_TERM
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

umask 022

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

source /home/oracle/.bash_profile 
source /home/grid/.bash_profile


-- 安装必要的软件包

yum -y install  binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++  glibc-common  glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat

-----------------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------节点1------------------------------------------------------------------------------------------------------

-- 搭建DNS
yum list |grep bind-chroot
yum -y install bind-chroot.x86_64
vim /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion yes;

vim /etc/named.rfc1912.zones
zone "zm.cn" IN {
        type master;
        file "zm.cn.zone";
        allow-update { none; };
};
zone "3.168.192.in-addr.arpa" IN {
        type master;
        file "3.168.192.local";
        allow-update { none; };
};


vim /var/named/zm.cn.zone
$TTL   86400
@               IN SOA  rac01.zm.cn. root.zm.cn. (
                                        20180319              ; serial (d. adams)
                                        1D              ; refresh
                                        1H             ; retry
                                        1W              ; expiry
                                        3H)            ; minimum

                IN NS           rac01.zm.cn.
rac01           IN A            192.168.3.11
rac02           IN A            192.168.3.12
racscan           IN A           192.168.3.15
racscan           IN A           192.168.3.16
racscan           IN A           192.168.3.17

vim /var/named/3.168.192.local
$TTL   86400
@      IN      SOA     rac01.zm.cn. root.zm.cn  (
                                        20180319        ; serial (d. adams)
                                        1D              ; refresh
                                        1H             ; retry
                                        1W              ; expiry
                                        3H)            ; minimum
       IN      NS      rac01.zm.cn.
11    IN      PTR   rac01.zm.cn.
12    IN      PTR   rac02.zm.cn.
15    IN      PTR   racscan.zm.cn.
16    IN      PTR   racscan.zm.cn.
17    IN      PTR   racscan.zm.cn.

----------------------------------------------节点1,节点2-------------------------------------
-- 配置/etc/resolv.conf 
vim /etc/resolv.conf 
search zm.cn
nameserver 192.168.3.11
----------------------------------------------节点1-------------------------------------------
-- 重启dns,并设置开启启动
service named restart
chkconfig named on;
----------------------------------------------节点1,节点2-------------------------------------
-- 验证dns正向解析和反向解析
nslookup racscan
nslookup rac01
nslookup rac02

nslookup 192.168.3.11
nslookup 192.168.3.12
nslookup 192.168.3.15
nslookup 192.168.3.16
nslookup 192.168.3.17
---------------------------------------------------节点1-----------------------------------------------------------
-- 创建共享存储
D:Program Files (x86)VMwareVMware Workstation>
vmware-vdiskmanager.exe -c -s 2000Mb -a lslogic -t 2 "D:VM machinesharediskocr1.vmdk"
vmware-vdiskmanager.exe -c -s 2000M -a lslogic -t 2 "D:VM machinesharediskocr2.vmdk"
vmware-vdiskmanager.exe -c -s 500M -a lslogic -t 2 "D:VM machinesharediskfra.vmdk"
vmware-vdiskmanager.exe -c -s 10000M -a lslogic -t 2 "D:VM machinesharediskdata1.vmdk"
vmware-vdiskmanager.exe -c -s 10000M -a lslogic -t 2 "D:VM machinesharediskdata2.vmdk"
vmware-vdiskmanager.exe -c -s 5000M -a lslogic -t 2 "D:VM machinesharediskarch.vmdk"
-- 编辑虚拟机设置,添加磁盘,选择使用现有虚拟磁盘(选择永久,保持现有格式)
--编辑虚拟机设置, 高级选择scsi1,不和系统磁盘在一个通道上

-- 节点1的.vmx文件添加
scsi1:0.writeThrough="TRUE"
scsi1:0.sharedBus="virtual"
scsi1:1.writeThrough="TRUE"
scsi1:1.sharedBus="virtual"
scsi1:2.writeThrough="TRUE"
scsi1:2.sharedBus="virtual"
scsi1:3.writeThrough="TRUE"
scsi1:3.sharedBus="virtual"
scsi1:4.writeThrough="TRUE"
scsi1:4.sharedBus="virtual"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
disk.EnableUUID = "TRUE"

-------------------------------------------------------------节点2-----------------------------------------------------------------------------------------
-- 节点2的.vmx文件添加
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:VM machinesharediskdata.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:VM machinesharediskdata2.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:VM machinesharediskfra.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:VM machinesharediskocr1.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:VM machinesharediskocr2.vmdk"
scsi1:4.mode = "independent-persistent"

diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
--------------------------------------节点1,节点2------------------------------------
-- 开启节点1,节点2
--------------------------------------节点1-----------------------------------------
-- 格式化共享磁盘,重复下面步骤,格式化其他盘
fdisk /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
回车,回车
w

-----------------------------------------------节点1,节点2-----------------------------------------
vim /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="/dev/sdb",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add",KERNEL=="/dev/sdc",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add",KERNEL=="/dev/sdd",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add",KERNEL=="/dev/sde",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
ACTION=="add",KERNEL=="/dev/sdf",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="81",RUN+="/bin/raw /dev/raw/raw5 %M %m"

KERNEL=="raw[1-5]",OWNER="grid",GROUP="asmadmin",MODE="660"

-- 重启udev,查看绑定的磁盘(如果没有绑定成功,检查是否.vmx文件参数配置错误或者重启一下系统)
start_udev
ll /dev/raw/*

-------------------------------------------------节点1--------------------------------------------------------------------
-- 上传软件包(1和2的数据库,3是grid)
mkdir /soft

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip

-- 解压,修改grid目录权限,安装cvuqdisk包,并传给节点2
unzip p13390677_112040_Linux-x86-64_3of7.zip
cd grid/rpm/
rpm -ivh cvuqdisk-1.0.9-1.rpm
scp cvuqdisk-1.0.9-1.rpm rac02:/tmp
mv grid /home/grid/

--配置xhost(没有图形化桌面配置需开启xmanager passive)

root用户下执行:xhost +  (正常显示:access control disabled, clients can connect from any host)
grid用户下执行: export DISPLAY=192.168.3.1:0.0
                                   xdpyinfo(有数据说明正常)

---------------------------节点2-----------------------------------------------------------------------------
-- 安装cvuqdisk包
cd /tmp
rpm -ivh cvuqdisk-1.0.9-1.rpm

---------------------------节点1-----------------------------------------------------------------------
注意事项:
1.在安装grid过程中配置每个节点的grid用户ssh互信
-- 安装grid软件
su - grid
cd grid/
./runInstaller 



-------------------------------------------节点1、节点2----------------------------------
-- 安装到76% 在节点1、节点2执行下面两个脚本
注意事项:
必须先在节点1执行完了,再去节点2执行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/11.2.0/grid/root.sh

---------------------------------------------节点1--------------------------------------
-- 检查集群状态
su - grid
crsctl check crs
crs_stat -t -v
olsnodes -n

--解压数据库安装包,安装数据库软件
注意事项:
1.这里只是安装数据库软件,选择:install database software only
2.在安装数据库软件过程中配置每个节点的oracle用户ssh互信
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
mv database/ /home/oracle/
su - oracle
cd database/
./runInstaller

-------------------------------------------节点1、节点2----------------------------------
-- 安装到94% 在节点1、节点2执行下面两个脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh



---------------------------------------------节点1-------------------------------------- 
--- 添加asm磁盘组
注意事项:
1.确保添加完后两个节点的磁盘组都mount了
su - grid
asmca
create (添加DATA和FRA磁盘组)

-- 建库
注意事项:
1.填写sid后记得select all,选择所有节点
2.字符集设置
dbca


 
原文地址:https://www.cnblogs.com/xphdbky/p/8746105.html