kaiyun.com Oracle 12CR2 RAC 装配避坑宝典

栏目分类kaiyun.com Oracle 12CR2 RAC 装配避坑宝典

你的位置:kaiyuan体育 > 新闻中心 >

kaiyun.com Oracle 12CR2 RAC 装配避坑宝典

发布日期:2023-12-09 13:16    点击次数:107
[[441822]] 绪论

笃信在 Redhat 7 上装配过 Oracle 12CR2 RAC 的一又友kaiyun.com,看了本文一定会后悔莫得早点看到这篇完好的避坑指南!

😜 要是有一又友不信邪,不错按照成例的神色装配,简略率是会遭受底下我列出的这些坑。

一、聊聊哪些坑

本文主要先容 Redhat 7.6 系统装配 Oracle 12201 版块 RAC 的一些坑以及避坑神色。

齐备干货满满,物超所值,天然更宽饶专家来补充和纠错!

📢 详确: 坑点主要位于 Grid 软件装配门径中 cvu check 和 root.sh 扩充。

坑 1:ASM device sharedness check

Grid 软件装配经由搜检报错: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 

成功装配完毕!固然骨子用处不大,也算是一个念念路吧,不错爽气一些技巧。