千家信息网

【RAC】RAC添加节点

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,一、 规划二、 思路清晰step1: 配置 rac3 操作系统,保持与现有节点一致step2: 配置 grid 和 oracle 用户互信step3: 检测集群状态和新节点配置step4: 执行添加节
千家信息网最后更新 2025年01月22日【RAC】RAC添加节点

一、 规划

二、 思路清晰

step1: 配置 rac3 操作系统,保持与现有节点一致

step2: 配置 grid oracle 用户互信

step3: 检测集群状态和新节点配置

step4: 执行添加节点脚本

step5: 扩展 DB HOME

step6: 扩展实例

step7: 完成检查

三、 准备工作

1. 关闭防火墙和selinux rac3

# systemctl stop firewall

# systemctl disable firewall

关闭selinux

# vi /etc/selinux/config

SELINUX=disabled

2. 修改/etc/hosts 文件( rac1/rac2/rac3

添加 rac3 的信息

172.16.70.170 rac1

172.16.70.171 rac2

172.16.70.190 rac3

10.0.0.100 rac1-priv

10.0.0.101 rac2-priv

10.0.0.102 rac3-priv

172.16.70.173 rac1-vip

172.16.70.174 rac2-vip

172.16.70.191 rac3-vip

172.16.70.175 cluster-scan-ip

3. 修改内核参数(rac3

# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 8589934591

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

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

4. 修改用户限制(rac3

# vi /etc/security/limits.conf

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

5. 添加用户和组(rac3

1 )创建组

# groupadd -g 501 dba

# groupadd -g 50 2 oinstall

2 )创建用户

# useradd -u 50 1 -g oinstall -G dba -d /home/oracle oracle

# useradd -u 600 -g oinstall -G dba -d /home/grid grid 3 oracle grid 用户设置密码

# passwd oracle

# passwd grid

4 )检查

# id oracle

# id grid

6. 创建目录(rac3

# mkdir -p /u01/app/oracle

# mkdir -p /u01/app/oracle /product/11.2.0/db_1

# mkdir -p /u01/app/grid

# mkdir -p /u01/app/11.2.0/grid

# chown -R oracle:oinstall /u01

# chown -R grid:oinstall /u01 /app/grid

# chown -R grid:oinstall /u01/app/11.2.0 /grid

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

# chmod -R 775 /u01

7. 修改环境变量(rac3

grid 用户) $ vi .bash_profile

export ORACLE_SID= +ASM 3

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

oracle 用户)

$ vi /home/oracle/.bash_profile

export ORACLE_SID= ORCL3

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

8. 配置本地yum 源,安装软件包( rac3

上传iso 镜像到 /u01/set/os 目录

# mount -o loop /u01/setup/os/ rhel-server-7.2-x86_64-dvd.iso /mnt

# vi /etc/yum.repos.d/mnt.repo

[mnt]

name=Yum Source

baseurl=file:///mnt

enabled=1

gpgcheck=0

# yum makecache

安装 如下包:

# yum install -y binutils compat* elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC-devel libaio-devel ksh

9. 配置ASM 磁盘( rac3

# vi /etc/udev/rules.d/ 99-oracle-asmdevices.rules

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45524932494157712d763771782d30694f30 ", RUN+="/bin/sh -c 'mknod /dev/asm_ocr b $major $minor; chown grid:oinstall /dev/asm_ocr ; chmod 0660 /dev/asm_ocr '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45526d70325177442d616f33572d35686452 ", RUN+="/bin/sh -c 'mknod /dev/asm_data1 b $major $minor; chown grid:oinstall /dev/asm_data1 ; chmod 0660 /dev/asm_data1 '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c455251726b30676d2d337842312d55375278 ", RUN+="/bin/sh -c 'mknod /dev/asm_data2 b $major $minor; chown grid:oinstall /dev/asm_data2 ; chmod 0660 /dev/asm_data2 '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45527650634d78742d4a7664622d3276506e ", RUN+="/bin/sh -c 'mknod /dev/asm_arch b $major $minor; chown grid:oinstall /dev/asm_arch ; chmod 0660 /dev/asm_arch '"

启动udev

# /sbin/udevadm trigger --type=devices --action=change

查看asm 磁盘

# ll /dev/asm*

brw-rw----. 1 grid oinstall 8, 64 Aug 6 10:54 /dev/asm_arch

brw-rw----. 1 grid oinstall 8, 32 Aug 6 10:54 /dev/asm_data1

brw-rw----. 1 grid oinstall 8, 48 Aug 6 10:54 /dev/asm_data2

brw-rw----. 1 grid oinstall 8, 16 Aug 6 10:54 /dev/asm_ocr

注:上面的1-9 步骤需要和 rac1&rac2 配置保持一致

四、 添加节点

1. 配置Oracle grid 用户的互信( rac1

oracle 用户)

$ $ ORACLE_HOME/oui/bin/runSSHSetup.sh -user oracle -hosts 'rac1 rac2 rac3' -advanced -exverify

grid 用户)

$ $ORACLE_HOME/oui/bin/runSSHSetup.sh -user grid -hosts 'rac1 rac2 rac3' -advanced -exverify

2. 检测集群和新加节点(rac1

grid 用户)

1) 检测rac3 的连通性及共享存储访问

$ cluvfy stage -post hwos -n rac3 -verbose

2) 比较节点2 和节点 3 属性

