ORA-28000 物理备用数据库上的 Oracle SYS 帐户被锁定

问题描述 投票:0回答:1

我更改了主数据库上的 SYS 密码,并将 orapwd 复制到备用数据库中,如文档所述。这种方法对于多个数据库效果很好,但对于一个备用数据库,几分钟后就会出现 ORA-28000。

一旦发生这种情况,Data Guard 传输就会停止,并且延迟开始增加。我必须找到并消除原因。

oracle passwords locked dataguard
1个回答
0
投票

简介

用户帐户位于 Oracle 目录中,只有在数据库打开时才能访问。密码存储在目录中,锁定行为由配置文件(也在目录中)控制。根据用户的个人资料,过多的错误登录尝试将导致帐户锁定和“ORA-28000 帐户已锁定”。

然而,SYS 帐户的密码位于外部文件中。过多的错误登录尝试也会导致 ORA-28000。

在Data Guard中,直接在备机上修改SYS密码是不合适的。相反,有必要将更新的主 orapwd 复制到所有备用数据库。

当 Oracle 系统帐户受到 ORA-28000 影响时,通常意味着旧密码已配置在环境中的某处。成功的故障排除需要找到旧密码。

场景

我们的 Data Guard 网络是 Linux 上 ASM 上的 Oracle 19c RAC 主网络,以及 RAC 或独立备用网络。

我执行了以下操作:

  1. 更改主服务器上的 SYS 密码
  2. asmcmd pwcopy 从主数据库 ASM 到文件。
  3. asmcmd pwcopy 该文件到备用 ASM 中。
  4. 在OEM中,更新目标监控配置密码。
  5. 使用新的 SYS 密码更新 sqlnet 钱包。 这种方法通常会很顺利并且不会导致任何问题。

问题

在orapwd中复制后,出现“ORA-28000 帐户被锁定”。 Data Guard 传输和 OEM 监控停止工作。

在我们的 Data Guard 网络中,有三个备用服务器。其中两台工作正常,一台备用设备受到此问题的影响。还有其他 Data Guard 网络,它们没有问题。

故障排除

尝试了以下措施:

  1. 再次将 orapwd 复制到 ASM,或者从主服务器创建一个新的 orapwd 文件,然后将该文件复制到备用服务器。这只工作了 5 分钟,然后 SYS 帐户就被锁定了。

  2. 停止两个 RAC 节点上的 OEM 代理。这解决了问题。

  3. 启动 OEM 代理并删除集群数据库和实例目标。问题又出现了。

原因

即使从 OMS 中删除目标后,代理的 Targets.xml 仍存在有问题的数据库的恶意条目。目标条目具有旧密码:

<Property NAME="password" VALUE="{ENC S}{AES-128}57FC02D10C5F59D0F6B8
29F68FF07B6125CA5255BB642C858595" ENCRYPTED="TRUE"/>

解决方案

  1. 停止em代理
  2. 编辑targets.xml。删除杂散条目。
  3. 启动代理
  4. 最后一次将 orapwd 复制到备用 ASM。

ORA-28000 清除,Data Guard 传输恢复,目标发现顺利进行。

© www.soinside.com 2019 - 2024. All rights reserved.