zoukankan      html  css  js  c++  java
  • Oracle 12c rac搭建

    1.1 硬件需求


    Ø 服务器具有相同的体系架构(如 64bit 和 32bit 不能同一集群)

    Ø 非 cluster 环境要求物理内存高于 2G,cluster 环境要求物理内存高于 3G

    1.2 操作系统要求

    Ø 操作系统版本要保持至少和源端一样或者更高的版本,操作系统补丁和源端一致

    Ø 数据库版本11.2.0.3.0,要求AIX6.1 TL04以上、7.1

    Ø 数据库版本11.2.0.4.0,要求AIX6.1 TL04以上、7.1、7.2

    Ø Linux操作系统版本最好 RHEL 6.7以上

    Ø 服务器操作系统运行在 3 或 5 的模式下(LINUX)

    Ø 交换分区为物理内存的倍数(1-2G SWAP=1.5RAM;2-16G SWAP=RAM;>16G SWAP=16G)

    Ø TMP>1G,磁盘空间>10G

    1.3 数据库软件准备

    2 安装前的准备

    2.1 Linux

    2.1.1检查操作系统环境

    检查操作系统体系结构

    uname -a

    检查操作系统供应商及版本

    cat /etc/issue

    检查磁盘空间(安装 Oracle 软件的挂载点和/tmp)

    df -h

    2.1.2. 检查系统软件套件

    rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
    ' binutils 
    compat-libstdc++-33 
    compat-libstdc++-296 
    elfutils-libelf 
    elfutils-libelf-devel 
    gcc 
    gcc-c++ 
    glibc 
    glibc-common 
    glibc-devel 
    glibc-headers 
    libaio 
    libaio-devel 
    libgcc 
    libstdc++ 
    libstdc++-devel 
    make 
    sysstat 
    unixODBC 
    unixODBC-devel
    yum -y install binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.x86_64 compat-libstdc++-33.i686 gcc.x86_64 gcc-c++.x86_64 glibc.x86_64 glibc.i686 glibc-devel.x86_64 glibc-devel.i686 ksh libgcc.x86_64 libgcc.i686 libstdc++.x86_64 libstdc++.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 libaio.x86_64 libaio.i686 libaio-devel.x86_64 libaio-devel.i686 make sysstat.x86_64 unixODBC.x86_64 unixODBC.i686 unixODBC-devel.x86_64 unixODBC-devel.i68

    2.1.3. 关闭不必要服务

    service iptables stop
    
    service NetworkManager stop
    
    service bmc-watchdog stop
    
    service autofs stop
    
    service acpid stop
    
    service sendmail stop
    
    service cups-config-daemon stop
    
    service xfs stop
    
    service gpm stop
    
    service openibd stop
    
    service iiim stop
    
    service pcmcia stop
    
    service cpuspeed stop
    
    service nfslock stop
    
    service iptables stop
    
    service ip6tables stop
    
    service rpcidmapd stop
    
    service apmd stop
    
    service sendmail stop
    
    service arptables_jf stop
    
    service rpcgssd stop
    
    service ip6tables stop
    chkconifg microcode_ctl stop
    
    chkconfig NetworkManager off
    
    chkconfig bmc-watchdog off
    
    chkconfig autofs off
    
    chkconfig acpid off
    
    chkconfig sendmail off
    
    chkconfig cups-config-daemon off
    
    chkconfig xfs off
    
    chkconfig gpm off
    
    chkconfig openibd off
    
    chkconfig iiim off
    
    chkconfig pcmcia off
    
    chkconfig cpuspeed off
    
    chkconfig nfslock off
    
    chkconfig iptables off
    
    chkconfig ip6tables off
    
    chkconfig rpcidmapd off
    
    chkconfig apmd off
    
    chkconfig sendmail off
    
    chkconfig arptables_jf off
    
    chkconfig microcode_ctl off
    
    chkconfig rpcgssd off

    2.1.4. 禁用SELINUX

    vi /etc/selinux/config
    
    SELINUX=disabled

    2.1.5. 调整系统参数

    调整内核参数

    vi /etc/sysctl.conf
    kernel.shmall = 536870912
    
    kernel.shmmax = 536870912
    
    kernel.shmmni = 4096
    
    kernel.sem = 250 32000 100 128
    
    fs.aio-max-nr = 1048576
    
    fs.file-max = 6815744
    
    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

    #使修改生效

    /sbin/sysctl -p

    #确认修改成功

    /sbin/sysctl -a

    调整 Shell 资源限制

    vi /etc/security/limits.conf
    *       soft    nproc   2047
    
    *       hard    nproc   16384
    
    *       soft    nofile  1024
    
    *       hard    nofile  65536
    
    *       soft    stack   10240
    
    oracle soft memlock 3145728
    
    oracle hard memlock 3145728

    2.1.6. 修改 hostname

    vi /etc/sysconfig/network
    
    HOSTNAME=<HOSTNAME>

    2.1.7. 配置 hosts

    /etc/hosts 示例

    #public-ip
    
    10.10.115.45 ora12c1
    
    10.10.115.46 ora12c2
    
    #virtual-ip
    
    10.10.115.50 ora12c1-vip
    
    10.10.115.51 ora12c2-vip
    
    #private-ip
    
    192.168.1.8  ora12c1-priv
    
    192.168.1.8  ora12c2-priv
    
    #scan-ip
    
    10.10.115.52 ora12c1-scan

    2.1.8. 创建用户和组

    使用 root 用户登录

    创建组

    groupadd -g 1000 oinstall
    
    groupadd -g 1100 dba
    
    groupadd -g 1200 asmadmin
    
    groupadd -g 1300 asmdba
    
    groupadd -g 1400 asmoper
    
    groupadd -g 1500 oper

    创建 grid 和 oracle 用户

    useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle
    
    echo "oracle" | passwd --stdin oracle
    
    useradd -u 1301 -g oinstall -G dba,asmadmin,asmdba,asmoper grid
    
    echo "grid" | passwd --stdin grid

    2.1.9. 创建安装目录

    mkdir -p /u01/app/grid
    
    mkdir -p /u01/app/12.2.0.1/grid
    
    mkdir -p /u01/app/oracle
    
    mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
    
    chown -R grid:oinstall /u01
    
    chown oracle:oinstall /u01/app/oracle
    
    chmod -R 775 /u01

    2.1.10. 设置用户环境变量

    用户Oracle

    ORACLE_SID=<SID>1
    
    ORACLE_BASE=/u01/app/oracle
    
    ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
    
    GRID_HOME=/u01/app/12.2.0.1/grid
    
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    
    PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin:/sbin:/usr/sbin:/bin:/usr/local/bin
    
    NLS_LANG=american_america.ZHS16GBK
    
    export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH NLS_LANG
    
    umask 022

    用户Grid

    ORACLE_BASE=/u01/app/grid
    
    ORACLE_HOME=/u01/app/12.2.0.1/grid
    
    ORACLE_SID=+ASM<n>
    
    PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
    
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
    
    umask 022

    2.1.11. 配置等效性

    在集群所有服务器上使用 grid 和 oracle 用户执行

    mkdir ~/.ssh
    
    chmod 700 ~/.ssh
    
    ssh-keygen -t rsa
    
    ssh-keygen -t dsa

    在一台服务器上使用 grid 和 oracle 用户执行

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    
    ssh ora12c2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    ssh ora12c2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    
    scp ~/.ssh/authorized_keys ora12c2:~/.ssh/authorized_keys

    在集群所有服务器上使用 grid 和 oracle 用户执行

    ssh ora12c1 date
    
    ssh ora12c2 date
    
    ssh ora12c1-priv date
    
    ssh ora12c2-priv date

    2.1.12. 配置共享存储

    假设/dev/sd[c-e] 为共享磁盘

    裸设备方式配置共享存储 

    修改/etc/udev/rules.d/60-raw.rules 添加内容

    使用如下脚本添加,执行完毕后,在加入权限信息。

    num=1
    
    for i in j k l m n;
    
    do
    
    echo "ACTION=="add", KERNEL=="sddlma$i", RUN+="/bin/raw /dev/raw/raw$num %N"">> /etc/udev/rules.d/60-raw.rules;
    
    let num++;
    
    done;
    KERNEL=="raw*",ACTION=="add", OWNER="grid",GROUP="asmadmin",MODE="0660"

    刷新磁盘组start_udev

    start_udev

    2.1.13. 配置NTP保持双机时间同步

    3. 安装grid

    第一是在哪里解压,直接把文件解压到指定的GRID_HOME目录下,它不需要安装时再把文件copy到GRID_HOME目录下了。解压完了记得把解压包从GRID_HOME中移走,免得在安装grid过程中还把这个压缩包也传到其他节点上去。

    再来说安装,解压完后可以看到这个不象以前那样有一个grid目录,grid目录里runInstaller脚本等文件。这个解压就像是直接安装了一样,解压出来很多的文件。而且目录里也没有runInstaller脚本了,取而代之的是gridSetup.sh脚本,运行这个脚本来执行grid的安装。

    之后在图形界面的各种选择与之前的版本没有太大的区别。安装完后执行root.sh脚本。

    3.1.运行安装脚本

    $Grid_home/gridSetup.sh

    3.2.选择Configure Grid Infrastructure for a New Cluster,然后点击next

    3.3.选择Configure an Oracle Standalone Cluster,然后点击next

    3.4.scan-name要和/etc/hosts中的scan-ip相同,取消GNS,然后点击next

    3.5.选择ADD添加节点,填写public-ip和virtual-ip的hostname,然后全选节点,点击ssh connectivity,输入grid密码,点击Reuse private and public keys existing in user home,再点击setup,然后点击next

    3.6.检查IP和类型是否对应无误,然后点击next

    3.7.选择块设备,然后点击next

    3.8.选择yes,然后点击next

    3.9.DISK name 填写OCR 并创建OCR磁盘组,选择redundancy High,更改裸设备路径/dev/raw/raw*

    3.10.GIMR集群基础信息管理数据库 创建mgmt磁盘组,选择redundancy External,点击next

    3.11.选择相同的asm sys和asmsnmp用户密码,然后点击next

    3.12.选择Do not use Intelligent Platform Management Interface (IPMI),点击next

    3.13.因为没有安装Register with Enterprise Manager (EM) Cloud Control,所以直接点击next

    3.14.以下都是默认选项,全部点击next,(关于resolv.conf和DNS的选项可以忽略)

    3.15.两节点执行root脚本

    3.16.安装完成

    Priestess©版权所有,禁止转载
  • 相关阅读:
    Memcache相关面试题
    Memcache使用场景
    php链接memcache操作
    永久数据被踢现象
    linux 压缩/解压命令大全
    Linux系统信息查看命令大全
    bundle update: env: ruby_executable_hooks: No such file or directory
    Pod::Executable pull
    Android签名机制:生成keystore、签名、查看签名信息
    Difference between 2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1
  • 原文地址:https://www.cnblogs.com/priestess-zhao/p/8178575.html
Copyright © 2011-2022 走看看