一、前期准备:
1、首先选择并配置Oracle RAC环境
1.1、使用vsphere web client 创建虚拟机
1.2 虚拟机添加网卡、添加控制器、添加硬盘
1.3、配置yum网络源
1.4、下载ifconfig组件
yum search ifconfig
yum install net-tools.x86_64
1.5、vim编辑器安装
yum install vim
1.6、关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重启后生效
reboot
1.7、关闭防火墙
service iptables stop
禁用防火墙
chkconfig iptables off
1.8、安装包上传
1.9、建立共享磁盘
节点一添加新硬盘,选择新的节点
节点二添加现有硬盘,配置与节点一一致
2、确认RAC集群节点数量,配置每个节点的主机名、IP;
分配IP
以下为分配方式
两个网卡 需要绑定public和private的网卡信息
其他数据库自行识别
#public ipc
192.168.9.81 rac1
192.168.9.82 rac2
#private ip
10.10.10.11 rac1priv
10.10.10.12 rac2priv
#virtual ip
192.168.9.142 rac1vip
192.168.9.163 rac2vip
#scan ip
192.168.9.191 racscanip
192.168.1.124 node-scan(此条配置暂时忽略)
关闭ntp
更改主机名
3、数据库存储技术选型(ASM/OCFS/RAW/其它);
本次安装选择ASM存储管理
4、存储空间的大小规划,根据实际业务自行规划;
5、软件安装位置、数据库安装位置的规划:
二、配置节点主机:
1、RPM依赖包检查、安装。
安装相关rpm包
yum install -y binutils-* compat-libstdc++-33-* elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh-* libaio-* libgcc-* libstdc++-* make-* sysstat-* unixODBC-* unixODBC-devel-* compat-libcap*
pdksh的RPM包需要单独安装:
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
ps:有可能会遇到
pdksh和ksh只能保留一个,这里我们保留pdksh
rpm -e --nodeps ksh-20120801-139.el7.x86_64
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
2、修改系统的某些需求参数(OS Kernel参数、空间需求)。
2.1、修改内核参数
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586
使参数生效:
sysctl -p
12、打开文件数修改
vim /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
2.2、创建Oracle用户,并且要求每个节点的UID、GID一致,并定义好Oracle用户的环境变量,比如$ORACLE_ HOME、$CRS_ HOME等。创建完成需要检查互信
13、增加组、用户、目录
groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid
useradd -u 1101 -g oinstall -G dba,asmdba -d /home/oracle oracle
echo grid | passwd --stdin grid
echo oracle | passwd --stdin oracle
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle/app/oraInventory
mkdir -p /oracle/11.2.0/grid
mkdir -p /oracle/app/grid
chown -R grid:oinstall /oracle/app/grid
chown -R grid:oinstall /oracle/11.2.0/grid
chmod -R 775 /oracle/11.2.0/grid
mkdir -p /oracle/app/oracle
mkdir /oracle/app/oracle/cfgtoollogs
chown -R oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/app/oracle
mkdir -p /oracle/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /oracle/app/oracle/product/11.2.0/db_1
chmod -R 775 /oracle/app/oracle/product/11.2.0/db_1
2.3、grid、oracle环境变量配置
RAC1
export PATH
export ORACLE_SID=+ASM1
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
RAC2
export ORACLE_SID=+ASM2
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
rac1
su - oracle
export ORACLE_SID=+racdb1
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
rac2
su - oracle
export ORACLE_SID=+racdb2
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
15、检查互信
root 用户执行
进入grid安装目录的sshsetup下
sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -noPromptPassphrase
grid
sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -noPromptPassphrase
oracle
分别在rac1和rac2测试互信
su grid
ssh rac1 date
ssh rac2 date
ssh rac1priv date
ssh rac2priv date
su oracle
ssh rac1 date
ssh rac2 date
ssh rac1priv date
ssh rac2priv date
3、进行磁盘分区,配置设备
配置裸设备,前期准备已经通过虚拟机安装完成共享设备,这里执行
fdisk -l查看是否挂载;
将磁盘进行分区
fdisk /dev/sdb
执行以上命令划分磁盘
添加对应设备的配置文件
rac1 rac2都要需要在配置文件中添加
vim /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="raw*", OWNER="grid", GROUP="asmadmin", MODE="660"
以上配置文件生效命令
Redhat执行以下命令
start_udev
centos执行以下命令:
systemctl restart systemd-udev-trigger.service
校验
通过以下命令查看磁盘是否划分完毕
raw -qa
ls -l /dev/raw
第二个节点rac2不需要再进行分区,因为是共享磁盘,但是需要更新下分区表并添加配置文件
更新分区命令
Partprobe /dev/sdb
更新完分区将同一节点一致添加配置文件,执行以下命令使配置生效
Redhat执行以下命令
start_udev
centos执行以下命令:
systemctl restart systemd-udev-trigger.service
三、软件安装:
1、安装Oracle Clusterware(RAC集群管理软件),安装完后进行检查是否成功。
1.1、安装前关闭不需要的各项服务
关闭服务
service iptables stop
chkconfig iptables off
chkconfig autofs off
chkconfig acpid off
chkconfig sendmail off
chkconfig cups-config-daemon off
chkconfig cpus off
chkconfig xfs off
chkconfig lm_sensors off
chkconfig gpm off
chkconfig openibd off
chkconfig pcmcia off
chkconfig cpuspeed off
chkconfig nfslock off
chkconfig iptables off
chkconfig ip6tables off
chkconfig rpcidmapd off
rpcidmapd.service
chkconfig apmd off
chkconfig sendmail off
chkconfig arptables_jf off
chkconifg microcode_ctl off
chkconfig rpcgssd off
rpcgssd.service
chkconfig ntpd off
ntpd.service
1.2、安装包解压,执行安装脚本
unzip linux.x64_11gR2_grid.zip
./runInstaller
安装最终完成界面,这里会有报错,因为没有配置ntp服务的原因,可以忽略
Tips:如果是最小化安装,需要安装图形界面
1、执行下面命令,安装桌面组件包
yum -y groups install "GNOME Desktop"
安装前切记 需要引入grid的安装目录变量
2、查看和设置默认运行级别
systemctl get-default
systemctl set-default graphical.target
// 设置为开机默认启动图形界面
systemctl set-default multi-user.target
// 设置开机默认启动命令模式
无法看到安装界面,请使用root账户执行如下命令创建环境变量后再通过grid用户运行安装程序
export display=:0.0
xhost +
startx
3、发现弹窗无法显示的问题,可执行以下命令调取相应组件:
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
4、安装期间需要执行两个脚本,脚本有先后顺序,并且节点一和节点二都需要执行,最后一个脚本执行完毕显示如下为执行成功:
安装期间注意事项:
- 需要使用grid用户执行,执行安装脚本前需要引入变量
Source .bash_profile
2、更改scanip名称与服务器配置的一致
3、这里注意需要更改节点名称
4、确认内外网IP网段是否正确
5、提示软件是否更新选择不需要更新
6、选择高级设置不是默认设置
7、检查节点互信有问题需要看之前配置节点通信是否存在问题
8、因为存在安装bug,在执行root.sh脚本时可能出现Adding daemon to inittab字样后程序无法继续执行,此时需要在另一个窗口使用root立即执行以下命令:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
(等待root.sh成功执行完毕后可以ctrl+c取消这里的命令)
之后创建以下文件输入以下命令,避免服务器重启后存在问题
#vi /etc/init/oracle-ohasd.conf
start on runlevel [35]
stop on runlevel [!35]
respawn
exec /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
9、回滚配置命令
/home/grid/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
安装完毕集群初始状态查看:
/home/grid/app/11.2.0/grid/bin
./crs_stat -t
安装Oracle Database。
数据库安装
需要oracle用户 解压缩文件 执行run安装程序
需要引入环境变量
只安装数据库
选择安装文件目录,正常引入变量是自己安装的
定义用户组oninstall
安装完成界面化执行dbca创建数据库
自定义创建数据库
给数据库起名
选取所有数据库
期间需要使用grid用户执行asmca创建
创建dg
创建成功
./crs_stat -t
查看此时数据库以启动