环境准备
节点一:CentOS 6.8 x86-64
CPU:4C 内存:8GB SWAP:8GB
主机名:rac01 业务ip:192.168.50.21 私网ip:10.98.50.21 虚拟ip:192.168.50.23
节点二:CentOS 6.8 x86-64
CPU:4C 内存:8GB SWAP:8GB
主机名:rac02 业务ip:192.168.50.22 私网ip:10.98.50.22 虚拟ip:192.168.50.24
SCANip:192.168.50.25 192.168.50.26 192.168.50.27
数据库与集群软件:
linuxamd64_12102_grid_1of2.zip
linuxamd64_12102_grid_2of2.zip
linuxamd64_12102_database_1of2.zip
linuxamd64_12102_database_2of2.zip
共享磁盘:
这里OCRVOTING ,DATA和FRA采用Normal。所需磁盘数至少三块,每块盘至少800MB。
External所需磁盘至少一块,每块盘至少400MB;
High所需磁盘至少五块,每块至少1.2GB。
具体参阅Oracle官网RAC安装文档,存储配置章节。http://docs.oracle.com/database/121/CWLIN/storage.htm#CWLIN287
创建虚拟机:
使用工具VMware vSphere Client或VMware vSphere Web Client连接vCenter或ESXi主机,选中一台ESXi主机,点击入门选项卡上的“创建新的虚拟机”
创建类型自定义
为虚拟机命名
确定虚拟机存放datastore的位置
虚拟机版本可以保持默认,如果后期有迁移其他版本平台的需求,这里就需要考虑版本的兼容性。
虚拟机操作系统与版本
虚拟机CPU数量按照规格配置
内存容量按照规格
配置两张虚拟网卡
scsi控制器类型保持默认
虚拟磁盘类型选择“创建新的虚拟磁盘”
设定虚拟机系统盘容量,为了尽可能减小数据库主机性能影响,这里建议磁盘置备为“厚置备置零”,并指定数据存储位置。
虚拟机设备节点保持默认
查看虚拟机摘要信息,并勾选“完成前编辑虚拟机配置”,点击继续。
点击添加
设备类型选择硬盘
选择“创建新的虚拟磁盘”
创建容量为10GB,厚置备置零的磁盘,并指定数据存储位置。
虚拟机设备节点选择“SCSI(1:0)”
确认摘要信息无误,点击完成。
按照此过程,陆续添加第二块与第三块虚拟磁盘,设置参数一样,不同的地方为:虚拟设备节点依次为“SCSI(1:1)”与“SCSI(1:2)”。
最后编辑虚拟机配置,将新的SCSI控制器,也就是第二个SCSI控制器,编号为1,SCSI总线共享类型改为物理,即让最后添加的三块虚拟磁盘实现与其他虚拟机共享访问。
完成开始创建第一台虚拟机,照此过程新建第二台虚拟机,过程与以上类似,不同的地方为虚拟机命名。
最后添加三块磁盘这里选择“使用现有虚拟磁盘”
点击浏览
定位到第一台虚拟机那三块磁盘的数据存储位置
打开第一台虚拟机命名的文件夹
三块容量为10GB的虚拟磁盘即为第一台虚拟机所使用的那三块磁盘
按照顺序将第一块磁盘添加到第二台虚拟机,以实现共享。
这里虚拟设备节点依然是按照“SCSI(1:0)到SCSI(1:2)”的顺序选择,分别将三块磁盘添加到第二台虚拟机。
最后任然将第二个SCSI控制器总线共享类型改为“物理”,完成第二台虚拟机的创建。
作为Oracle RAC双节点两台虚拟机就完成创建了,接下来使用CentOS官方的ISO系统镜像同时为两主机安装CentOS 6.8带图形环境系统,这里安装过程略,可参阅互联网搜索。系统安装完成后,为虚拟机安装VMware Tools。
配置节点一主机名
使用vi编辑器修改网络配置文件/etc/sysconfig/network
配置网络参数
使用vi编辑器修改网络配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
使用vi编辑器修改网络配置文件/etc/sysconfig/network-scripts/ifcfg-eth2
注意:网络配置文件里的每一项参数都不能少,包括MAC地址、UUID、IP参数等等,也不能配置错误,否则会导致后期网络故障而影响集群性能!
停止NetworkManager服务并设置开机不启动,重启network服务。
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
/etc/init.d/network restart
配置节点二主机名
使用vi编辑器修改网络配置文件/etc/sysconfig/network
配置节点二网络参数
使用vi编辑器修改网络配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
使用vi编辑器修改网络配置文件/etc/sysconfig/network-scripts/ifcfg-eth2
停止NetworkManager服务并设置开机不启动,重启network服务。
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
/etc/init.d/network restart
在节点一与节点二同时配置DNS服务器 ,配置文件/etc/resolv.conf。(根据实际运营商提供dns server进行配置)
在节点一图形环境下使用系统自带的Firefox浏览器,访问Oracle官网http://www.oracle.com,点击下载-数据库-Oracle数据库
Oracle数据库12c-64位Linux系统-查看所有
同意协议,下载数据库与集群安装软件包。
登录Oracle账户后即可开始下载(可免费注册)
待四个压缩包下载完成后,使用cksum命令获取CRC校验码与官网对比,来确认下载文件是否完整。
系统配置:
节点一与节点二同时配置host文件 /etc/hosts 添加,这里的ooa.com为举例域名,根据实际环境域名而定。
# Oracle RAC Public IP
192.168.50.21 rac01.ooa.com rac01
192.168.50.22 rac02.ooa.com rac02
# Oracle RAC Private IP
10.98.50.21 rac01pri.ooa.com rac01pri
10.98.50.22 rac02pri.ooa.com rac02pri
# Oracle RAC Virtual IP
192.168.50.23 rac01vip.ooa.com rac01vip
192.168.50.24 rac02vip.ooa.com rac02vip
# Oracle RAC SCAN IP
192.168.50.25 scan.ooa.com
192.168.50.26 scan.ooa.com
192.168.50.27 scan.ooa.com
节点一与节点二同时停止NTP服务并卸载其软件包,使用Oracle集群自带的ctss服务来同步节点系统时间。
/etc/init.d/ntpd stop
yum erase ntp -y
使用ntpdate与NTP服务器同步一次系统时间,并写入硬件时钟,ntpdate服务开机自启动。
ntpdate 0.centos.pool.ntp.org
hwclock -w
chkconfig ntpdate on
停止防火墙与selinux服务
/etc/init.d/iptables stop
chkconfig iptables off
setenforce 0
selinux服务需要修改配置文件/etc/sysconfig/selinux来永久禁用。
创建用于Oracle集群的用户与组,以及数据目录。这里建议专门划分一块数据盘挂载到/u01存储Oracle数据文件。
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 asmdba
groupadd -g 54326 dgdba
groupadd -g 54327 kmdba
groupadd -g 54328 asmadmin
groupadd -g 54329 asmoper
useradd -u 54322 -g oinstall -G dba,asmdba,oper oracle
useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper grid
mkdir -p /u01/app/12.1.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
为grid与oracle用户设置系统登录密码
内核参数优化,修改配置文件 /etc/sysctl.conf 添加
# Oracle RAC Optimized parameters
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
执行命令sysctl -p配置立即生效
软硬限制策略,编辑配置文件/etc/secrity/limits.conf添加
grid soft nproc 2047
grid hard nproc 32768
grid soft nofile 1024
grid hard nofile 250000
oralce soft nproc 2047
oracle hard nproc 32768
oracle soft nofile 1024
oracle hard nofile 250000
编辑配置文件/etc/pam.d/login添加
session required pam_limits.so
编辑配置文件/etc/profile添加
if [ $USER == "oracle" ] || [ $USER == "grid" ];then
if [ $SHELL == "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
如果添加的三块磁盘在系统里识别为/dev/sdb、/dev/sdc、/dev/sdd的话,使用以下命令生成asm命名的磁盘
for i in b c d;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u /dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u /dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
查看生成的udev命名规则文件
重新启动udev查看生成的设备文件
start_udev
注意:节点一与节点二都需要参与以上配置!
节点一安装并配置vncserver,用于远程图形环境下访问CentOS主机,安装集群数据库。
yum install tigervnc-server -y
编辑vncserver配置文件/etc/sysconfig/vncservers添加
VNCSERVERS="1:grid 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
分别切换到grid与oracle用户环境下,使用vncpasswd命令设置vncserver登录密码。
启动vncserver服务 /etc/init.d/vncserver start
查看服务端口启动状态 netstat -antpl | grep Xvnc 同时包含5901与5902端口监听状态,即为正常。
节点一与节点二同时操作切换到grid用户环境下执行
ssh-keygen -t rsa
ssh-keygen -t dsa
节点一再次执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac02:~/.ssh/authorized_keys
随后键入grid系统登录密码,将各自认证公钥传给对方。
节点二再次执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac01:~/.ssh/authorized_keys
节点一修改配置文件~/.bash_profile,注释最后两行并添加
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.1.0/grid
export ORACLE_SID=+ASM1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin
export PATH
节点二修改配置文件~/.bash_profile,注释最后两行并添加
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.1.0/grid
export ORACLE_SID=+ASM2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin
export PATH
节点一与节点二同时切换到oracle用户环境下执行
ssh-keygen -t rsa
ssh-keygen -t dsa
节点一再次执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac02:~/.ssh/authorized_keys
节点二再次执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac01:~/.ssh/authorized_keys
节点一修改配置文件~/.bash_profile,注释最后两行并添加
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
export ORACLE_SID=racdb1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin
export PATH
节点二修改配置文件~/.bash_profile,注释最后两行并添加
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
export ORACLE_SID=racdb2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin
export PATH
Grid的安装
官方文档介绍Grid可以通过基于图形界面下的安装向导和配置文件两种方式来安装,这里讲述前者,后者适用于批量部署。参阅 http://docs.oracle.com/database/121/CWLIN/toc.htm
使用vnc客户端(可在附件下载,32位系统使用32为软件,64位系统使用64位软件)连接节点一主机,键入主机完整域名或ip地址,附加端口号。
点击继续
键入vncserver登录密码
暂无用不到root权限,取消root用户认证。
右击桌面打开一个terminal
切换到安装软件包所在目录,解压grid软件包
unzip linuxamd64_12102_grid_1of2.zip
unzip linuxamd64_12102_grid_2of2.zip
解压完成后,以root用户身份安装cvuqdisk软件包
将cvudisk软件包传到节点二,并root用户安装。
继续在节点一图形环境下,切换到grid目录,./runInstaller 执行安装程序开始集群软件的安装。
打开图形安装向导
标准集群
高级安装
默认英语语言
集群名称,SCAN名称要与hosts文件里设置一致,可成功解析,SCAN端口号。
修正节点信息,维持各个名称与hosts文件里一致,可成功解析。
注意虚拟主机名称的一致性
添加节点二的信息
保持名称一致性
这里可以不用键入grid用户系统登录密码,正常情况下直接点击下一步认证通过。(注意:如果不能顺利通过认证,请在命令行ssh rac02与ssh rac01互相测试与对方是否可以正常免密访问,然后注销图形环境再次登录重新执行安装程序!通过vnc访问的图形环境,重启vncserver服务即可注销当前用户登录的图形环境。)
配置eth2网卡通过私网数据。
存储选项使用标准的asm存储
这里磁盘组参数保持默认,点击修改磁盘查找路径
查找路径/dev/asm*
勾选三块磁盘
为所有账户配置一样的密码
无需配置IPMI
无需EM配置
配置ASM组
配置oracle base与home目录
inventory目录配置
自动脚本配置,这里可以配置root系统登录密码,让后面脚本自动执行。否则后面手工在各节点执行安装脚本。
执行环境检查,检查出一些存在的问题。点击修复和再次检查
提示自动执行修复脚本,点击OK确认。
再次检查后发现还存在一些软件包的缺失
在root用户环境下使用yum安装这些软件包即可(注意:节点二也需要执行yum来安装这些软件包)
yum install compat-libcap1-1.10 compat-libstdc++-33-3.2.3 libstdc++-devel-4.4.4 gcc gcc-c++ ksh libaio-devel-0.3.107 -y
软件包完成安装后,执行再次检查。
最后遗留而下关于dns与域名解析问题,可查看详细信息。
由于这里使用hosts文件来解析,故不使用dns服务器,这两个问题直接忽略掉。
警告信息提示,继续即可。
查看安装摘要信息,确认无误即可进行安装。
安装过程中会出现提示自动执行配置脚本的提示,点击Yes确认操作。
静静地等待整个安装过程
最后报错有验证失败,通过日志查询是由于SCAN名称无法通过dns服务器解析问题,实际通过ip访问则可以忽略。
点击yes继续
完成Grid的安装
使用命令 crsctl stat res -t 查看双节点状态信息
使用命令 crsctl check ctss 查看双节点ctss服务同步系统时间的状态
安装Oracle数据库
使用vnc客户端访问节点一,端口号5902即通过oracle用户登录。
切换到数据库软件包目录,解压文件。
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
解压完成后切换到database目录执行安装程序
打开oracle图形界面安装向导,配置安全更新。这里如果有注册的Oracle账户,请键入email地址与密码来实现自动更新,也可以不用配置。
仅仅安装数据库软件
RAC集群数据库安装
选择所要安装的所有节点
默认英语语言
默认安装企业版,需要6.4GB的磁盘空间。
确定oracle base与home目录
oracle有关的组
需求检查,这里任然存在dns服务器与域名解析问题,在此使用了hosts文件做解析,故忽略这些错误。
确认摘要信息无误,即可开始安装。
安装中提示手动在各节点以root用户身份执行root.sh脚本
依次在各节点执行即可
执行完后,点击OK继续。
数据库安装成功
创建数据库
在Oracle用户环境下直接键入 dbca 命令启动数据库创建向导,选择创建数据库
高级模式
用于一般事务性处理
配置数据库名称,可选项容器数据库。
创建一个新的server pool
管理选项可保持默认
为所有的账户配置相同的密码
设置数据存储的位置,并编辑归档模式参数,这里数据都选择存放到ASM磁盘组,所以存储类型为ASM。
注意:这里需要对grid_home目录下的oracle执行文件授权,否则会发现不了ASM磁盘!(各节点都要求)
chmod +s /u01/app/12.1.0/grid/bin/oracle
设定归档位置
sample schemas无需设置
初始化参数可以保持默认
创建类型-创建数据库
需求检查提示有问题的依然是scan名称不能dns服务器解析问题,这里忽略掉。
确认摘要信息无误,点击完成开始创建数据库。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。