前言
使用Oracle Apex一段时候后,可能偶有会有出现访问503报错的情况。其中大多数Apex或Ords一些用户到期被锁定,这次我经历的周末服务器断电。重启后Oracle访问正常、监听正常,就是ords服务访问提示503。
思考
最开始想到就是apex或者ords相关的用户到期了,需要重置密码。最先查询dba_users看看apex、ords或者应用的用户是否过期了。
select * from dba_users;
然后将对应的将账户重置、解锁。
-- APEX_230100
-- APEX_LISTENER
-- APEX_PUBLIC_USER
-- APEX_REST_PUBLIC_USER
-- ORDS_PUBLIC_USER
-- ORDS_METADATA
alter user your_user identified by your_password account unlock;
在对上述所有用户解锁操作之后,重启tomcat服务,服务依旧是提示连接池报错,名为 |defaultllol 的连接池的用户名或口今无效,已失效或者帐户已被锁定。
但是错误就是针对ords配置的报错,所以想过两个方法,要么重新配置ords配置,要么就是重装ords。于是先试着重新配置ords。
# 进入ords目录
cd d:\ords\bin
# 重新配置ords
ords --config "d:\ords" config --db-pool default secret db.password
# 出现如下提示
配置
/D:/ords/
输入数据库密码:
确认密码:
上述d:\ords是最新安装ords的目录,然后会提示重置数据库密码。设置完密码后,重启Tomcat,apex可以正常访问了。
其中配置ords数据库密码时,需要密码与上述ords_相关密码一致。设置完后一定需要重启Tomcat。然后就可以正常访问了。