一、概述
本文主要阐述基于ASM 构建 Oracle 12c RAC数据库的过程说明
1、系统版本要求
- 确保 Oracle Linux 版本为 6 或更高版本。
- 确保两个节点的 Oracle Linux 内核版本为 2.6.32 或更高版本。
2、系统安装要求
安装 Oracle Linux 7,就像安装基本服务器一样,更具体地说,它应该是一个至少具有 4G+ 交换空间、禁用防火墙、selinux为disabled,并安装了如下软件包组:
- Server with GUI
- Hardware Monitoring Utilities
- Large Systems Performance
- Network file system client
- Performance Tools
- Compatibility Libraries
- Development Tools
在Linux 7及以上的网络适配器称为 enp0s3、enp0s8 和 enp0s9,在以前的 Linux 版本中,它们分别是 eth0、eth1 和 eth2。
3、架构图
二、配置操作系统
1、Oracle 安装先决条件
执行自动设置或手动设置以完成基本先决条件。所有安装都需要附加设置。
(1)自动设置
如果您计划使用“oracle-database-server-12cR2-preinstall”软件包来执行所有先决条件设置,可以通过执行如下命令。
# yum install oracle-database-server-12cR2-preinstall -y
早期版本的 Oracle Linux 需要按照http://public-yum.oracle.com上的说明手动设置 Yum 存储库。
建议对系统进行全面的更新,但这不是必须的操作。
# yum update -y
(2)手动设置
如果您尚未使用“oracle-database-server-12cR2-preinstall”软件包来执行所有先决条件,则需要手动执行以下安装任务。
2、设置/etc/sysctl.conf
将以下行添加到“/etc/sysctl.conf”文件或名为“/etc/sysctl.d/98-oracle.conf”的文件中。
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
运行以一下命令使当前修改内核参数生效。
/sbin/sysctl -p
# 或
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf
3、修改oarcle参数的shell限制
将以下行添加到名为“/etc/security/limits.d/oracle-database-server-12cR2-preinstall.conf”的文件中。
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
4、安装系统软件包
除了基本操作系统安装之外,还必须以 root 用户身份登录时安装以下软件包。这包括某些软件包的 64 位和 32 位版本。
# From Public Yum or ULN
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install zlib-devel.i686 -y
5、创建新组和用户
groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper
groupadd -g 1400 oper
/usr/sbin/useradd -u 1001 -g oinstall -G asmadmin,asmdba,asmoper grid
/usr/sbin/useradd -u 1000 -g oinstall -G dba,asmdba,oper oracle
echo "grid" | passwd --stdin grid
echo "oracle" | passwd --stdin oracle
三、其他设置
无论您进行手动设置还是自动设置,都必须执行以下步骤。
1、设置/etc/hosts解析
127.0.0.1 localhost.localdomain localhost
# Public
192.168.56.101 ol7-122-rac1.localdomain ol7-122-rac1
192.168.56.102 ol7-122-rac2.localdomain ol7-122-rac2
# Private
192.168.1.101 ol7-122-rac1-priv.localdomain ol7-122-rac1-priv
192.168.1.102 ol7-122-rac2-priv.localdomain ol7-122-rac2-priv
# Virtual
192.168.56.103 ol7-122-rac1-vip.localdomain ol7-122-rac1-vip
192.168.56.104 ol7-122-rac2-vip.localdomain ol7-122-rac2-vip
# SCAN
#192.168.56.105 ol7-122-scan.localdomain ol7-122-scan
#192.168.56.106 ol7-122-scan.localdomain ol7-122-scan
#192.168.56.107 ol7-122-scan.localdomain ol7-122-scan
SCAN 地址在主机文件中被注释掉,因为它必须使用 DNS 进行解析,因此它可以在与公共 IP 位于同一子网上的 3 个地址之间进行循环。可以使用BIND或Dnsmasq在主机上配置 DNS ,这要简单得多。如果您使用 Dnsmasq,请将 RAC 特定条目放入主机“/etc/hosts”文件中,取消注释 SCAN 条目,然后重新启动 Dnsmasq。
确保“/etc/resolv.conf”文件包含指向正确名称服务器的名称服务器条目。另外,如果“域”和“搜索”条目都存在,请注释掉其中之一。对于此安装,我的“/etc/resolv.conf”如下所示。
#domain localdomain
search localdomain
nameserver 192.168.56.1
2、关闭selinux
通过编辑“/etc/selinux/config”文件,确保selinux设置如下:
SELINUX=disabled
3、关闭firewall
# systemctl stop firewalld
# systemctl disable firewalld
4、确保 NTP(OL7/RHEL7 上的 Chrony)已启用
# systemctl enable chronyd
# systemctl restart chronyd
# chronyc -a 'burst 4/4'
# chronyc -a makestep
5、oracle用户的 Bash 配置文件
两节点都需要配置,添加如下内容:
cat >> .bash_profile SELECT inst_name FROM v$active_instances;
INST_NAME
------------------------------------------------- -------------------------------
ol7-122-rac1.localdomain:cdbrac1
ol7-122-rac2.localdomain:cdbrac2
SQL >