oracle用户连接失败

错误信息:error:the  account is locked

产生该错误的原因可能是由于以下因素:

1、尝试多次登录未成功(可能是密码不正确)

2、此用户被管理员手工锁定

3、用户密码到期,未按时修改密码等等

解决办法:

看来 scott 这个用户肯定是登陆不了了,然后我用尝试着用 system 这个用户登录,我记得在安装 Oracle 11g 的时候曾提示输入密码,然后我自己输了一个,结果我用自己原先设定的密码试了一下果然连接上了。可见来在 oracle 11g 的 system 这个用户的密码并不是默认的,而是安装的时候自己设定的。

用 system 登录进去之后,执行下面的命令:
SQL> alter user scott account unlock;
用户已更改。

这样就完成解锁的操作。接下来,你还可以重新给 scott 这个用户设定密码。
修改scott的登录密码:
SQL> alter user scott identified by tiger;
用户已更改。

大功告成,此时你再拿 scott 和 tiger 来登录就可以了!
SQL> conn scott/tiger
已连接。

关于用户密码到期:在创建用户时,oracle默认用户密码保存180天。

修改用户密码默认时间:

  1. 查看用户的proifle是哪个,一般是default:

    sql>SELECT username,PROFILE FROM dba_users;

  2.  查看指定概要文件(如default)的密码有效期设置:

    sql>SELECT * FROM dba_profiles s WHERE s.profile=\'DEFAULT\' AND resource_name=\'PASSWORD_LIFE_TIME\';

     

  3.  将密码有效期由默认的180天修改成“无限制”:

    sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    修改之后不需要重启动数据库,会立即生效。

     

  4.  修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;

     已经被提示的帐户必须再改一次密码,举例如下:

    $sqlplus / as sysdba

    sql> alter user smsc identified by <原来的密码> ----不用换新密码

    oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。

     

posted @ 2016-06-15 09:19  步履蹒跚的小孩  阅读(150)  评论(0编辑  收藏  举报