错误信息: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天。
修改用户密码默认时间:
-
查看用户的proifle是哪个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
-
查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile=\'DEFAULT\' AND resource_name=\'PASSWORD_LIFE_TIME\';
-
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
-
已经被提示的帐户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by <原来的密码> ----不用换新密码
oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。