Oracle12.2.0.1 RAC on vSAN with RHEL7.2安装配置手册

目录

前言

1. 基础规划

1.1 vSAN内针对Oracle RAC的磁盘规划

1.2 操作系统空间规划

1.3 操作系统配置规划

2. VMware环境及系统准备

2.1 基础虚机安装与配置

2.1.1 新建虚机

2.1.2 虚拟机安装

2.1.3 基础系统环境准备

2.1.4 Oracle安装环境准备

2.2 克隆虚机并修改配置

2.2.1 克隆虚机

2.2.2 修改克隆机器的配置

2.3 虚机中共享盘添加与配置

2.3.1 vSAN策略配置

2.3.2 添加共享盘

2.3.3 系统配置

2.3.4 为Oracle RAC虚机配置反关联规则

3. Oracle12c安装与配置

3.1 修改用户环境变量

3.2 ASM安装

3.3 添加磁盘组

3.4 Database安装

3.5 新建数据库

3.5.1 新建CDB

3.5.2 新建PDB


前言

此文档是基于VMware vSAN环境安装配置Oracle RAC的一份安装配置指导手册,经过实际的验证与调整优化,结合了vSAN及Oracle DB的特点形成了相应较为完善的最佳实践。

读者参考此文章时,请一定要注意着重做好前期的规划,包括虚拟SCSI与不同Oracle类型磁盘VMDK的对应关系,以及共享磁盘的配置;在实际使用中,对于Oracle的Data盘,一定要记得修改vSAN的存储策略改为100%置备(注意:非虚机中的厚置备);同时,为了减少硬件故障对Oracle RAC影响的机率,需要为RAC中的节点做好反关联规则。

以上具体配置信息,可以参考文内截图与说明。

1. 基础规划

1.1 vSAN内针对Oracle RAC的磁盘规划

NAMESCSI TYPESCSI ID (CONTROLLER,LUN)SIZE (GB)ASM DISK GROUPDISK MODE
Operating System(OS)ParavirtualSCSI (0:0)140Not ApplicableDefault (Dependent)
Oracle Binary / u01ParavirtualSCSI (0:0)60Not ApplicableDefault (Dependent)
Oracle Backup / DBBAK Vmdk_1ParavirtualSCSI (0:1)1024Not ApplicableDefault (Dependent)
Cluster Vote Disk 01 Vmdk_2ParavirtualSCSI (1:0)10VOTE & CRSIndependent-Persistent / multi-writer
Cluster Vote Disk 02 Vmdk_3ParavirtualSCSI (1:1)10VOTE & CRSIndependent-Persistent / multi-writer
Cluster Vote Disk 03 Vmdk_4ParavirtualSCSI (1:2)10VOTE & CRSIndependent-Persistent / multi-writer
MGMT Disk 01 Vmdk 05ParavirtualSCSI (1:3)100MGMTIndependent-Persistent / multi-writer
Data Disk 01 Vmdk_6ParavirtualSCSI (2:0)1024DATAIndependent-Persistent / multi-writer
FRA Disk 01 Vmdk_7ParavirtualSCSI (3:0)500FRAIndependent-Persistent / multi-writer

1.2 操作系统空间规划

Mount Point

VG name

LV name

Size(GB)

/boot

N/A

N/A

1

swap

orac

swap

64

ora/u01

u01

60

/

root

76

1.3 操作系统配置规划

Host Nameorac01orac02
Cluster Modenode1node2
CPU16core16core
RAM128GB128GB
IP Addr.10.0.209.1110.0.209.13
VIP Addr.10.0.209.1210.0.209.14
HeartBeat172.17.0.1172.17.0.2
SCAN IP Addr.10.0.209.1
SCAN Nameorac-scan

2. VMware环境及系统准备

2.1 基础虚机安装与配置

2.1.1 新建虚机

1). 登入vCenter管理界面,点”新建虚拟机”,在弹出的”新建虚拟机”页面中选择“创建新虚拟机”,然后下一步;

