RAC新增节点步骤

1.Central Inventory损坏

  • Linux中Central Inventory在文件/etc/oraInst.loc中指定,在环境变量ORACLE_BASH目录下
  • 除了Central Inventory外,还有Local Inventory,位置在ORACLE_HOME目录下
  • 重要的文件是$ORACLE_BASE/oraInventory/ContentsXML/inventory.xml文件
  • Central Inventory中包含安装的数据库版本,补丁信息,组件信息等,在数据库的升级,RAC新增删除节点,补丁信息查看等操作中有重要作用
  • Central Inventory能够重建的原理是通过Local Inventory提取信息

重建脚本:

Grid Inventory重建

su - grid

cd $ORACLE_HOME/oui/bin

./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<oraclehome location>" ORACLE_HOME_NAME="OraGI19Home1" CLUSTER_NODES=rac01,rac02 CRS=true LOCAL_NODE=rac01

Oracle Inventory重建

su - oracle

cd $ORACLE_HOME/oui/bin

./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<oraclehome location>" ORACLE_HOME_NAME="OraDB19Home1" CLUSTER_NODES=rac01,rac02 LOCAL_NODE=rac01

2.新增RAC节点步骤

安装前准备:

  • 新增与现有节点中相同的用户,组,并且uid和gid相同
  • grid,oracle用户环境变量
  • 配置SSH等效性(grid和oracle用户)
  • grid用户和oracle用户的ORACLE_BASE和ORACLE_HOME目录提前创建并且用户和属组相同
  • 服务器内核参数,用户限制limits.conf,hosts文件,yum配置

以下三个步骤都在现有节点执行,在新增节点执行会报错。

2.1.安装grid

原理:将现有节点的grid软体copy到新增节点上

# 在现有节点执行
su - grid
cd $ORACLE_HOME
./gridSetup.sh

2.2.添加节点

# 在现有节点执行
su - oracle
cd $ORACLE_HOME/addnode
./addnode.sh 

2.3.添加实例

在添加实例的时候,保证DATA DISKGROUP中空间足够,因为新增的实例需要创建自己的UNDO表空间和自己的在线日志。

# 在现有节点
dbca

3.新增磁盘

3.1.存储划分磁盘

echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan
echo "- - -" >/sys/class/scsi_host/host3/scan
echo "- - -" >/sys/class/scsi_host/host4/scan
echo "- - -" >/sys/class/scsi_host/host5/scan
echo "- - -" >/sys/class/scsi_host/host6/scan

3.2.修改udev配置文件

集群中所有节点都要执行

vi /etc/udev/rules.d/99-oracle-asmdevices.rules
################################################################################################
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac0000000000000001400006855",SYMLINK+="asm_oradata09",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac0000000000000001500006855",SYMLINK+="asm_oradata10",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac0000000000000001600006855",SYMLINK+="asm_oggdata02",OWNER="grid",GROUP="asmadmin",MODE="0660"
################################################################################################
/sbin/udevadm trigger --type=devices --action=change

重启udev的命令(在新增磁盘的时候不需要使用)

systemctl restart systemd-udev-trigger.service

CentOS7操作udev

posted @   monkey6  阅读(280)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示