前端之家收集整理的这篇文章主要介绍了
更改Oracle数据库密码导致vcenter服务无法启动,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
404_0@
一、背景介绍
@H_
404_0@ 某企业生产环境中采用一台Windows2008R2物理服务器安装vCenter Server 5.5和Oracle 11g
数据库,VC使用system账户连接Oracle
数据库。安装之初对密码合规性没有明确规定,随意设置了该服务器administrator和Oracle的system账户密码,后期要求对这两个账户密码按要求进行整改。
@H_
404_0@
二、问题及排查过程
@H_
404_0@ 当更改完administrator和oracle的system账户密码后,重启服务器,发现vcenter服务无法启动,手动启动出现
提示
@H_
404_0@
@H_
404_0@ 查看系统日志
提示未安装次组建或安装已损坏,事件ID1000
@H_
404_0@
@H_
404_0@ 回想安装vcenter时选择的使用系统账户启动vcenter,并在安装时设置过连接oracle
数据库的system账户的密码,估计问题就出在这两点上。打开ODBC数据源使用更改后的新密码进行连接测试,发现可以正常连接,初步判断不是
数据库的问题,但是发现oracle服务可以正常启动(安装时oracle服务也是选择使用系统账户启动),说明更改administrator账户密码后系统启动服务也是正常的。
@H_
404_0@
@H_
404_0@ 在运行栏中使用
sqlplus命令,通过system账户连接
数据库时
提示system账户被锁定(oracle默认
用户尝试10次
登录失败后会锁定该
用户),在CMD界面下使用:
@H_
404_0@
sqlplus / as sysdba; #以sysdba
用户免密码
登录
@H_
404_0@alter user system account unlock; #解锁system账户
@H_
404_0@ 继续寻找问题,过了一会当再次使用
sqlplus命令通过system账户连接
数据库时,
提示system账户又被锁定,估计问题产生的原因是:通过
sqlplus更改完system账户后,即使ODBC测试连接正常,VC通过system账户连接oracle仍使用的是旧密码,而不会
自动同步更改密码,所以才会再次触发锁定。查看日志,在VC的C:\ProgramData\VMware\VMwareViryualCenter\Logs\vpxd日志中果然发现问题出在
数据库上
@H_
404_0@
@H_
404_0@ 再次使用sysdba
登录并解锁system账户,在VC服务器
命令行下将目录切换到C:\ProgramFiles\VMware\Infrastructure\VirtualCenter Server执行:vpxd �CP <new_password>直接修改vCenter连接数据的密码;也可以执行:vpxd �Cp 通过交互方式修改密码。然后重启VC服务,服务正常启动。
@H_
404_0@
@H_
404_0@
三、总结
@H_
404_0@
1.Oracle数据库修改完密码后,VC中保存的密码并不会同步进行更改,将还需要在VC中更改密码(MSsql未测试,不确定是否也需要手动更改此密码)
@H_
404_0@2.更改administrator账户密码对于使用oracle
数据库启动VC服务没有影响,
不同于使用MSsql,当更改完administrator密码后VC无法启动的原因是由于sql server无法启动
@H_
404_0@
@H_
404_0@需要在
后台服务中为MS
sql服务重新设置新密码完成启动后,VC服务才能启动
@H_
404_0@