2). 给新虚拟机命名,并选择所存放的目录位置;

 

3). 选择目标计算资源

4). 选择存储位置(这里可以选择vSAN中不同的存储策略)

5). 选择兼容性

6). 选择操作系统和版本

7). 在自定义硬件中配置CPU/内存/硬盘大小,并新增一块网卡

8). 为网卡选择网络,一块选择NSX中的DB,一块选择NSX中的HeartBeat

9). 选择系统ISO文件,并在选择后,将“连接”前的复选框给选中

10). 开启虚机UUID参数

在虚机“编辑设置”->“虚拟机选项”->高级->配置参数的“编辑配置”->添加以下信息:

名称:disk.EnableUUID     值:TRUE

11). 禁用快照功能

在虚机“编辑设置”->“虚拟机选项”->高级->配置参数的“编辑配置”->添加以下信息:

名称:“snapshot.MaxSnapshots”,值:“0”,保存配置,然后重新打开虚拟机电源。

2.1.2 虚拟机安装

1). 选择语言

2). 在“安装信息摘要”页面,关闭KDUMP;

3). 在“安装信息摘要”页面,点击“网络和主机名”,分别配置主机名,和两个网卡的IP:

(也可以进系统后配置)

3). 完成以上步骤后,在“安装信息摘要”页面,点击“日期和时间”,添加内部NTP服务器地址。

如果没有在安装时配置网络,则需要进系统后配置NTP。

4). 在“安装信息摘要”页面,点击“软件选择”,在弹出的页面选中“带GUI的服务器”即可。

5). 在“安装信息摘要”页面,点击“安装位置”,在弹出的页面选中“我要配置分区”,然后点“完成”;

在弹出的页面中先点击“点击这里自动创建他们”,然后修改配置如下:

修改Volume Group名称为“orac”;

删除home文件系统;

调整swap至64GB;

新增一个挂载点“/u01”,并设定为60GB的空间,用于安装Oracle;

剩余的所有空间划入“/”。

6). 根据提示注册系统,以便使用yum(仅RedHat)。

subscription-manager register --username <username> --password <password> --auto-attach

2.1.3 基础系统环境准备

1). 安装VMtools

如安装的操作系统与新建时一致,则VMtools被默认安装;

2). 配置NTP服务

安装NTP服务:

yum install ntp -y

配置NTP:

vi /etc/ntp.conf

server 10.0.0.10 iburst

server 10.0.0.11 iburst

server cn.ntp.org.cn iburst

停止chrony服务,并启用NTP

systemctl stop chronyd.service

systemctl disable chronyd.service

systemctl enable ntpd.service

systemctl start ntpd.service

3). 配置网卡(如果未在安装时配置)

用ifconfig查看网卡名称,然后进入/etc/sysconfig/network-scripts/目录

cd /etc/sysconfig/network-scripts/

配置网卡:

vi ifcfg-eno16778240

ONBOOT="yes"

IPADDR="10.0.209.11"

PREFIX="24"

GATEWAY="10.0.209.254"

DNS1="10.0.0.10"

DNS2="10.0.0.11"

IPV6_PRIVACY="no"

vi ifcfg-eno33557504

ONBOOT=yes

IPADDR=172.17.0.1

PREFIX=29

IPV6_PRIVACY=no

4). 关闭SELinux和Firewall

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

vi /etc/selinux/config

把SELINUX=enforcing 改成 SELINUX=disabled

5). 禁用Transparent HugePages功能

检查系统是否有开启:

cat /sys/kernel/mm/transparent_hugepage/enabled

    [always] madvise never

禁用:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

再检查:

cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

6). 禁用libvirtd服务

systemctl disable libvirtd.service

7). 禁用avahi-daemon服务

systemctl stop avahi-dnsconfd

systemctl stop avahi-daemon

systemctl disable avahi-dnsconfd

systemctl disable avahi-daemon

8). 禁用RemoveIPC

