1)用户被锁定,但一直无法解锁
说明:在个别现场发现一个用户经常被锁住,刚使用[alter user <user_name> account unlock; commit;]然后仍然无法登录,还是一直报错:用户被锁定。
说明:在个别现场发现一个用户经常被锁住,刚使用[alter user <user_name> account unlock; commit;]然后仍然无法登录,还是一直报错:用户被锁定。
当前用户:
如何
查看当前
连接的
用户
how user;
select sys_context( 'userenv ', 'session_user ') from dual;
select user from dual;
select sys_context( 'userenv ', 'session_user ') from dual;
select user from dual;
查看所有登录的用户
select username from v$session;
select username from v$session;
SQL> select count(*) from v$session;
COUNT(*)
----------
26
SQL> select machine,terminal from v$session;
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SYSTEM AQ_ADMINISTRATOR_ROLE YES YES NO
SYSTEM DBA YES YES NO
SYSTEM MGMT_USER NO YES NO
解决办法:查DBA_USERS表,可以看到用户的状态。是否被锁住(变成LOCKED(TIMED)状态了说明用户被锁定)。
SQL> select USERNAME , ACCOUNT_STATUS from dba_users;
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
MGMT_VIEW OPEN
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
SYSMAN OPEN
SCOTT OPEN
OUTLN EXPIRED & LOCKED
解决:
sqlplus /nolog
conn /as sysdba
alter user <user_name> account unlock; –解锁
alter user <user_name> password expire; –密码过期
alter user <user_name> identified by <password>; –重设密码
或者 alter profile default limit failed_login_Attempts unlimited;
然后登录即可
【注】若要查看任一账户的口令限期,可查询DBA_USERS数据字典视图的Expire_Date列。若用户自己想查看,可查询USER_USERS数据字典视图的Expiry_Date列(通过SQL*Plus或一个基于客户机的查询工具)。