oracle g bug修改普通用户密码挂住所有客户端均连接不上生产中断分析
环境
Oracle RAC for IBM AIX 节点
一条简单的修改用户密码SQL语句
alter user ** identified by ***;
竟然会挂住在那此时所有的客户端架构短连接)均无法连接也是连接出不来也不报错
此时做了个生成了个跟蹤文件如 附件
后重启了个节点数据库后用了不到分钟又出现所有客户端无法连接数据库
FYI:
相关BUG
Description
In g there is an intentional delay between allowing failed logon
attempts to retry For some specific application types this can cause
a problem as the row cache entry is locked for the duration of the
delay This can lead to excessive row cache lock waits for DC_USERS
for specific users / schemas
This fix allows the logon delay to be disabled in onwards
by setting event in the initora
eg:
event= trace name context forever level # disable logon delay
This event will disable the logon sleep delay systemwide
ie it will affect all user accounts systemwide and so should be used
with extreme caution
Example scenario:
A mix of correct and incorrect logon attempts occur for user X
On each successive failed login attempt the failed logon count
is incremented for user X
Without this fix (without the event set):
After successive failures a sleep delay is introduced starting
at seconds and extending to seconds max During each delay
the user X row cache lock is held in exclusive mode preventing
any concurrent logon attempt as user X (and preventing any
other operation which would need the row cache lock for user X)
With the fix (with the event set):
There is no sleep delay
In either scenario the configured logon profile rules are still
applied (eg: The profile option FAILED_LOGIN_ATTEMPTS is still
honoured and so if the account becomes locked due to exceeeding
this FAILED_LOGIN_ATTEMPTS then further attempts to
log in will then correctly fail immediately with no delay)
Note:
One off fixes for this issue for do not need an event set
interim patches for disable the delay unconditionally
Work Around:
Ensure the correct password is used especially for connection
intensive logons
Getting a Fix
Use one of the Fixed versions listed above
(for Patch Sets / bundles use the latest version available as
contents are cumulative the Fixed version listed above is
the first version where the fix is included)
or
You can check for existing interim patches here: Patch:
总结
alter system set event= TRACE NAME CONTEXT FOREVER: trace name context forever level scope=spfile;
这个event 仍是在g 中推荐设置的
后经过验证确实是属于g 错误密码验证延时功能所导致