今天一个用户报告无法登录系统,检查发现系统用户已经尝试太多,出现locked,导致无法进入。因为这个用户属于熟练用户,不应该出现尝试太多无法登录的问题,询问他密码才知道口令中包含@,导致无法连接数据库。
跟踪一下程序发现,用户修改自己的口令时,执行如下:
alter user xxxx identified by "a@" ;
注意在程序中使用了引号,如果没有引号是无法正常执行的,可以肯定口令已经修改为a@,通过orabf破解软件也可以确定(注意必须使用
-c 5 参数)。
在sqlplus测试如下:
如果使用:
sqlplus scott/"a@"@orcl 是无法登录的。
修改为:
set local=orcl
set ORACLE_SID=orcl
sqlplus scott/"a@" 同上。
但是如果使用如下:
sqlplus scott@orcl
进入后输入"a@"(注意要打双引号,是可以登录的)。