ColdFusion:获取ORA-28000:运行cfschedule时帐户被锁定

时间:2015-04-22 01:27:16

标签: oracle coldfusion

我有简单的cfschedule任务,它使用check_settings.cfm。 check_settings具有以下内容

<cftry>
<cfquery name="get_settings" datasource="#request.dsn#">
    select id, setting_value
    from tbl_appsettings
    where scope = 'A'
    and active = 1
</cfquery>
<cfcatch type="any">
    <cfmail from="admin@abc.com"
            to="user@abc.com"
            subject="Settings check"
            type="html">
            We have encountered a problem.<br />
            cfcatch.Message = #cfcatch.Message#<br />
            cfcatch.Detail = #cfcatch.Detail#<br />
            The program has been aborted.
    </cfmail>
    <cfabort>
</cfcatch>

该任务按月安排,但上次运行时发出错误:

cfcatch.Message =执行数据库查询时出错。 cfcatch.Detail = [Macromedia] [Oracle JDBC Driver] [Oracle] ORA-28000:该帐户被锁定。

这可能是由DSN设置中的过期数据库密码引起的。我知道由于一些安全策略,我们的网站管理员每3个月更改一次密码。这可能是原因吗?

1 个答案:

答案 0 :(得分:4)

可能发生的事情是帐户因登录失败而被锁定。是的,那是因为ColdFusion DSN中的数据库密码已过期。您必须将密码更新为正确的密码(不确定Web管理员的位置;您应该联系您的DBA)然后可以解锁帐户。

我会检查以确保计划任务在之前的情况下正常运行。可能是因为登录尝试失败导致失败,这就是导致帐户被锁定的原因。

您的DBA还应该能够更改触发锁定帐户的失败尝试次数。我认为当前版本的Oracle中该值为10。

在旁注中,您可能没有过期的密码,但该帐户已被锁定,因为其他人试图使用错误的密码登录。