ORA-28001: the password has expired
ORA-28001: 密码已过期

Cause:
      The user's account has expired and the password needs to be changed

Action:
      change the password or contact the DBA


如果已经过期了,首先需要修改密码,然后设置密码为无限期。修改以sys用户登陆。

修改密码:alter user username identified by password      密码可以和之前的密码相同也可以不同。

修改数据库密码为无限期:

Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天。当超出这个时间时,密码就会过期,数据库不能连接。 Oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的。

查看 oracle 数据库的用户的密码过期时间(EXPIRY_DATE结果为空,表示 无限制 ):

select username,account_status,lock_date,expiry_date from dba_users;

一、直接修改用户对应的Profile的密码

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、将密码有效期由默认的180天修改成“无限制”:

alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

例如:

SQL> alter user t_admin identified by Passwd123#;

User altered.

SQL> set line 300;
SQL> select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 SQL> alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Profile altered. SQL> select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED SQL>

  

二、新建一个Profile文件,设置其密码,并设置其为当前用户的Profile文件

1、新建profile "PASSWD_UNLIMIT",规则与DEFAULT一致(因为一个profile中包含很多的项目,我们此时只想修改过期规则,其他的不变)
2、修改profile "PASSWD_UNLIMIT",修改过期规则为UNLIMITED
3、将'MESSERIES'用户适用新的profile "PASSWD_UNLIMIT"

SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
SELECT * FROM dba_profiles s ; --查看用户profile
select username, user_id, account_status,expiry_date, profile from dba_users where username = username; --1. 创建新的profile(PASSWD_UNLIMIT)复制DEFAULT的Script
CREATE PROFILE "PASSWD_UNLIMIT" LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
COMPOSITE_LIMIT UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
PASSWORD_VERIFY_FUNCTION NULL; SELECT * FROM dba_profiles; --2. 修改新建的profile(PASSWD_UNLIMIT),密码过期为不过期
ALTER profile PASSWD_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED; --3. 修改用户的Profile为新的profile
alter user username profile PASSWD_UNLIMIT;

  

最新文章

  1. Power BI FAQ
  2. 7.在AngularJS视图中实现指令
  3. C++练习题
  4. hdu 4738 Caocao's Bridges (tarjan求桥)
  5. UTF-8、UTF-16、UTF-32编码的相互转换
  6. 解决R语言临时文件目录的问题(tempdir、tempfile)
  7. Magento 2 Error: A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
  8. Vue 中 diff 算法后更新 DOM 的方法
  9. 【20180111】【物流FM专访】贝业新兄弟李济宏:我们是如何做到大件家居B2C物流第一的?
  10. h5 input 的验证
  11. SciPy模块应用
  12. array_multisort函数,以及多维数组下排序的应用,并与usort函数对比
  13. UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示
  14. html2canvas如何在元素隐藏的情况下生成截图
  15. 内核通信之Netlink源码分析-用户内核通信原理3
  16. <<Hadoop基础教程》之初识Hadoop【转】
  17. Python+Selenium之HTMLTestRunner
  18. Go语言获取本地IP地址
  19. python基础之try异常处理、socket套接字基础part1
  20. MORMOT数据库连接池

热门文章

  1. IntelliJ IDEA远程Debug Linux的Java程序,找问题不要只会看日志了
  2. vue中饼状图的使用
  3. 轻轻松松学CSS:媒体查询
  4. 04_Python中的35个关键字
  5. JAVA读取文件夹大小
  6. 打包下载zip代码
  7. 通过调用标识符确定this
  8. 第24课 - #pragma 使用分析
  9. C语言01
  10. mariadb 4