oracle 11.2.0.4 RAC安装(redhat7+vmware)
1.操作系统准备
操作系统准备的操作要在所有的数据库服务器上执行,本文安装rac以2个服务器节点为例。每台服务器需要至少2个网卡,8G以上的内存(我的电脑资源不够,只分配了4G,很难受)
1.1安装操作系统软件包
安装前先检查主机时区、各个主机网卡名是否一致。
mount /dev/cdrom /mnt
vi /etc/yum.repos.d/ol.repo
[local-source]
name=ol
baseurl=file:///mnt/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
安装软件包
yum install binutils* compat-libcap1 compat-libstdc* gcc* gcc-c++* glibc* ksh* libgcc* libstdc++* libaio* make* sysstat* elfutils-libelf-devel* xterm smartmontools xorg-x11-xauth net-tools psmisc
compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm需要单独下载,再上传安装
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
1.2创建用户、组、目录
groupadd -g 1005 oinstall
groupadd -g 1001 dba
groupadd -g 1002 asmadmin
groupadd -g 1003 asmdba
groupadd -g 1004 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,asmadmin,asmoper oracle
#配置grid、oracle密码
passwd grid
passwd oracle
创建路径&赋权
作用 | 路径 |
---|---|
grid软件 | /u01/grid |
grid_base | /u01/app/grid |
oracle_base | /u01/app/oracle |
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/grid/11.2.0/
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/grid
chmod -R 775 /u01/
mkdir /u02
chmod 777 /u02
1.3配置共享磁盘(多路径+udev)
1.3.1存储空间规划
作用 | 磁盘名 | 空间大小 |
---|---|---|
存放OCR文件与仲裁盘 | OCR | 2G |
存放数据文件redo日志等数据库文件 | DATA | 15G |
存放归档日志 | ARCH | 10G |
vmware创建共享存储
cd C:\Program Files (x86)\VMware\VMware Workstation
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 "E:\Virtual Machines\sharedisk\ocr.vmdk"
vmware-vdiskmanager.exe -c -s 15Gb -a lsilogic -t 2 "E:\Virtual Machines\sharedisk\data.vmdk"
vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic -t 2 "E:\Virtual Machines\sharedisk\arch.vmdk"
分别打开两台虚拟机目录中的vmx文件,在最后一行添加:
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "E:\Virtual Machines\sharedisk\ocr.vmdk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "E:\Virtual Machines\sharedisk\data.vmdk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "E:\Virtual Machines\sharedisk\arch.vmdk"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
1.3.2配置多路径
该步骤用于生产环境时,由于各个存储设备厂家安装部署方法不同,相应的配置也不一样,这里只适用于虚拟机环境,生产环境需要存储工程师配合操作。
root执行以下命令,可以查看到wwid
multipath -ll
将wwid写入多路径配置
vi /etc/multipath.conf
multipaths {
multipath {
wwid 360002ac0000000000000000a0001efdc
alias ocr
}
multipath {
wwid 360002ac000000000000000090001efdc
alias data
}
multipath {
wwid 360002ac0000000000000000b0001efdc
alias arch
}
}
配置udev
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
ENV{DM_NAME}=="ocr", OWNER:="grid", GROUP:="asmadmin", MODE:="0660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"
ENV{DM_NAME}=="data", OWNER:="grid", GROUP:="asmadmin", MODE:="0660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"
ENV{DM_NAME}=="arch", OWNER:="grid", GROUP:="asmadmin", MODE:="0660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"
重启udev
[root@localhost ~]# /sbin/udevadm trigger --type=devices --action=change
[root@localhost ~]# ls /dev/asm*
1.4配置系统参数
1.4.1修改/etc/hosts
vi /etc/hosts
#物理ip
10.100.0.39 rac1
10.100.0.40 rac2
#虚拟ip
10.100.0.45 rac1-vip
10.100.0..46 rac2-vip
#scan ip
10.100.0..47 rac-scan
#心跳IP
1.1.1.1 rac1-priv
1.1.1.2 rac2-priv
以上的几个IP的使用说明:
共2台服务器,每台服务器至少要2个网卡,网卡1配置为物理ip,网卡2配置为心跳ip;虚拟IP与scan ip不用配置到网卡,后续集群开启后自动带入。
1.4.2配置系统文件
vi /etc/security/limits.conf
#添加
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
设置内核参数,编辑文件并使之生效,其值不小于如下设置。
以下是参考内容
/etc/sysctl.conf:
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744 512 x processes (for example 6815744 for 13312 processes_)
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
kernel.shmall = 20447232 #物理内存/4k,See Note: 301830.1 for more information.
kernel.shmmax = 50251117363 #物理内存*0.6 (or higher at customer's discretion - see Note:567506.1)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr=3145728 #(as per Note 579108.1)
配置生效,在全部节点操作
sysctl -p
/etc/pam.d/login添加:
session required pam_limits.so
/etc/profile添加:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
1.4.3禁用SELinux、iptable
建议禁用此功能。
vi /etc/selinux/config
SELINUX=disabled
需要重启。
关闭firewall:
systemctl stop firewalld
systemctl disable firewalld
1.4.4停止ntp服务和删除配置文件及pid文件(看情况配置)
service ntpd stop
chkconfig ntpd off
rm -rf /etc/ntpd.conf
rm -rf /var/run/ntpd.pid
1.4.5配置oracle、grid用户的ssh互信
ssh生成公钥/私钥 (oracle、grid用户分别操作)
ssh-keygen -t rsa -P ''
输入内容直接按回车
cd ~/.ssh
vi id_rsa.pub
将2个节点id_rsa.pub的内容,复制出来写入到2个节点的authorized_keys文件中
cd ~/.ssh
vi authorized_keys
在2个节点分别测试ssh联通性(oracle、grid用户都要)
ssh 10.100.0.39
#提示输入yes
exit
ssh 10.100.0.40
#提示输入yes
exit
1.4.6 oracle、grid用户环境变量配置
oracle用户,2个节点上配置:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=rac1#节点1的配置
#export ORACLE_SID=rac2 #节点2的配置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
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
grid用户,2个节点上配置:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1 #节点1的配置
#export ORACLE_SID=+ASM2 #节点2的配置
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/grid/11.2.0/
export PATH=/usr/sbin:$PATH
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
2.安装grid 11.2.0.4
解压grid安装包
cd /soft
unzip p13390677_112040_Linux-x86-64_3of7.zip
在linux 7 上安装11.2.0.4会有个BUG,“Patch 19404309: BLR BACKPORT OF BUG 18658211 ON TOP OF 11.2.0.4.0 (BLR #3975140)”,需要下载补丁p19404309并上传p19404309_112040_Linux-x86-64.zip,后解压
unzip p19404309_112040_Linux-x86-64.zip
cp /soft/b19404309/grid/cvu_prereq.xml /soft/grid/stage/cvu/
2.1安装rpm包
在节点1 grid安装目录下的rpm目录下有cvuqdisk-1.0.9-1.rpm的安装包。
cd /soft/grid/rpm
rpm -ivh cvuqdisk-1.0.9-1.rpm
拷贝cvuqdisk-1.0.9-1.rpm到节点2
scp cvuqdisk-1.0.9-1.rpm 10.100.0.40:/soft/
节点2安装
cd /soft/
rpm -ivh cvuqdisk-1.0.9-1.rpm
2.2检查安装条件是否满足
节点1运行以下脚本进行检查
[root@whepi1 rpm]# su - grid
[grid@whepi1 ~]$ cd /soft/grid/
[grid@whepi1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
查看生成的报告,并进行相应的修改。在NTP、DNS、pdksh报错,可以忽略。
2.3图形化安装GRID
由于本次安装时的截图不完整,我就部分借用在其他环境上安装的截图
下图中需要点击add,添加另一个节点,我这里图没有截到
由于电脑资源不足,内存分配不了太多,有条件的同学内存多给一点。
两个节点root.sh运行前,分别打补丁p18370031:
上传p18370031_112040_Linux-x86-64.zip
chown grid:oinstall p18370031_112040_Linux-x86-64.zip
unzip p18370031_112040_Linux-x86-64.zip
/u01/grid/11.2.0/OPatch/opatch napply -oh /u01/grid/11.2.0/ -local /soft/18370031
/u01/grid/11.2.0/OPatch/opatch lsinventory
补丁成功后,用root用户运行脚本:
/u01/app/oraInventory/orainstRoot.sh
/u01/grid/11.2.0/root.sh
运行成功后,以下会报错,跳过。
3.添加ASM磁盘组
用asmca命令,可视化添加。略。
4.升级grid到最新PSU
本章节的以下操作2个节点都要操作,节点1做完再做节点2.
4.1更新opatch
将最新版opatch文件解压缩,上传到grid用户的oracle_home路径下(原opatch文件要备份)。
用root用户:
cd /u01/grid/11.2.0
mv OPatch/ OPatch_bk20171113/
cd /soft/
unzip opatch-p6880880_112000_Linux-x86-64.zip
cp -R OPatch/ /u01/grid/11.2.0/
cd /u01/grid/11.2.0/
chown -R grid:oinstall OPatch
4.2创建OCM响应文件
grid用户
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /u02/ocm.rsp
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: yes
The OCM configuration response file (/u02/ocm.rsp) was successfully created.
4.3检查 Inventory有效性
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
4.4安装PSU
上传、解压缩PSU补丁文件。
如果有开启EM的话,暂停em
emctl status dbconsole
$ORACLE_HOME/bin/emctl stop dbconsole
补丁解压缩赋权:
#用root用户运行
cd /soft/
unzip grid_psu_p26610246_112040_Linux-x86-64.zip
#用root用户运行
chown -R grid:oinstall /soft/26610246/
cd /u01/grid/11.2.0/OPatch
./opatch auto /soft/26610246/ -oh /u01/grid/11.2.0 -ocmrf /u02/ocm.rsp
4.5检查打补丁情况
su - grid
cd /u01/grid/11.2.0.4/OPatch
./opatch lsinventory
修改asm内存大小
su - grid
sqlplus / as sysasm
SQL> alter system set memory_target=4G scope=spfile;
SQL> alter system set memory_max_target=4G scope=spfile;
修改asm内存大小,重启服务器
5安装数据库软件
5.1 安装数据库软件
在节点1中ROOT用户运行这个脚本,安装前建打上补丁p19404309
su - oracle
cd /soft
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
cp /soft/b19404309/database/cvu_prereq.xml /soft/database/stage/cvu/
用oracle用户安装,可视化安装。
cd /soft/database
./runInstaller
以下为EM的BUG,选continue跳过。
完成
5.2 安装补丁
5.2.1 patch 19692824(for oem)
解压补丁文件至oracle 用户home目录,2个节点都要运行:
unzip p19692824_112040_Linux-x86-64.zip
进入补丁文件目录,安装补丁文件,2个节点都要运行:
cd /u01/app/oracle/product/11.2.0/db_1/OPatch
./opatch apply /tmp/19692824
查看补丁信息
[oracle@XM01-XJDB-09 OPatch]$ ./opatch lsinventory
5.2.1 PSU
2个节点都要:
升级OPatch
su - oracle
cd /soft/
unzip database_psu_p26609445_112040_Linux-x86-64.zip
cd $ORACLE_HOME
mv OPatch/ OPatch_bk20171113/
#root用户执行以下命令
cd /soft/
cp -R OPatch/ /u01/app/oracle/product/11.2.0/db_1/
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/OPatch
su - oracle
cd $ORACLE_HOME/OPatch
./opatch apply /soft/26609445/
检查
./opatch lsinventory
6.创建数据库
DBCA可视化创建数据库,略。