AIX7环境上一次艰难的Oracle打补丁经历

embedded/2024/9/25 11:41:14/

系统环境

AIX :7200-05-03-2148 Oracle:11.2.0.4 PSU: 11.2.0.4.201020(31718723) perl:5.28

alt

问题一:AUTO patch

#/u01/app/11.2.0/grid/OPatch/opatch auto /tmp/31718723 错误信息如下:匹配mos 2516761.1 进行下一步relink操作

alt
alt
alt

出师未捷,做relink,失败。 alt

问题二:手工打补丁失败

执行perl rootcrs.pl -unlock出现报错。

/usr/opt/perl5/lib/5.28.1/aix-thread-multi/POSIX.pm line 185.Unimplemented: POSIX::tmpnam() at crsconfig_lib.pm line 712.BEGIN failed--compilation aborted at crsconfig_lib.pm line 712.Compilation failed in require at ./rootcrs.pl line 305.
alt

根据MOS文档Rootcrs.pl -Unlock Fails With Error Unimplemented: POSIX::tmpnam(): Use File::Temp Instead At /usr/perl5/5.26/lib/sun (文档 ID 2697590.1) 中说明在perl 5.22版本之后tmpnam() interface以及被删除,导致打补丁报错。

MOS解决办法 根据mos的建议,需要安装补丁27212837,不过由于也需要调用perl,也会出现/usr/opt/perl5/lib/5.28.1/aix-thread-multi/POSIX.pm line 185.的报错,出现了一个死循环,那么需要首先解决perl的问题。

Apply patch 27212837
Download Link: https://updates.oracle.com/download/27212837.html
Request for patch if not available for particular platform/release.	

临时解决: 用File::Temp替换qw(tmpnam),包括crsgpnp.pm、crsinstall.pm、crsupgrade.pm、s_crsutils.pm,不过试了后发现crs无法启动。

use File::Temp in the scripts instead of POSIX::tmpnam().
Replace use POSIX qw(tmpnam); with use File::Temp; in all the files, Then re-try
These are the files which have pragma use POSIX qw(tmpnam);
crsgpnp.pm
crsinstall.pm
crsupgrade.pm
s_crsutils.pm

问题三:降级perl版本无效

IBM厂商要来5.10版本的perl尝试手动应用补丁,发现补丁程序并没有使用我们指定的perl版本。 然后我们也尝试用oracle自带的perl,写入环境变量,发现报错一样,也就是环境变量也没生效。 ++注:从小机厂商处了解到perl脚本因依赖比较多,无法直接卸载,也无降级一说。但是不同版本的perl脚本可以共存。没有影响。我们的例子中原本高版本的perl脚本没动。重新装了一个低版本5.10的perl。++

另辟蹊径:

既然环境变量不管用,那就使用oracle自带的perl并且强制写死路径,绕过操作系统的perl。

/u01/app/11.2/grid/perl/bin/perl /u01/app/11.2.0//grid/crs/install/rootcrs.pl -unlock

rootcrs.pl -unlock这一步通过。

问题四:rootcrs.pl -patch报错

在最后一步rootcrs.pl -patch的时候报错install/crsconfig_lib.pm line 11821。

alt

查看install/crsconfig_lib.pm 的11821代码,提示集群启动失败。

ASM没有启动成功,进程状态为Abnormal Termination,CLEANING

ASM的alert日志报错SMR is corrupted. Shut down and restart the instance to recreate it。

alt

显然这是触发了BUG:AIX:11.2.0.4 :ASM&DB Instance Not Starting Up Due to SMR Corrupt After OCT 2020 PSU (文档 ID 2732507.1)

APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
IBM AIX on POWER Systems (32-bit)
IBM AIX on POWER Systems (64-bit)
SYMPTOMS
The following errors reported in the ASM&DB alert logs while starting the ASM/DB instance after applying the OCT 2020 PSU.ASM alert log:Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Initial number of CPU is 32Autotune of undo retention is turned on.IMODE=BR
ILAT =0
LICENSE_MAX_USERS = 0
SYS auditing is disabled
NOTE: Volume support enabled
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option.
ORACLE_HOME = <grid home>
System name: AIX
Node name: <node>
Release: 1
Version: 7
Machine: <Machine ID>
Using parameter settings in server-side spfile +DATA01/asm/asmparameterfile/registry.253.801309187
System parameters with non-default values:
large_pool_size = 12M
instance_type = "asm"
remote_login_passwordfile= "EXCLUSIVE"
asm_diskgroups = "FRA"
asm_diskgroups = "DATA01"
asm_power_limit = 1
diagnostic_dest = "<oracle base>"
Fri Nov 06 00:59:39 2020
WARNING: process PMON (ospid: 27132378) was unable to attach SMR.
SMR is corrupted. Shut down and restart the instance to recreate it.
PMON started with pid=2, OS id=27132378
Fri Nov 06 00:59:39 2020
WARNING: process PSP0 (ospid: 20512830) was unable to attach SMR.
SMR is corrupted. Shut down and restart the instance to recreate it.Instance terminated by USER, pid = 20512820
Fri Nov 06 00:59:39 2020
Instance shutdown complete

