由于oracle11g 密码延时验证特性,修改数据库用户密码时,如果应用程序连接数据的密码没有修改完整,可能导致一时间大量用户用错误的密码去连接数据库,这时可能会导致用户登录hang住
有以下两种方法修改数据用户密码
1.要停止所有连接数据库的应用,统一的把密码修改完成,然后在修改数据库用户密码,然后启动应用
2.先关闭密码延迟验证特性,重启数据库,修改数据库用户密码,修改应用连接数据库密码
关闭密码延迟验证:
alter system set event ="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1" scope=spfile;
RAC修改数据库用户密码步骤
1.关闭备库的密码延迟验证功能sqlplus "/as sysdba"
alter system set event ="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1" scope=spfile;
2.重启数据库
在grid用户下:
srvctl stop database -d rac
srvctl start database -d rac
3.修改主库username用户密码
alter user usernameidentified by password;
4.验证密码修改
sqlplus username/password
5.检查数据库是否正常
数据库密码修改完后,通知修改应用程序密码
检查登录失败情况:
select username,
os_username,
userhost,
client_id,
trunc(timestamp),
count(*) failed_logins
from dba_audit_trail
where returncode=1017 and --1017 is invalid username/password
timestamp < sysdate -7
group by username,os_username,userhost, client_id,trunc(timestamp);
在这次rac密码修改的过程遇到一个问题
rac备库修改没有问题
rac主库修改密码,停止启动数据库时,用如下命令停止,启动
srvctl stop database -d rac
srvctl start database -d rac
发现有一个节点的数据库无法停止和启动,手动startup可以启动
日志报如下错误:
2015-04-23 00:07:55.904:
[/oracle/grid/11ggrid/app/11.2.0/grid/bin/oraagent.bin(19377)]CRS-5818:Aborted command 'start' for resource 'ora.orcl.db'. Details at (:CRSAGF00113:) {1:39462:65003} in /oracle/grid/11ggrid/app/11.2.0/grid/log/orclrac2/agent/crsd/oraagent_oracle/oraagent_oracle.log.
2015-04-23 00:07:55.904: [ AGENT][4248258304]{1:39462:65003} {1:39462:65003} Created alert : (:CRSAGF00113:) : Aborting the command: start for resource: ora.orcl.db 2 1
2015-04-23 00:07:55.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] (:CLSN00110:) clsn_agent::abort {
2015-04-23 00:07:55.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] abort {
2015-04-23 00:07:55.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] Agent::abort last call info: "InstAgent::start startCbk"
2015-04-23 00:07:55.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] abort command: start
2015-04-23 00:07:55.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] tryActionLock {
2015-04-23 00:07:57.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] got lock
2015-04-23 00:07:57.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] tryActionLock }
2015-04-23 00:07:57.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] abort }
2015-04-23 00:07:57.904: [ora.orcl.db][4248258304]{1:39462:65003} [start] (:CLSN00110:) clsn_agent::abort }
2015-04-23 00:07:57.904: [ AGFW][4248258304]{1:39462:65003} Command: start for resource: ora.orcl.db 2 1 completed with status: TIMEDOUT
2015-04-23 00:07:57.905: [ AGFW][4244055808]{1:39462:65003} Agent sending reply for: RESOURCE_START[ora.orcl.db 2 1] ID 4098:2254177
最后重启集群软件,卡死在哪里,停止不了
实在没有办法了,重启操作系统问题解决,一个简单密码修改操作,会出现这样的问题,由此可见数据库做任何操作都有可能出现问题,而我们只能做好充足的准备。