QTP
连接到数据库以通过脚本检查数据库时间时出现以下错误:
"Cannot update system time with database time due to error: ERROR: [Oracle][ODBC][Ora]ORA-28000: the account is locked"
但是给出的数据库SID
和凭据是正确的,并且在某些数据库客户端中验证相同。我不确定为什么它会抛出错误QTP
?
谁能帮我解决这个问题?
1) 使用管理员权限登录到您的 Oracle 数据库:
cmd> sqlplus / as sysdba
或者
cmd> sqlplus system/{systemPassword}@{OracleSID}
2)使用以下命令解锁您的用户帐户:
sql> alter user {yourDbUser} account unlock;
3) 仍然在 SQL*Plus 命令提示符下,防止帐户锁定不再发生:
sql> ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME UNLIMITED;
sql> ALTER PROFILE "DEFAULT" LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
编辑到期评论
以上说明应该可以解决您的问题。我发布了一个我发现的与此主题相关的附加命令,您可以尝试(但我不确定它是否是解决方案):
sql> grant connect, resource to {yourDbUser};
您还可以检查数据库中其他锁定用户的状态。也许您的工具正在尝试与其他一些用户建立联系,除了您正在使用的用户之外,这些用户仍然存在此问题。
此解决方案适用于 Oracle 10g 和错误 ORA-28000:the account is locked 在 SQL 命令行中键入:
conn sys as sysdba
输入密码
alter user system account unlock;