$ cluvfy comp peer -refnode rac2 -n rac3 -verbose

3) 检测集群和新加节点完整性

$ cluvfy stage -pre nodeadd -n rac3 -fixup -verbose

3. 执行添加节点(rac1

$ export IGNORE_PREADDNODE_CHECKS=Y

$ cd $ORACLE_HOME/oui/bin

$ ./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}"

最后需要在节点3 下, root 用户执行以下两个脚本

# /u01/app/oraInventory/orainstRoot.sh

# /u01/app/11.2.0/grid/root.sh

4. 扩展DB HOME rac1 执行)

oracle 用户)

$ export IGNORE_PREADDNODE_CHECKS=Y

$ cd $ORACLE_HOME/oui/bin

$ ./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}"

最后需要root 用户在 rac3 执行以下脚本:

# /u01/app/oracle/product/11.2.0/db_1/root.sh

5. 扩展实例 rac1 执行)

oracle 用户)

方式一:静默方式

执行以下命令:

$ dbca -silent -addInstance -nodeList rac3 -gdbName ORCL -instanceName ORCL3 -sysDBAUserName sys -sysDBAPassword oracle

命令参考:

$ dbca -silent -addInstance -nodeList node_name -gdbName gdb_name -instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password

参数说明:

node_name: 想要添加到的节点名

gdb_name: global database name

instance_name: 指定实例名

sysdba: sysdba 权限的用户

password: 密码

方式二:DBCA 图形界面方式

6. 资源检查

1) 检查集群资源

$ crsctl status res -t

2) 实例检查

SQL > select instance_number,instance_name,host_name from gv$instance;

INSTANCE_NUMBER INSTANCE_NAME HOST_NAME

--------------- ---------------- ----------

3 ORCL3 rac3

2 ORCL2 rac2

1 ORCL1 rac1

3) 日志检查

检查所有节点 asm alert 日志、 db alert 日志

---- end ----

用户 节点 检查 配置 实例 方式 集群 检测 参数 日志 脚本 一致 命令 密码 目录 磁盘 资源 操作系统 两个 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发属于购销合同吗 小迪服务器 网络安全德语课心得体会 承载网络技术支撑工程师五级 服务器和存储设备概念股 备案授权码和云服务器 宿舍楼综合布线网络技术英文 荣耀9x登录账号无法连接服务器 网络安全和信息化行业 贵阳网络安全对抗 网络技术的应用举例子 上海网络安全博览会视频 焦作东驰网络技术招聘 龙岩市泰恒软件开发有限公司 深圳手机配件管理软件开发 软件开发人力外包公司排名 网络技术专科大一要学的科目 软件开发行业非财务因素分析 腾讯公司网络安全心得 网络安全什么学位能考工程师 最新手机号归属地数据库 昆明到丽江服务器是否有充电桩 类erp软件开发工具 成都企业软件开发哪家可靠 杨浦区信息化软件开发售后服务 用友软件安装问题数据库 深圳市科荣网络技术有限公司 山东捭天互联网科技有限公司 手机端管理服务器文件 网络安全攻防的关系
0