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