Oracle用户账号过期终极解决方案
文章目录
- 在这里插入图片描述
- 1.账号过期表现如下图:
- 2.关键的sql命令:
- 2.1 切换用户
- 2.2 首先需要使用dba登录.
- 2.3 执行查询账号是否被锁还是过期
- 2.4 查询账号的管理策略
- 2.5 修改账号的管理策略
- 3.查看账号是过期还是被锁?
- 3.1账号被锁
- 3.2账号过期
- 3.3错误问题描述
1.账号过期表现如下图:
2.关键的sql命令:
2.1 切换用户
从当前用户切换用户到 oracle用户
[root@mysqlw1 /]# su – oracle
2.2 首先需要使用dba登录.
[oracle@mysqlw1 ~]$ sqlplus / as sysdbaSQL*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;
2.3 执行查询账号是否被锁还是过期
select username, account_status from dba_users;
2.4 查询账号的管理策略
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
2.5 修改账号的管理策略
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'