更改Oracle数据库密码导致vcenter服务无法启动

一、背景介绍

某企业生产环境中采用一台Windows2008R2物理服务器安装vCenter Server 5.5和Oracle 11g数据库,VC使用system账户连接Oracle数据库。安装之初对密码合规性没有明确规定,随意设置了该服务器administrator和Oracle的system账户密码,后期要求对这两个账户密码按要求进行整改。

二、问题及排查过程

当更改完administrator和oracle的system账户密码后,重启服务器,发现vcenter服务无法启动,手动启动出现提示

wKiom1kAViOAqvpRAAB94CTJf4M319.png

查看系统日志提示未安装次组建或安装已损坏,事件ID1000

wKioL1kAViSTLVCzAAIk88_pzwQ650.png

回想安装vcenter时选择的使用系统账户启动vcenter,并在安装时设置过连接oracle数据库的system账户的密码,估计问题就出在这两点上。打开ODBC数据源使用更改后的新密码进行连接测试,发现可以正常连接,初步判断不是数据库的问题,但是发现oracle服务可以正常启动(安装时oracle服务也是选择使用系统账户启动),说明更改administrator账户密码后系统启动服务也是正常的。

wKiom1kAViSC-VJyAACvbx8W0fI212.png

在运行栏中使用sqlplus命令,通过system账户连接数据库提示system账户被锁定(oracle用户尝试10次登录失败后会锁定该用户),在CMD界面下使用:

sqlplus / as sysdba; #以sysdba用户免密码登录

alter user system account unlock; #解锁system账户

继续寻找问题,过了一会当再次使用sqlplus命令通过system账户连接数据库时,提示system账户又被锁定,估计问题产生的原因是:通过sqlplus更改完system账户后,即使ODBC测试连接正常,VC通过system账户连接oracle仍使用的是旧密码,而不会自动同步更改密码,所以才会再次触发锁定。查看日志,在VC的C:\ProgramData\VMware\VMwareViryualCenter\Logs\vpxd日志中果然发现问题出在数据库

wKioL1kAVibhv1B-AAJsLmnuZtw368.png

再次使用sysdba登录并解锁system账户,在VC服务器命令行下将目录切换到C:\ProgramFiles\VMware\Infrastructure\VirtualCenter Server执行:vpxd �CP <new_password>直接修改vCenter连接数据的密码;也可以执行:vpxd �Cp 通过交互方式修改密码。然后重启VC服务,服务正常启动。

wKioL1kAVifwxctGAAE-nvKyfvM292.png

三、总结

1.Oracle数据库修改完密码后,VC中保存的密码并不会同步进行更改,将还需要在VC中更改密码(MSsql未测试,不确定是否也需要手动更改此密码)

2.更改administrator账户密码对于使用oracle数据库启动VC服务没有影响,不同于使用MSsql,当更改完administrator密码后VC无法启动的原因是由于sql server无法启动

wKiom1kAVieAmRbEAABudR8Nsn8547.png

需要在后台服务中为MSsql服务重新设置新密码完成启动后,VC服务才能启动

wKiom1kAViiwXxhtAACXWIyf94Q461.png

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...