配置/etc/systemd/logind.conf,将RemoveIPC改为no

vi /etc/systemd/logind.conf

    RemoveIPC=no

重启服务器或者重启systemd-logind

systemctl daemon-reload

systemctl restart system-logind

9). 配置/dev/shm空间(建议配置和大于你计划的SGA+PGA的大小)

vi /etc/fstab

tmpfs       /dev/shm    tmpfs  defaults,size=64g   0    0

10). 开启XDMCP功能

修改vi /etc/gdm/custom.conf文件,将其security和xdmcp部分修改如下:

[security]

AllowRemoteRoot=true

DisallowTCP=False

[xdmcp]

Enable=true

Port=177

LightGDM:

PSRHEL7的Gnome界面使用了硬件加速功能,不支持Xmanger远程访问。如需使用XDMCP功能,则需要安装lightdm。

从阿里源中下载epel-7.repo,放在/etc/yum.repos.d目录下:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum install lightdm -y

修改配置文件

vi /etc/lightdm/lightdm.conf

[XDMCPServer]

enabled=true

port=177

将显示管理切换为lightdm,并启动

systemctl disable gdm && systemctl enable lightdm

systemctl stop gdm && systemctl start lightdm

11). 用yum更新系统(不建议更新)

如果安装完系统时未能正常注册,可在保证主机能上网的情况下,使用以下命令注册:

subscription-manager register --username <username> --password <password> --auto-attach

完成注册后,在主页上为注册的主机分配订阅,然后用以下命令刷新:

subscription-manager refresh

完成后使用以下命令更新系统:

yum clean all

yum update -y

12). 修改系统语言

将系统语言修改为英文:

localectl  set-locale LANG=en_US.UTF-8

中文:localectl  set-locale LANG=zh_CN.utf8

2.1.4 Oracle安装环境准备

1). 更新Oracle必备软件包

mkdir /software && cd /software

vi oracle-rpm.txt

binutils

libX11

compat-libcap1

libXau

compat-libstdc++-33

libaio

gcc

libaio-devel

gcc-c++

libdmx

glibc-devel

glibc

ksh

make

libgcc

sysstat

libstdc++

xorg-x11-utils

libstdc++-devel

xorg-x11-xauth

libXext

libXv

libXtst

libXi

libxcb

libXt

libXmu

libXxf86misc

libXxf86dga

LibXxf86vm

nfs-utils

yum install `awk '{print $1}' ./oracle-rpm.txt` -y

解压grid或database后,会有一个rpm的文件夹,进入后安装里面的rpm包(前提是已建好Oracle的系统帐号和组):

find /u01/app -name cvuqdisk*

/u01/app/12.2.0.1/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm

rpm -ivh cvuqdisk-1.0.10-1.rpm

2). 配置内核参数

vi /etc/sysctl.conf

vm.swappiness = 1

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

kernel.shmmax = 4398046511104

kernel.shmall = 1073741824

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

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 /etc/sysctl.conf

3). 配置系统参数

vi /etc/security/limits.d/99-grid-oracle-limits.conf

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

grid soft nproc 16384

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

/etc/profile.d/目录内新建oracle-grid.sh脚本,具体如下:

vi /etc/profile.d/oracle-grid.sh

#Setting the appropriate ulimits for oracle and grid user

if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

       ulimit -u 16384

       ulimit -n 65536

    else

       ulimit -u 16384 -n 65536

    fi

fi

if [ $USER = "grid" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

       ulimit -u 16384

       ulimit -n 65536

    else

       ulimit -u 16384 -n 65536

    fi

fi

检测/etc/security/limits.conf,看最后是否有两行参数配置如下:

oracle  hard  memlock  59379534

oracle  soft  memlock  59379534

其中59379534是指DB中配置的RAM大小。

4). 配置用户帐号和组

groupadd -g 54321 oinstall

groupadd -g 54322 dba

groupadd -g 54323 asmdba

groupadd -g 54324 asmoper

