Oracle RAC 添加节点

作者: 肆虐的悲傷 | 来源:发表于2017-10-31 15:40 被阅读0次

    摘要:Oracle RAC 添加节点操作,跟安装类似,配置所需OS参数、IP规划等,需要在rac层和db层分别添加。

    1安装准备工作

    1.1Â加节点步骤

    加节点不需要停机,在线操作,但需要在业务较低时段进行,若安排重启测试和业务测试,则视情况申请停机时间。

    1ã��Â原生产库两台主机安装新的操作系统,连接现生产库所用的存储并进行多路径的配置

    2ã��Â配置网络

    3ã��Â检查系统包和配置等价性等一系列加节点操作,具体操作参考章节1.3~1.12

    4ã��Â在现有生产库节点1上进行加节点操作。

    5ã��Â检查各个节点的crs和instance的状态。

    节点

    节点名称

    实例名称

    数据库名称

    处理器

    RAM/SWAP

    操作系统

    Master-db-03

    db3

    db

    Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz

    256GB/128GB

    RedHatEL6.5

    Master-db-04

    db4

    Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz

    256GB/128GB

    RedHatEL6.5

    网络配置

    节点名称

    公共IP地址

    专用IP地址

    虚拟IP地址

    SCAN名称

    SCAN IP地址

    Master-db-03

    10.0.3.11

    10.0.5.11

    10.0.3.111

    scan-ip

    10.0.3.223

    Master-db-04

    10.0.3.12

    10.0.5.12

    10.0.3.112

    Oracle软件组件

    软件组件

    操作系统用户

    主组

    辅助组

    主目录

    Oracle基目录/Oracle主目录

    Grid Infra

    Grid

    oinstall

    asmadmin、asmdba、asmoper

    /home/grid

    /opt/oracrs/base

    /opt/oracrs/product/11gr2/grid

    Oracle RAC

    Oracle

    oinstall

    dba、oper、asmdba

    /home/oracle

    /opt/oracle/

    /opt/oracle/product/11.2.0/db

    存储组件

    存储组件

    类型

    卷大小

    ASM卷组名

    ASM冗余

    设备名

    OCR/VF

    ASM

    10G

    DG_OCR

    NORMAL

    按新的标准

    数据

    ASM

    2000G

    DG_ACC

    External

    按新的标准

    数据

    ASM

    2000G

    DG_INDX

    External

    按新的标准

    数据

    ASM

    2000G

    DG_OPT

    External

    按新的标准

    数据

    ASM

    200G

    DG_ORA

    External

    按新的标准

    归档日志

    ASM

    200G

    DG_ARCH

    External

    按新的标准

    1.1Â检查系统要求

    E.补丁包

    rpm -q binutils \

    compat-libstdc++-33 \

    elfutils-libelf \

    elfutils-libelf-devel \

    gcc \

    gcc-c++ \

    glibc \

    glibc-common \

    glibc-devel \

    glibc-headers \

    ksh \

    pdksh \

    libaio \

    libaio-devel \

    libgcc \

    libstdc++ \

    libstdc++-devel \

    libXp \

    make \

    numactl-devel \

    sysstat \

    unixODBC \

    unixODBC-devel \

    compat-libcap1.x86_64 \

    libcap.x86_64|grep not

    F.核心参数

    编辑/etc/sysctl.conf文件,添加下面的内容

    # for oracle

    fs.aio-max-nr=1048576

    fs.file-max=6815744

    kernel.sem=250 32000 100 128

    kernel.shmmni=4096

    kernel.shmall=8388608

    kernel.shmmax=32212254720

    net.ipv4.ip_local_port_range=900065000

    net.core.rmem_default=1048576

    net.core.rmem_max=1048576ànet.core.rmem_max = 4194304(11.2.0.3)

    net.core.wmem_default=262144

    net.core.wmem_max=1048586

    然后执行以下命令使参数生效:

    sysctl –p

    1.1Â设置/etc/hosts

    私有IP地址必需与公网分离,两个节点可互相访问可以ping通,必须在/etc/hosts里有;

    虚拟IP地址同公网IP地址是一个网段的,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里;

    公网IP地址,是主机真正的IP地址,主机管理员预先分配,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里),并且保证写入每个客户系统中的hosts文件。

    在各个节点的网卡配置必须相同,例如:第一个节点公共IP是用eth0,那么其他节点也得用eth0

    # Do not remove the following line, or various programs

    # that require network functionality will fail.

    127.0.0.1               localhost.localdomain localhost

    ::1             localhost6.localdomain6 localhost6

    # that require network functionality will fail.

    127.0.0.1 localhost

    10.0.3.22 MASTER-DB-02

    10.0.3.21 MASTER-DB-01

    10.0.3.12 MASTER-DB-04

    10.0.3.11 MASTER-DB-03

    #heart ip

    10.0.5.22  db2-heart

    10.0.5.21  db1-heart

    10.0.5.12  db4-heart

    10.0.5.11  db3-heart

    #vip

    10.0.3.122  db2-vip

    10.0.3.121  db1-vip

    10.0.3.112  db4-vip

    10.0.3.111  db3-vip

    #scan ip

    10.0.3.123 scan-ip

    设置完/etc/hosts后,建议在各自节点通过名字PING对方,看能否PING通。

    建立oracle、grid用户和dba组

    #/usr/sbin/groupadd -g 501 oinstall

    #/usr/sbin/groupadd -g 502 dba

    #/usr/sbin/groupadd -g 503 oper

    /#usr/sbin/groupadd -g 504 asmadmin

    #/usr/sbin/groupadd -g 505 asmoper

    #/usr/sbin/groupadd -g 506 asmdba

    #/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle

    /#usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

    1.1Â配置等效性

    注意:需要在GRID和ORACLE用户下分别执行

    # su - oracle

    $ mkdir ~/.ssh

    $ chmod 700 ~/.ssh

    --产生rsa,dsa

    $ ssh-keygen -t rsa

    注意:以上操作分别在两台机器上执行

    --在节点1上执行:

    $ sshmaster-db-04cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    $ sshmaster-db-03cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    $ scp ~/.ssh/authorized_keysmaster-db-02:~/.ssh/.

    $ scp ~/.ssh/authorized_keysmaster-db-03:~/.ssh/.

    $ scp ~/.ssh/authorized_keysmaster-db-04:~/.ssh/.

    --测试SSH在两边都不用输入密码,表示SSH配置完成

    $ sshmaster-db-01date

    $ sshmaster-db-02date

    $ sshmaster-db-03date

    $ sshmaster-db-04date

    1.1Â设置系统限制

    --在每个节点上执行相同的操作

    编辑/etc/security/limits.conf,添加如下内容:

    oralce    soft  nofile 131072

    oracle   hard  nofile 131072

    grid    soft  nofile 131072

    grid    hard  nofile 131072

    oracle hard memlock 153092096

    oracle soft memlock 153092096

    编辑/etc/pam.d/login,添加如下内容:

    session required /lib/security/pam_limits.so

    1.2Â建立GRID及RAC安装目录

    --建立ORACLE_HOME目录

    mkdir -p /opt/oracle/product/11.2.0/db

    --建立ORACLE_GRID_HOME目录

    mkdir -p /opt/oracrs/base

    mkdir -p /opt/oracrs/product/11gr2/grid

    --授权

    chown  -R oracle:oinstall/opt/oracle

    chown–R grid:oinstall /opt/oracrs

    chmod -R 775 /opt

    1.3Â关闭防火墙

    chkconfig --list iptables

    chkconfig iptables off

    chkconfig --list iptables

    service iptables stop

    1.4Â设置NTP服务

    配置NTP服务

    1.5Â设置用户的环境变量

    #gird用户

    修改~/.bash_profile文件,增加以下内容:

    umask 022

    export ORACLE_BASE=/opt/grid

    export ORACLE_HOME=/opt/crs_home/product/11.2.0/grid

    export ORACLE_SID=+ASM1

    export PATH=/usr/sbin:$PATH

    exportPATH=$ORACLE_HOME/bin:$PATH

    为了让以上内容立即生效,执行以下命令即可:

    $Source .bash_profile

    #oracle用户

    修改~/.bash_profile文件,增加以下内容:

    umask 022

    export ORACLE_BASE=/opt/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

    export ORA_GRID_HOME=/opt/crs_home/product/11.2.0/grid

    export ORACLE_SID=db3

    export PATH=/usr/sbin:$PATH

    exportPATH=$ORACLE_HOME/bin:$PATH :$ORA_GRID_HOME/bin

    为了让以上内容立即生效,执行以下命令即可:

    $Source .bash_profile

    1.6Â配置磁盘设备

    使用UDEV绑定磁盘设备,参考现生产库磁盘设备配置。

    1.7Â使用CVU检查新加节点的硬件和OS环境

    $ cluvfy stage -post hwos -ndb-maser-3,master-db-04–verbose

    $ cluvfy comp peer -refnodedb-maser-1 -ndb-maser-3,master-db-04-orainv oinstall -osdba oinstall-verbose

    $ cluvfy stage -pre nodeadd -ndb-maser-3,master-db-04–verbose

    注意:服务器上的防火墙一定要关闭,否则不能通过检查。虽然chkconfig iptables off检查都是off,但是没有执行service iptables stop操作。如:当时有如下报错。

    正在检查子网"10.0.3.0"是否能够与多点传送组"230.0.1.0"进行多点传送通信...

    PRVG-11134 :节点"master-db-04"上的接口"10.0.3.12"无法与节点"master-db-04"上的接口"10.0.3.12"通信

    PRVG-11134 :节点"master-db-04"上的接口"10.0.3.12"无法与节点"master-db-03"上的接口"10.0.3.11"通信

    PRVG-11134 :节点"master-db-03"上的接口"10.0.3.11"无法与节点"master-db-04"上的接口"10.0.3.12"通信

    1.8Â备份OCR

    在添加节点前,建议手动备份OCR(GRID每4个小时也会自动备份OCR),目的是如果出

    现某些问题,我们可以恢复到添加节点前的状态:

    $su - root

    $GRID_HOME/bin/ocrdump /tmp/ocrdump_1nodes.bak

    添加节点

    2.1ÂGRID (GI)层面添加节点

    将GRID HOME复制/扩展到节点3,4,在节点1以grid用户执行下面的命令:

    注意:addNode.sh脚本首先进行安装前检查,如果检查过程有错误或者警告,需要在运行

    addNode.sh前设置环境变量exportIGNORE_PREADDNODE_CHECKS=Y,否则addNode.sh会失败退出

    #su–grid

    $cd $GRID_HOME/oui/bin

    $./addnode.sh“CLUSTER_NEW_NODES={master-db-03,master-db-04}”“CLUSTER_NEW_VIRTUAL_HOSTNAMES={db3-vip,db4-vip}”

    以root用户在节点3和4运行orainstRoot.sh来注册Inventory

    在2.3章节再执行root.sh

    2.2ÂRAC层面添加节点

    将RDBMS ORACLE HOME复制/扩展到节点3,在节点1以oracle用户执行下面的命令:

    ./addNode.sh“CLUSTER_NEW_NODES={ master-db-03,master-db-04}”

    在节点3,4以root用户运行$RDBMS_OARCLE_HOME/root.sh

    2.3Â运行GRID_HOME/root.sh

    在节点3,4以root用户运行$GRID_HOME/root.sh

    运行root.sh后,节点rac3的资源已经更新到集群中(OCR),并且已经启动:

    $crsctl stat res–t

    2.4Â添加实例

    运行dbca

    原文链接

    相关文章

      网友评论

        本文标题:Oracle RAC 添加节点

        本文链接:https://www.haomeiwen.com/subject/acpbpxtx.html