Oracle账号被锁定如何解锁

如题所述

今天访问应用的时候,发现账号被锁定,登录oracle后,发现很多用户都被锁定了。看下提示信息,原来是密码过期了导致账号被锁定。这里记录下这几个操作的常用命令,以方便以后自己的使用。
1.查看用户的proifle是哪个,一般是default
SELECT username,PROFILE FROM dba_users;
2.查看对应的概要文件(如default)的密码有效期设置
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3.将概要文件(如default)的密码有效期由默认的180天修改成“无限制”(修改之后不需要重启动数据库,会立即生效)
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4.对已经锁定和过期的账号进行解锁
(1)alter user 用户名 identified by <原来的密码> account unlock; ----不用换新密码,用户名和密码也不用加引号,这个命令会解锁账号,同时取消密码过期。
(2)alter user 用户名 account unlock; ----这个只会解锁账号,而不会取消密码过期,所以建议使用上面的口令
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-01
1、查看环境变量ORACLE_SID的设置情况:
windows: echo %ORACLE_SID%
linux: echo $ORACLE_SID
2、
设置环境变量ORACLE_SID的值为你想登录的oracle实例的SID:
set ORACLE_SID=orcl

键入命令:sqlplus / as sysdba
就可以以sysdba的身份登录到oracle了!
linux系统下,如果找不到sqlplus命令的话,请切换到oracle用户。
在sqlplus窗口执行命令:
alter user you_username identified by you_password;
就可以修改你的用户的密码了~
如果此时用户被锁定,没关系:
既然是被锁住了,那就通过解锁system用户。
SQL> alter user system account unlock;
User altered.
SQL> select username,account_status from dba_users where username='SYSTEM';
USERNAME ACCOUNT_STATUS
---------- --------------------------------
SYSTEM OPEN
SQL>本回答被网友采纳
相似回答