kaiyun.com Oracle 12CR2 RAC 装配避坑宝典
发布日期:2023-12-09 13:16 点击次数:107笃信在 Redhat 7 上装配过 Oracle 12CR2 RAC 的一又友kaiyun.com,看了本文一定会后悔莫得早点看到这篇完好的避坑指南!
😜 要是有一又友不信邪,不错按照成例的神色装配,简略率是会遭受底下我列出的这些坑。
一、聊聊哪些坑本文主要先容 Redhat 7.6 系统装配 Oracle 12201 版块 RAC 的一些坑以及避坑神色。
齐备干货满满,物超所值,天然更宽饶专家来补充和纠错!
📢 详确: 坑点主要位于 Grid 软件装配门径中 cvu check 和 root.sh 扩充。
坑 1:ASM device sharedness checkGrid 软件装配经由搜检报错:Shared Storage Accessibility:/dev/asm_ocr ...FAILED (PRVG-11506)
可参照 MOS 文档:
12.2: PRVG-0802 : Storage type for path "/dev/mapper/asm011p1" could not be determined (Doc ID 2251322.1)这里先卖个关子,不说贬责决策,MOS 提议是打一个补丁 25784424 来成立:
Apply patch ?25784424, if CVU storage check fails for ASMLib paths 坑 2:扩充 root.sh 报错😤 先吐槽一下,这 TM 几乎巨坑无比!
当扩充 root.sh 敕令到进程 14/19 时,一刹罢手而况报错 CLSRSC-400,并教唆重启主机系统,重启之后装配进程还是隔断,不息扩充依然报错,无奈卸载重装,效劳依然报错,其时搞了快要 3 个多小时,网上找遍了都没发现干系问题,确实一把心酸泪 😢!
在 MOS 上找了个干系文档,但没贬贬低题,不错参考一下:
ALERT: root.sh Fails With "CLSRSC-400" While Installing GI 12.2.0.1 on RHEL or OL with RedHat Compatible Kernel (RHCK) 7.3 (Doc ID 2284463.1)MOS 提议仍然是通过 applyOneOffs 打补丁来成立:
Interim patch 25078431 is required before installing 12.2 GI on Linux 7.3 (RedHat and OL7 with RHCK).📢 详确: 这里固然莫得匡助我贬贬低题,然而帮我盛开了一个念念路,让我猜测了 12C 脱手撑捏的新的打补丁神色 applyPSU,对我背面贬贬低题带来了很大的匡助!
坑 3:ASMCMD 报错在成立了上述 2 个问题之后,😀 我又高亢扬兴的脱手扩充 root.sh,看着一皆流通无阻,本想着打理打理回家了。
效劳 root.sh 扩充到进程 19/19 时,一刹报错罢手,报错内容为:kgfnGetConnDetails requires 4 parameters at/u01/app/12.2.0/grid/lib/asmcmdbase.pm line 5704,显现 root.sh 扩充失败。
此时,我不认命的以为它装配告捷,去试了下 asmcmd 敕令,我顺利裂开了 😵!
好吧,放下书包,看报错日记,然后 MOS 一通发现了底下这些文档,以供参考:
install.sh Hung And root.sh Is Failing At asmcmd lsdg --suppressheader While Installing A Zone With Clusterware (Doc ID 2414241.1) ASMCMD Failing With "KGFNGETCONNDETAILS Requires 4 Parameters at /lib/asmcmdbase.pm (Doc ID 2748316.1)这个问题还算轻便,然而还要卸载重装一遍,终末经过九九八一难,使出举手投足,终于把 Grid 软件装配告捷了,背面 Oracle 软件装配和建库都尤为成功。
二、说说怎么避坑聊收场有哪些坑,底下天然要说说何如遁入了!
applyPSU之前坑 2 有个 MOS 说要使用 applyOneOffs 打补丁来成立,于是就去搜了一下这个参数的用法,发现不错在 Grid 软件装配前打上补丁,顺带着还发现了 applyPSU,嗅觉找到了出息!
其时我使用 MOS 的神色进行单个补丁成立,效劳一个又一个,嗅觉没收场相通,自后革新一想,PSU 季度补丁是包含之前的 BUG 成立补丁的,顺利使用 applyPSU 提前打上季度补丁来进行成立,就没那么多问题,值得一试!
How to Apply a Grid Infrastructure Patch Before Grid Infrastructure Configuration (before root.sh or rootupgrade.sh or gridsetup.bat) is Executed (Doc ID 1410202.1)参考上述 MOS 文档,有详确的先容和使用顺次。
成立坑1、2通过 12C 脱手撑捏的 applyPSU 神色,提前给 Grid 软件打上最新的季度 PSU 补丁,成立坑 1,2 的 BUG:
1、解压 OPatch 补丁包
## kaiyun.comgrid 用户下扩充解压,障翳 OPatch 旧版块 unzip -o /soft/p6880880_122010_Linux-x86-64.zip -d /u01/app/12.2.0/grid/
2、查察 OPatch 补丁包版块
## grid 用户下扩充 /u01/app/12.2.0/grid/OPatch/opatch version OPatch Version: 12.2.0.1.24
3、解压最新 PSU 补丁
## grid 用户下扩充 unzip /soft/p32226491_122010_Linux-x86-64.zip -d /soft
📢 详确: 由于本文是在 2021年1月份写的,是以补丁包版块非最新,请下载现时最新的 PSU 补丁包!
4、扩充 Grid 软件装配
## grid 用户下扩充 ./gridSetup.sh -applyPSU /soft/32226491 Preparing the home to patch... Applying the patch /soft/32226491/... Successfully applied the patch. The log can be found at: /u01/app/oraInventory/logs/GridSetupActions2021-04-01_04-18-54PM/installerPatchActions_2021-04-01_04-18-54PM.log Launching Oracle Grid Infrastructure Setup Wizard...
通过上述敕令扩充效劳,不错看到告捷装配了 PSU 补丁后才脱手装配 Grid 软件!
📢 详确: 当通过上述神色提前装配了 PSU 补丁后,背面几乎不错说是一帆风顺,直到扩充 root.sh 到终末一步,遭受了坑 3。
成立坑 3这个问题很轻便,只需要扩充一转敕令即可,然而要详确扩充敕令的时机。
## 在 root 用户下扩充,需要提前建立 grid 软件的 ORACLE_HOME 环境变量 /usr/bin/make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk client_sharedlib libasmclntsh12.ohso libasmperl12.ohso ORACLE_HOME=$ORACLE_HOME
扩充限定:
当 Grid 软件装配 扩充到出现 root.sh 教唆框时,扩充以上敕令,📢 需在两个节点以root 身份扩充该敕令,ORACLE_HOME 旅途请把柄骨子情况填写!确保扫数节点扩充完之后,再扩充 root.sh,就不错完好成立坑 3。
接下来,即是顺风顺水,成例装配门径了!不外,有 19C 了谁还用 12C 呢?😎
三、常识拓展我们上头讲的几个坑,说白了都是 BUG,贬责决策都是通过补丁来成立。过后我就在想,官方为什么不在装配之前先把补丁都打上呢?这么不就不错幸免这些 BUG 报错嘛!
于是,我在试着整了一版打好 PSU 的 12C GRID 装配包,底下先容一下怎么操作!
1、达成依据通过以下👇🏻 两个参数不错将基础装配包和补丁包进行集成打包。
Oracle 12C脱手撑捏Grid装配前装配PSU补丁:-applyPSU Oracle 18C/19C撑捏Grid/Oracle装配前装配RU补丁:-applyRU集成主义: 装配时不错省去装配补丁的门径,顺利解压集成装配包装配即可!
2、达成神色以下例如 12CR2 Grid 集成补丁包 32540149 门径:
(1)上传装配介质
##Grid基础装配包 LINUX.X64_122010_grid_home.zip ##OPatch补丁包 p6880880_122010_Linux-x86-64.zip ##PSU补丁包 p32540149_122010_Linux-x86-64.zip ##Oracle一键建立剧本 OracleShellInstall.sh
(2)建立主机环境
使用我编写的 Oracle 一键装配剧本进行环境建立:
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\ -n restart `# hostname`\ -o nocdb `# oraclesid`\ -gp oracle `# grid user password`\ -op oracle `# oracle user password`\ -b /oracle/app `# install basedir`\ -s AL32UTF8 `# characterset`\ -m Y
(3)装配补丁
分袂解压 OPatch 补丁包和 PSU 补丁包:
##解压更新OPatch包 unzip -o p6880880_122010_Linux-x86-64.zip -d /oracle/app/12.2.0/grid chown -R grid:oinstall /oracle/app/12.2.0/grid/OPatch ##解压PSU补丁包 unzip p32540149_122010_Linux-x86-64.zip /soft chown -R grid:oinstall /soft/32540149
Grid 装配好补丁,然而不扩充装配经由:
su - grid -c "/oracle/app/12.2.0/grid/gridSetup.sh -applyPSU /soft/32540149" ## 装配告捷后 ## 1.成立bug: ## [INS-42505] The installer has detected that the Oracle Grid Infrastructure home software at (/oracle/GRID/12201) is not complete. (Doc ID 2697235.1) mv $ORACLE_HOME/install/files.lst $ORACLE_HOME/install/files.lst.bak
📢 详确: 上头遭受这个小 BUG,也不错无视,莫得什么大影响。
(4)压缩 ORACLE_HOME 目次
这里我将装配好的 Grid ORACLE_HOME 压缩打包成 zip 装配包:
cd /oracle/app/12.2.0/grid/ zip -r LINUX.X64_122010_grid_home_32540149.zip * mv LINUX.X64_122010_grid_home_32540149.zip /soft
至此,基础装配包和补丁包集成告捷。
3、装配测试这里我们盛开一台新的主机进行装配测试。
(1)上传集成装配包等介质
##Grid集成装配包 LINUX.X64_122010_grid_home_32540149.zip ##Oracle一键建立剧本 OracleShellInstall.sh
(2)主机环境运行化建立
##iscsi挂载分享盘 iscsiadm -m discovery -t st -p 10.211.55.22 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.22-lucifer -p 10.211.55.22 -l ##重定名装配包 mv LINUX.X64_122010_grid_home_32540149.zip LINUX.X64_122010_grid_home.zip ##扩充剧本运行化建立 cd /soft ./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\ -n restart `# hostname`\ -o nocdb `# oraclesid`\ -gp oracle `# grid user password`\ -op oracle `# oracle user password`\ -b /u01/app `# install basedir`\ -s AL32UTF8 `# characterset`\ -dd /dev/sdc `# asm data disk`\ -dn DATA `# asm data diskgroupname`\ -dr EXTERNAL `# asm data redundancy`\ -m Y
(3)装配 Grid 软件
su - grid cd /oracle/app/12.2.0/grid/ ./gridSetup.sh
扩充 root.sh 前扩充:
## 2.成立bug:ASMCMD Failing With "KGFNGETCONNDETAILS Requires 4 Parameters at <GI_HOME>/lib/asmcmdbase.pm (Doc ID 2748316.1) export ORACLE_HOME=/u01/app/12.2.0/grid /usr/bin/make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk client_sharedlib libasmclntsh12.ohso libasmperl12.ohso ORACLE_HOME=$ORACLE_HOME
成功装配完毕!固然骨子用处不大,也算是一个念念路吧,不错爽气一些技巧。