groupadd -g 54325 asmadmin

groupadd -g 54326 oper

groupadd -g 54327 backupdba

groupadd -g 54328 dgdba

groupadd -g 54329 kmdba

useradd -u 54321 -g oinstall -G dba,oper,asmdba,asmoper,backupdba,dgdba,kmdba oracle

passwd oracle

useradd -u 54322 -g oinstall -G dba,asmadmin,asmdba,asmoper grid

passwd grid

5). 创建和定义安装目录

因Oracle 12cR2的grid安装是需要解压到安装目标目录直接安装,所以需要先上传grid安装包。

mkdir -p /u01/app/grid

mkdir -p /u01/app/12.2.0.1/grid

cd /u01/app/12.2.0.1/grid

unzip -q /software/linuxx64_12201_grid_home.zip

chown -R grid:oinstall /u01

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/product/12.2.0.1/dbhome_1

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

6). 配置DNS服务和Host文件

编辑DNS服务器配置文件,添加Oracle Node所在域的名称与内部DNS服务器地址:

vi /etc/resolv.conf

search corp.tanzu

nameserver 10.0.0.10

nameserver 10.0.0.11

vi /etc/hosts

127.0.0.1   orac01 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         orac01 localhost localhost.localdomain localhost6 localhost6.localdomain6

#eth0 eno16778240  Public

10.0.209.11            orac01   orac01.corp.tanzu

10.0.209.13            orac02   orac02.corp.tanzu

#Virtual IP

10.0.209.12            orac01-vip   orac01-vip.corp.tanzu

10.0.209.14            orac02-vip   orac02-vip.corp.tanzu

#eth1 eno33557504  Private

172.17.0.1             orac01-priv  orac01-priv.corp.tanzu

172.17.0.2             orac02-priv  orac02-priv.corp.tanzu

#Scan

10.0.209.1             orac-scan    orac-scan.corp.tanzu

2.2 克隆虚机并修改配置

2.2.1 克隆虚机

2.2.2 修改克隆机器的配置

1). 查看网络接口信息

Ifconfig -a | more

2). 修改主机名

hostnamectl set-hostname orac02

或 vi /etc/hostname

3). 修改IP

cd /etc/sysconfig/network-scripts/

用ls命令查看网卡的配置文件名,然后用vi命令进行编辑

vi ifcfg-eno16778240

vi ifcfg-eno33557504

4). 某些情况下的机器需要调整网卡发现策略和配置

cd /etc/udev/rules.d

vi 70-persistent-net.rules

删除原网卡的信息行,并将新网卡的名称调整为原网卡的名字。

然后 进入网卡配置文件目录,将原网卡名提前的配置文件内的内容改成现在网卡的MAC和IP

cd /etc/sysconfig/network-scripts/

vi ifcfg-ens192     修改MAC和IP

2.3 虚机中共享盘添加与配置

2.3.1 vSAN策略配置

主页”->“策略和配置文件”->“创建虚拟机存储策略”

2.3.2 添加共享盘

ORAC01

按以上的方式,向虚机内添加入剩下的磁盘,一定需要注意磁盘控制器的选择(参考第一章节的规划表);

ORAC02

按以上的方式,向虚机内添加入剩下的磁盘,一定需要注意磁盘控制器的选择,要与node1一致(参考第一章节的规划表);

2.3.3 系统配置

1). 分别在node1和node2内,在命令行输入fdisk -l查看磁盘设备,如下图:

 

2). 系统中已可以看到设备,但还不能正常使用,需要对其进行挂载并修改拥有者与权限。

物理环境中,或是VM的controller中配置了UUID功能,则要添加对应磁盘的scsi ID,可用以下命令检查:

/lib/udev/scsi_id -g -u /dev/sdb

将得到的结果加入以上命令的对应磁盘所在的行,格式如下:

ENV{ID_SERIAL}=="36006016004503e0017f99d58603c7c1e",

新建一个脚本,自动生成rules文件:

