ITPub博客

首页 > 数据库 > Oracle > Oracle 19.24 补丁升级后数据库打开异常案例分析

Oracle 19.24 补丁升级后数据库打开异常案例分析

原创 Oracle 作者:龙山游龙 时间:2025-03-05 17:49:57 0 删除 编辑

1 、故障描述

某次某客户 Oracle 19c RAC环境, 补丁升级到 19.24 后,无法正常启动数据库 实例 。

2 、根因分析

a)  数据库启动异常

在使用 `spfile` 启动数据库时,数据库只能启动到 `NOMOUNT` 状态,无法继续打开。

A lert报错:ASMB进程报错, 尝试读取 ASM 磁盘时失败,导致无法完成正常启动。

b)  权限问题怀疑

一开始怀疑是 `$ORACLE_HOME/bin` 目录下的 o racle 执行文件权限出现问题。尽管文件权限确认正常,但为了排查潜在问题,手动调整了文件权限并恢复正常。

chmod 6751 oracle

  但几小时后,服务器重启,数据库再次无法启动,依旧只能启动到 `NOMOUNT` 状态。

c)  报错信息

在尝试将数据库启动到 `MOUNT` 状态时,出现了以下报错:

 ORA - 01017: invalid username/password; logon denied

起初以为是权限问题再次出现,手动修改权限后依然无法启动。

 

查找 MOS(My Oracle Support)文档后,发现 Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(`oracle`)和集群管理用户(`grid`)在某些情况下没有被正确加入到必要的组中,导致权限问题,从而影响数据库启动。

MOS 号:[2919585.1](https://support.oracle.com)  文档中指出,在打上 19.23 或以上版本的补丁后,Oracle 相关用户(`oracle` 和 `grid`)的组权限可能会被修改,导致无法正常启动数据库。

 

3 、解决方案

经过分析后,发现确实是用户组权限问题导致的数据库启动失败。为了解决此问题,按照以下步骤进行了处理:

1)  添加用户到必要的组

确保 `oracle` 用户和 `grid` 用户均被正确添加到 `oinstall` 组中,这是 Oracle 数据库和 Grid 控制集群所需的最基本权限组。

修改前:

 

修改后:

执行以下命令,将 `oracle` 和 `grid` 用户添加到 `oinstall` 组:

   usermod - a - G oinstall grid

   usermod - a - G oinstall oracle

2)  重启数据库

完成用户组权限修改后,重启数据库实例,确保新修改的权限生效。

3)  数据库成功启动

修改完权限并重启数据库后,数据库成功启动,并恢复到正常的 `OPEN` 状态。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30310891/viewspace-3074903/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
传统商业、开源和国产据库领域十从业经验,TB级高并发数据库的管理经验。对于数据库内部原理、体系结构,数据页/块结构原理有着深刻认识;对于数据库新特性、分布式高可用架构和性能调优有着丰富的的实战经验。擅长故障诊断以及数据库异常打开及数据灾难挽救。

注册时间:2015-06-28

  • 博文量
    178
  • 访问量
    334736