Oracle 的账号过期处理
1.账号过期表现如下图:
2.关键的sql命令:
第一步:切换用户
从当前用户切换用户到 oracle用户
[root@mysqlw1 /]# su – oracle
第二步:首先需要使用dba登录.
[oracle@mysqlw1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 15 10:29:16 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select username, account_status from dba_users;
第三步:执行查询账号是否被锁还是过期
select username, account_status from dba_users;
第四步:查询账号的管理策略
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
PROFILE
------------------------------------------------------------
RESOURCE_NAME
----------------------------------------------------------------
RESOURCE_TYPE
----------------
LIMIT
--------------------------------------------------------------------------------
DEFAULT
PASSWORD_LIFE_TIME
PASSWORD
180
第五步:修改账号的管理策略
SQL> alter profile default limit password_life_time unlimited;
Profile altered.
3.查看账号是过期还是被锁?
3.1账号被锁
该账户被锁定执行如下sql
alter user 用户名 account unlock;
eg:SQL> alter user TEST account unlock;
3.2账号过期
该账户过期执行如下sql
alter user 用户名 identified by 密码;(修改密码通把密码进行重置成密码,改变账号状态有EXPIRED改为OPEN)
eg:
3.3错误问题描述
下面可以查询系统中的用户和创建的用户,通过created字段可以看到创建的时间,默认从此刻起,6个月后就密码过期了。就会报ORA-28001: the password has expired 的错误:
select * from dba_users t where t.username = 'EPLATFORMTEST'