• 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 positecgroup.com

    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.positecgroup.com

    10.0.209.13            orac02   orac02.positecgroup.com

    #Virtual IP

    10.0.209.12            orac01-vip   orac01-vip.positecgroup.com

    10.0.209.14            orac02-vip   orac02-vip.positecgroup.com

    #eth1 eno33557504  Private

    172.17.0.1             orac01-priv  orac01-priv.positecgroup.com

    172.17.0.2             orac02-priv  orac02-priv.positecgroup.com

    #Scan

    10.0.209.1             orac-scan    orac-scan.positecgroup.com

    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

  • 相关阅读:
    2022年全国最新消防设施操作员模拟真题题库及答案
    使用git-flow来帮助管理git代码
    [附源码]java毕业设计星期八酒店管理系统
    06 软件设计原则
    C51单片机使用3-数码管显示
    MAC电脑存储空间占用过高怎么办?
    如何参与开源项目 - 细说 GitHub 上的 PR 全过程
    5分钟就能实现的API监控,有什么理由不做呢?
    poi包工具类
    基于双参数蜜蜂算法解决车辆路径问题(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/frank0521/article/details/125458632