vim genasmdisk.sh

#!/bin/bash

cat /dev/null > /etc/udev/rules.d/99-oracle-asmdevices.rules

for i in b c d e f g;

do

echo "KERNEL==\"sd?\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd${i}`\", SYMLINK+=\"asmdisk/asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""  >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

3). 调用新建的udev rules:

udevadm control --reload-rules

udevadm trigger

2.3.4 为Oracle RAC虚机配置反关联规则

为最是大化减少硬件故障对Oracle的影响,建议对oracle RAC node节点使用反关联规则,使node节点运行在不同的ESXi主机内。

在vCenter中选中集群配置虚拟机/主机规则添加

在弹出的页面中为虚机规则起个名称,然后类型选择为“单独的虚拟主机”,并将Oracle RAC Node虚机添加进规则内,保存即可。

3. Oracle12c安装与配置

3.1 修改用户环境变量

修改grid用户bash_profile,方法:vi /home/grid/.bash_profile

Node1:

ORACLE_SID=+ASM1

ORACLE_BASE=/u01/app/grid

ORACLE_HOME=/u01/app/12.2.0.1/grid

PATH=$PATH:$ORACLE_HOME/bin

export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME

Node2:

ORACLE_SID=+ASM2

ORACLE_BASE=/u01/app/grid

ORACLE_HOME=/u01/app/12.2.0.1/grid

PATH=$PATH:$ORACLE_HOME/bin

export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME

修改oracle用户bash_profile,方法:vi /home/oracle/.bash_profile

Node1:

ORACLE_SID=PRDCDB1

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/dbhome_1

PATH=$PATH:$ORACLE_HOME/bin

export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME

Node2:

ORACLE_SID=PRDCDB2

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/dbhome_1

PATH=$PATH:$ORACLE_HOME/bin

export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME

修改完成后重启机器,或是当前帐号的当前目录下用命令source .bash_profile 来立即启用。

3.2 ASM安装

3.3 添加磁盘组

在grid帐号下运行"asmca"

3.4 Database安装

在所有节点执行按顺序执行root.sh,执行完毕后,点击OK,继续安装

3.5 新建数据库

3.5.1 新建CDB

3.5.2 新建PDB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 12.2.0.1 RAC(Real Application Clusters)是一种高可用性和容错性的数据库解决方案,可以在多台服务器上运行数据库实例。Oracle Linux 7.9是适用于Oracle数据库的一种操作系统。 在Oracle 12.2.0.1 RAC中,多台服务器上的Oracle数据库实例可以通过共享存储访问相同的数据,以实现数据的一致性和高可用性。RAC利用共享存储和系统间的网络连接,可以实现数据库实例之间的故障转移和负载均衡。这意味着如果一台服务器出现故障,其他服务器可以接替它的工作,并且数据库服务可以继续提供可靠的服务。 Oracle Linux 7.9是为Oracle数据库优化的操作系统。它提供了与Oracle数据库兼容的内核和驱动程序,以实现更高的性能和可靠性。此外,Oracle Linux还提供了与RAC集群环境集成所需的一些特性和工具。它与Oracle数据库紧密集成,可以为数据库提供最佳性能和可用性。 通过将Oracle 12.2.0.1 RACOracle Linux 7.9结合使用,可以实现高度可靠的数据库解决方案。RAC提供了高可用性和容错性,可以实现数据库实例的故障转移和负载均衡。而Oracle Linux 7.9为数据库提供了与之紧密集成的操作系统,可以提供更高的性能和可靠性。 总结来说,Oracle 12.2.0.1 RAC for Oracle Linux 7.9是一种高可用性和容错性的数据库解决方案,可以在多台服务器上运行数据库实例,并通过共享存储和网络连接实现故障转移和负载均衡。Oracle Linux 7.9是为Oracle数据库优化的操作系统,与RAC集群环境集成,提供了与数据库紧密集成的特性和工具,以实现更高的性能和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值