在 AIX7 中应用 2020 年 10 月 DBPSU 后,SMR 文件不断损坏导致实例不能正常启动。

BUG 32123313 - SMR FILE KEEPS GETTING CORRUPTED AFTER APPLYING OCT 2020 DBPSU IN AIX7
Bug 32109594 - ASM IS UNABLE TO START WITH SMR CORRUPTED ERROR POST OCT 2020 PSU APPLY

官方建议Download and apply the patch for bug 32109594 to GI/RDBMS homes.

SOLUTION
Download and apply the patch for bug 32109594 to GI/RDBMS homes. In case the patch doesn't exist for your version, contact Oracle Support for the patch.

但是32109594是扩展服务,需要收费,很多客户没有权限下载。

解决办法:

其实有个变通的方法,既然官方说安装OCT 2020 DBPSU IN AIX7有问题,那我们我们尝试下安装上一个psu版本 JUL2020 (11.2.0.4.200714)。

安装成功。

作者介绍:云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。目前负责PG、openGauss/MogDB运维、国产化MogDB数据库的推广工作。

本文由 mdnice 多平台发布


http://www.ppmy.cn/embedded/23737.html

相关文章

SpringMVC基础篇(一)

文章目录 1.基本介绍1.特点2.SpringMVC跟SpringBoot的关系 2.快速入门1.需求分析2.图解3.环境搭建1.创建普通java工程2.添加web框架支持3.配置lib文件夹1.导入jar包2.Add as Library3.以后自动添加 4.配置tomcat1.配置上下文路径2.配置热加载 5.src下创建Spring配置文件applica…

华为海量数据库使用笔记

更多技术博客&#xff0c;请关注微信公众号&#xff1a;运维之美 一、常用命令 1.1 数据库连接命令 创建新用户 create user test password xxxx ; alter user test sysadminvsql -d test -hx.x.x.x -U test -p 5432 -W xxxxx1.2 数据库启停命令 vb_ctl start/stop/restar…

初识MVC

初识MVC 理论部分 今天第一次学MVC&#xff0c;拿到一个练手项目。现在来记录一下学习过程。 项目的背景就是个学生管理系统。我只做后端。 从大的来说MVC将应用程序分为三个主要组件&#xff08;部分&#xff09;&#xff1a; 模型&#xff08;Model&#xff09;是应用程序…

客户端连接ZK失败处理方案

文章目录 背景介绍报错信息处理方案第一步、查看zookeeper启动是否正常第二步、检查本地网络是否正常第三步、检查本地JDK版本 对于zookeeper服务注册中心&#xff0c;在前期【 Dubbo框架注册中心-Zookeeper搭建】博客中有环境搭建部署介绍&#xff0c;感兴趣可以参考安装。 背…

uniapp制作分页查询功能

效果 代码 标签中 <uni-pagination change"pageChanged" :current"pageIndex" :pageSize"pageSize" :total"pageTotle" class"pagination" /> data中 pageIndex: 1, //分页器页码 pageSize: 10, //分页器每页显示…

React Router v5 版本中,路由传参主要方式

在 React Router v5 版本中&#xff0c;路由传参主要有以下几种方式&#xff1a; 1. 动态路由参数&#xff08;:param&#xff09; 通过在路由路径中使用 : 后跟参数名的形式&#xff0c;可以捕获特定部分的 URL 路径作为参数传递给目标组件。在目标组件中&#xff0c;可以使…

Linux工具篇 之 vim概念 操作 及基础指令讲解

学校不大 创造神话 讲桌两旁 陨落的王 临时抱佛脚 佛踹我一脚 书山有路勤为径 游戏玩的很起劲 想要计算机学的好&#xff0c;我的博客列表是个宝 –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–❀–❀…

Kafka学习笔记(二、linux和docker安装及使用demo)

1.安装启动 1.1.下载解压 官网下载地址将下载的tar包上传到服务器一个目录&#xff0c;然后解压$ tar -xzf kafka_2.13-3.7.0.tgz $ cd kafka_2.13-3.7.01.2. 启动环境 需安装Jdk8&#xff0c;Kafka可以使用ZooKeeper或KRaft启动。 ZooKeeper启动 运行如下命令&#xff0c;…