在Oracle中,集群安装过程中的$GRID_HOME/root.sh脚本的作用是什么?
该脚本主要执行CRS的配置,格式化OCR磁盘,更新/etc/inittab文件,启动ocssd进程,新建/etc/oracle/ocr.loc文件等,是RAC安装过程中非常重要的一步。若后期OCR、OLR或表决磁盘出现问题都可以通过重新执行root.sh脚本来修复集群的配置信息。
重新执行root.sh脚本的过程如下所示:
需要注意的是,多数以pl结尾的脚本从12.1.0.2开始都变为了sh脚本,例如:rootcrs.pl需要修改为rootcrs.sh
In 12.1.0.2, rootcrs.sh/roothas.sh should be used instead of rootcrs.pl/roothas.pl
#root用户重新执行root.sh,配置文件:$ORACLE_HOME/crs/install/crsconfig_params,该文件需要仔细检查
#也可以图形化界面使用GRID配置root.sh的内容
#export DISPLAY=192.168.59.1:0.0
#$ORACLE_HOME/crs/config/config.sh
crsctl stop crs -f
#kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`
export GRID_HOME=$ORACLE_HOME
$GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose
$GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose -lastnode -keepdg
dd if=/dev/zero of=/dev/rhdiskN bs=1024k count=100 -- 清理磁盘头,只清理OCR磁盘头
#查看磁盘是否有内容
#AIX用:lquerypv -h /dev/rhdisk5
#linux用:hexdump /dev/sdb ,例如:hexdump -n 1024 -C /dev/sdb1
#保证集群完全关闭,最好重启OS,检查网络情况,是否有cvuqdisk
#find /u01 -name cvuqdisk*
#rpm -qa cvuqdisk
#rpm -ivh $GRID_HOME/cv/rpm/cvuqdisk-*.rpm
#再次检查配置文件($ORACLE_HOME/crs/install/crsconfig_params)是否需要修改,18c可以去掉MGMTDB
$GRID_HOME/root.sh #若出现错误,则在解决错误后可以重复执行,不需要先deconfig
另外,deconfig执行完后可以考虑删除以下文件(一般不需要手动删除):
ls -l $GRID_BASE/Clusterware/ckptGridHA*
find $GRID_HOME/gpnp/* -type f
find $GRID_HOME/gpnp/* -type f -exec rm -rf {} \;
集群的配置信息包含在文件$GRID_HOME/crs/install/crsconfig_params
中,root.sh脚本根据该文件的配置信息设置OCR的内容。
在执行root.sh脚本的过程中产生的日志在目录$GRID_HOME/cfgtoollogs/crsconfig/
下。
18c的mgmtdb
对于18c,需要注意:
若MGMTDB不需要重复创建,则可以修改配置文件
配置文件($ORACLE_HOME/crs/install/crsconfig_params)修改以下内容的值为空:
MGMT_DB=
GIMR_CONFIG=
CDATA_BACKUP_DISK_GROUP=
CDATA_BACKUP_FAILURE_GROUPS=
CDATA_BACKUP_QUORUM_GROUPS=
CDATA_BACKUP_DISKS=
CDATA_BACKUP_REDUNDANCY=
CDATA_BACKUP_AUSIZE=
CDATA_BACKUP_SITES=
CDATA_BACKUP_SIZE=
root.sh脚本日志地址
--- 11g、12.1.0.2、
日志地址:$GRID_HOME/cfgtoollogs/crsconfig/rootcrs_主机名.log
重置的日志文件:hadelete.log crsdelete_rac1.log
root.sh脚本日志:rootcrs_rac2.log
-- 例如:
tailf /u01/app/11.2.0.4/grid/cfgtoollogs/crsconfig/crsdelete_rac1.log
tailf /u01/app/11.2.0.4/grid/cfgtoollogs/crsconfig/rootcrs_rac1.log
--- 18c
18c的日志地址:$ORACLE_HOME/install/
18c的详细日志地址:/u01/app/grid/crsdata/raclhr-18c-n1/crsconfig/
重置的日志文件:crsdeconfig_raclhr-18c-n1_2019-08-21_11-21-45AM.log
root.sh脚本日志:rootcrs_raclhr-18c-n1_2019-08-21_11-15-48AM.log
查询ASM磁盘组
-- 安装grid之前
export LD_LIBRARY_PATH=/soft/grid/stage/ext/lib/:$LD_LIBRARY_PATH
/soft/grid/stage/ext/bin/kfod asm_diskstring='/dev/asm*'
-- 安装grid完成
export GRID_HOME=$ORACLE_HOME
$GRID_HOME/bin/kfod disks=asm st=true ds=true cluster=true
OCR备份恢复
OCR备份,物理和逻辑都进行备份
-- OCR备份
ocrconfig -export /tmp/export_asm_lhr_logical.bak
ocrconfig -manualbackup
ocrconfig -showbackup
ocrconfig -copy +MGMT:/raclhr-cluster/OCRBACKUP/backup_20190822_085506.ocr.285.1016960109 /tmp/export_asm_lhr_physical.bak #从12.2开始的OCR物理备份默认放在MGMT磁盘组,建议单独cp到FS中
cp /u01/app/11.2.0/grid/cdata/raclhr-cluster/backup_20190822_111554.ocr /tmp/export_asm_lhr_physical.bak
#手动对集群相关资源进行备份,包括新增的db、监听、service等
-- OCR恢复
crsctl stop crs
crsctl start crs -excl -nocrs
#crsctl stop resource ora.crsd -init
ocrconfig -import /tmp/export_asm_lhr_logical.bak #逻辑备份恢复
#ocrconfig -restore /tmp/export_asm_lhr_physical.bak #物理备份恢复
crsctl stop crs
crsctl start crs