- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Oracle 12CR2 RAC 安装避坑宝典由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
相信在 Redhat 7 上安装过 Oracle 12CR2 RAC 的朋友,看了本文一定会后悔没有早点看到这篇完美的避坑指南! 。
如果有朋友不信邪,可以按照常规的方式安装,大概率是会遇到下面我列出的这些坑.
本文主要介绍 Redhat 7.6 系统安装 Oracle 12201 版本 RAC 的一些坑以及避坑方式.
绝对干货满满,物超所值,当然更欢迎大家来补充和纠错.
注意: 坑点主要位于 Grid 软件安装步骤中 cvu check 和 root.sh 执行.
Grid 软件安装过程检查报错:Shared Storage Accessibility:/dev/asm_ocr ...FAILED (PRVG-11506) 。
可参照 MOS 文档:
这里先卖个关子,不说解决方案,MOS 建议是打一个补丁 25784424 来修复:
先吐槽一下,这 TM 简直巨坑无比! 。
当执行 root.sh 命令到进度 14/19 时,突然停止并且报错 CLSRSC-400,并提示重启主机系统,重启之后安装进程已经终止,继续执行依然报错,无奈卸载重装,结果依然报错,当时搞了将近 3 个多小时,网上找遍了都没发现相关问题,真是一把心酸泪 .
在 MOS 上找了个相关文档,但没解决问题,可以参考一下:
MOS 建议仍然是通过 applyOneOffs 打补丁来修复:
注意: 这里虽然没有帮助我解决问题,但是帮我打开了一个思路,让我想到了 12C 开始支持的新的打补丁方式 applyPSU,对我后面解决问题带来了很大的帮助.
在修复了上述 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 一通发现了下面这些文档,以供参考:
这个问题还算简单,但是还要卸载重装一遍,最后经过九九八一难,使出九牛二虎之力,终于把 Grid 软件安装成功了,后面 Oracle 软件安装和建库都尤为顺利.
聊完了有哪些坑,下面当然要说说怎么避开了! 。
之前坑 2 有个 MOS 说要使用 applyOneOffs 打补丁来修复,于是就去搜了一下这个参数的用法,发现可以在 Grid 软件安装前打上补丁,顺带着还发现了 applyPSU,感觉找到了出路.
当时我使用 MOS 的方式进行单个补丁修复,结果一个又一个,感觉没完了一样,后来转念一想,PSU 季度补丁是包含之前的 BUG 修复补丁的,直接使用 applyPSU 提前打上季度补丁来进行修复,就没那么多问题,值得一试! 。
参考上述 MOS 文档,有详细的介绍和使用方法.
通过 12C 开始支持的 applyPSU 方式,提前给 Grid 软件打上最新的季度 PSU 补丁,修复坑 1,2 的 BUG:
1、解压 OPatch 补丁包 。
2、查看 OPatch 补丁包版本 。
3、解压最新 PSU 补丁 。
注意: 由于本文是在 2021年1月份写的,所以补丁包版本非最新,请下载当前最新的 PSU 补丁包! 。
4、执行 Grid 软件安装 。
通过上述命令执行结果,可以看到成功安装了 PSU 补丁后才开始安装 Grid 软件.
注意: 当通过上述方式提前安装了 PSU 补丁后,后面简直可以说是一帆风顺,直到执行 root.sh 到最后一步,遇到了坑 3.
这个问题很简单,只需要执行一行命令即可,但是要注意执行命令的时机.
执行顺序:
当 Grid 软件安装 执行到出现 root.sh 提示框时,执行以上命令,需在两个节点以root 身份执行该命令,ORACLE_HOME 路径请根据实际情况填写!确保所有节点执行完之后,再执行 root.sh,就可以完美修复坑 3.
接下来,就是顺风顺水,常规安装步骤了!不过,有 19C 了谁还用 12C 呢?
咱们上面讲的几个坑,说白了都是 BUG,解决方案都是通过补丁来修复。事后我就在想,官方为什么不在安装之前先把补丁都打上呢?这样不就可以避免这些 BUG 报错嘛.
于是,我在试着整了一版打好 PSU 的 12C GRID 安装包,下面介绍一下如何操作.
通过以下 两个参数可以将基础安装包和补丁包进行集成打包.
集成目的: 安装时可以省去安装补丁的步骤,直接解压集成安装包安装即可.
以下举例 12CR2 Grid 集成补丁包 32540149 步骤:
(1)上传安装介质 。
(2)配置主机环境 。
使用我编写的 Oracle 一键安装脚本进行环境配置:
(3)安装补丁 。
分别解压 OPatch 补丁包和 PSU 补丁包:
Grid 安装好补丁,但是不执行安装过程:
注意: 上面遇到这个小 BUG,也可以无视,没有什么大影响.
(4)压缩 ORACLE_HOME 目录 。
这里我将安装好的 Grid ORACLE_HOME 压缩打包成 zip 安装包:
至此,基础安装包和补丁包集成成功.
这里我们打开一台新的主机进行安装测试.
(1)上传集成安装包等介质 。
(2)主机环境初始化配置 。
(3)安装 Grid 软件 。
执行 root.sh 前执行:
顺利安装完毕!虽然实际用处不大,也算是一个思路吧,可以节省一些时间.
原文链接:https://mp.weixin.qq.com/s/KlP4IM4O7sHVvSNJ9rNXEA 。
最后此篇关于Oracle 12CR2 RAC 安装避坑宝典的文章就讲到这里了,如果你想了解更多关于Oracle 12CR2 RAC 安装避坑宝典的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1.Oracle官方安装文档中(下文中的doc 2,doc 3),有多处错误。最新的Release Notes(August 2006) 更正了一些,但还有不少未得到更正。 2.文中的三个脚本,
很难得到这个问题的答案。在 Oracle RAC 上,Oracle 逻辑目录如何工作?例如。如果我运行这个命令 CREATE DIRECTORY import_dir AS '/data/oracle
我使用 cx_Oracle 模块连接到独立的 Oracle 服务器,如下所示 import cx_Oracle CONN_INFO = { 'host': 'xxx.xx.xxx.x',
在单实例中,进程要想修改数据块,必须在数据块的当前版本(Currentcopy)上进行修改RAC环境也一样 这便涉及到一系列问题: 如何获得数据块的版本在集群节点间的分布图? 如何知道哪个节点
我有各种使用序列的数据库应用程序,我正在将这些应用程序从不带 RAC 的 10g 迁移到带 RAC 的 11g。我需要有序的序列并且可以容忍间隙。 我正在考虑按顺序进行缓存序列,我不知道对性能有何影响
我在一个 View 中有很多 UISegmentedControl(实际上是 74 个),我想使用 RACChannel 与它们各自的模型属性进行双向绑定(bind)。为了减少代码,我想在运行时使用
我知道这听起来很明显,但我收到以下错误:No known class mehtod for selector rac_sendAsynchronousRequest 一行: return [[[NSU
我正在构建一个可滑动的单元格,向该单元格添加平移手势。基本上,它与 Mailbox 应用程序中的单元格具有相同的外观和感觉,您有一个顶 View ,您可以向左或向右滑动以显示下面的另一个 View (
我正在尝试熟悉 Reactive Cocoa,但在组合信号时遇到了问题。 我知道 combineLatest 或 zip 只会在所有组合信号至少发送一个值时发送一个值。但是,如果任何信号发送一个值,是
更新: 代替: RACSignal * mergedItemsSignals = [RACSignal merge:itemSignalsArray]; 像这样生成新信号: RACSignal * m
我很好奇是否有人针对 NoSQL 数据库与 Oracle(特别是我在谈论 Oracle RAC)中的数据访问进行了基准测试?该项目需要处理至少 10mil+ 的记录,在其中搜索(但不一定非要实时),r
我最近遇到一个问题“您的应用程序是否支持 RAC?”。我对此一无所知。我试着检查它的含义,但没有人解释过这个概念。他们到处都从第 2 步开始,即如何进行编码、配置等。但是没有人将“RAC 感知”作为一
前言 相信在 Redhat 7 上安装过 Oracle 12CR2 RAC 的朋友,看了本文一定会后悔没有早点看到这篇完美的避坑指南! 如果有朋友不信邪,可以按照常规的方式安装,大概率是会遇
Oracle RAC提供两种方式实现负载均衡,第一种是纯技术手段,即在用户连接时,根据系统当前的负载情况决定由哪个节点处理用户请求;第二种是面向业务,人为的把应用切分成很多service,通过某个s
1)、检查集群状态: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is
有什么方法可以取消RACCommand的执行吗? 例如,我有一个具有无限执行信号的命令,如下所示: RACCommand *command = [[RACCommand alloc] initWith
我开始使用 Reactive Cocoa 研究 MVVM 模式,现在我有一些不清楚的情况。我想将按钮的 enable 属性与我的模型绑定(bind),并同时绑定(bind) rac_command。这
我正在尝试将 Reactive Cocoa 库添加到我的 Xcode 项目中,但我做不到。我正在尝试查找一些教程,因为我无法理解 Reactive Cocoa 页面中的教程。如何将此库添加到我的项目中
我对使用 ReactiveSwift 和 ReactiveCocoa 相当陌生,我似乎遇到了有关初始化具有依赖项的属性的正确方法的障碍。 例如在下面的代码中,我尝试初始化一个属性,但我得到了预期的编译
我正在使用 RAC4 开发一个应用程序,它从服务器获取城市对象列表并将它们作为 JSON 返回。我通过将每个城市及其适当的属性存储为 City 对象来处理响应。然后,我将每个城市映射到 CityVie
我是一名优秀的程序员,十分优秀!