Oracle数据库用户密码过期的解决方法

目录
  • 问题现象:
  • 问题分析:
  • 解决方法:
  • 总结

问题现象:

今天在更改数据库数据的时候,程序报错了,如下:

ORA-28001:the password has expired

问题分析:

很显然,报错原因就是:

密码已过期!

所以现在需要做的事情只有两件:

1.修改密码的过期时间

2.修改/重置密码

这里分析一下为什么要这样做:

1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右);

通过sysdba身份可以登录Oracle数据库,可以查看自己的Oracle数据库版本和数据库默认密码保质期的配置:

LIMIT(180):保存时长为180天

修改为不限期:UNLIMITED,这样以后就不会再出现这个密码过期的问题了,此处需结合项目需求,有些公司是建议定期更换密码的,因此不会设置为UNLIMITED;

2.修改密码:再密码过期后,原密码就失效了,因此需要重新修改密码/重置密码。

解决方法:

1.查询默认的密码保存时间

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

2.修改为不限期,若有定期更换密码的需求,则可以设置为每个密码更换周期所需的天数(如:30:,表示每过30天就需要重置一次密码)

不限期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

30天的密码有效期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 30;

3.确定密码过期的用户,如果不确定,可以通过查询所有用户,并结合用户的创建时间和当前时间的时间差,推测出密码过期的用户:

select * from all_users; 

4.重置密码:

alter user 密码已过期的USERNAME identified by 密码;

重置完即可正常访问数据库,不需要重启数据库!

总结

到此这篇关于Oracle数据库用户密码过期解决的文章就介绍到这了,更多相关Oracle用户密码过期内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • oracle密码过期的彻底解决方案

    越是赶时间,越耽误事,测试环境oracle密码过期. 不多说,解决:设置成永不过期(SIT环境). 1.以sys用户登录管理数据库:查询语句如下,未格式化查询语句.. select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'; 2.修改有效期,提交. alter profile default limit password_life_time unlimited; c

  • Oracle用户密码过期和用户被锁的解决方法

    今天正在上班的过程中,客户反映了他们的系统登录不了,经过我的一番检查,发现是因为数据库密码过期导致的,在网上查找相关资料发现还真有此种情况发生,在此顺便做了个整理,以便共同交流! 产生原因: 在oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 在oracle11g中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 解

  • Oracle数据库用户的密码过期时间如何修改为永不过期

    Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天: 而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户: 所以我们新建一个profile,修改该profile的过期规则为无限期,在让某个用户适用于该profile,则该用户的过期规则会变更. 以下举例:修改MESSERIES用户的密码过期规则为UNLIMITED 1.     新建profile "

  • Oracle密码过期如何取消密码180天限制及密码180天过期,账号锁住的问题

    Oracle密码过期,取消密码180天限制 1.进入sqlplus模式 sqlplus / as sysdba; 2.查看用户密码的有效期设置(一般默认的配置文件是DEFAULT) SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 3.将密码有效期由默认的180天修改成"无限制",修改之后不需要重启动数据库,会立即生效 ALTER PROFILE DEFA

  • Oracle用户密码设为不过期的两种方法

    1.在SQL Plus下,以DBA身份登陆 用户名/密码@服务器SID as sysdba 方法一:(注意必须用双引号把后面的引上) C:/Documents and Settings/ssy>sqlplus sys/system@test as sysdba SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 3月 17 18:01:41 2008 Copyright (c) 1982, 2002, Oracle Corporation. All r

  • Oracle 11g中密码过期问题详解

    密码过期的原因一般有两种可能: 一.由于Oracle中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 二.由于Oracle中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 第一种情况解决方法如下: 1.查看用户用的哪种profile策略,一般是default: 复制代码 代码如下: SQL> select username,p

  • oracle 提示登录密码过期完美解决方法

    oracle 提示登录密码过期解决 1.登录到oracle的 服务器 2.切换到oracle 用户 3.设置到当前操作的实例名:export ORACLE_SID=XXX 4.连接数据库的命令行模式:sqlplus /nolog 5.sql: conn /as sysdba;用dba的身份登录 6.修改过期的用户密码设置: 修改用户密码:alter user XXX identified by XXX 修改用户密码之后,重新使用修改的用户密码连接数据库就ok了,假如仍然还有锁定用户操作, 记得执

  • ORA-28002 Oracle 11g存在密码过期问题解决方案

    故障现象 Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 7 days [11:01:00oracle@dvd db_1]$sqlplus wang/oracle SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 16 11:01:23 2012 Copyright (c) 1982, 2009, Oracle. All rights res

  • Oracle 11G密码180天过期后的修改方法

    由于Oracle11G的新特性所致,经常会遇到使用sqlplus登陆oracle数据库时提示"ORA-28002: 7 天之后口令将过期"等情况. 在Oracle 11G 创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录,提示"ORA-28001: the password has expired" 密码过期后,业务进程连接数据库异常,必然会影响使用与登录. 解放方法: ****************************

  • Oracle数据库用户密码过期的解决方法

    目录 问题现象: 问题分析: 解决方法: 总结 问题现象: 今天在更改数据库数据的时候,程序报错了,如下: ORA-28001:the password has expired 问题分析: 很显然,报错原因就是: 密码已过期! 所以现在需要做的事情只有两件: 1.修改密码的过期时间 2.修改/重置密码 这里分析一下为什么要这样做: 1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右): 通过s

  • 登录oracle数据库时密码忘记的解决方法

    我们在通过http://localhost:1158/em进行登录oracle时,我们忘记密码时,应该怎么办? 运行sqlplus进入输入密码界面 用户名输入: connect as sysdba 密码:这边乱输就可以了 然后进行输入下面的命令: 修改密码命令 alter user system identified by 新密码; 成功后马上登陆发现登陆不了提示用户名被锁所以从新进入运行下面代码解锁 alter user myuser account unlock;

  • Oracle system/用户被锁定的解决方法

    目录 Oracle system用户被锁定 下边是普通用户如何解锁 一些好用的小方法 总结 文章包含了如何解锁system账户,如何解锁普通用户scott的方法,同时在文末也有一些可以解决忘记密码而导致账户被锁的小方法.分享给大家. Oracle system用户被锁定 system用户被锁定了,而其他用户又没有权限对其进行解锁,这个时候该怎么办呢? 首先打开SQL PLUS 然后执行conn /as sysdba,不用输入口令直接登录 登录报错,提示无权限. 接下来打开[计算机管理],选择[本

  • Oracle数据库中ora-12899错误的解决方法

    在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案; 出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899 其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题; 但

  • Oracle数据库TNS常见错误的解决方法汇总

    TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS.本文主要讲述了Oracle数据库TNS常见错误的解决方法如下: 1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用"Net Configuration Assistant"

  • Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 ORA-12801: 并行查询服务器P007中发出错误信号 ORA-01722:无效数字 12801.00000 -"error signaled in parallel query server %s" *Cause: A parallel query server reached an exception cond

  • plsql连接oracle数据库报ora 12154错误解决方法

    plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

  • linux系统oracle数据库出现ora12505问题的解决方法

    说明: (1)Linux版本 Linux version 2.6.32.12-0.7-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +0200 1.查看数据库是否已经启动 命令:ps -ef|grep ora 截图: 2.查看监听(要连接到相应用户(su - oracle),例如:oracle) 命令:l

  • Sybase数据库sa密码丢失后解决方法

    1.在Sybase目录的install子目录的启动server文件  RUN_server(这里的server表示你的服务器名称,如这里我的是RUN_FENGLB)名,编辑该文件,  在其中的"\data\master.dat -sFENGLB"后加入参数 -psa,保存该文件.  2.如果服务器已经启动,先停止之.  3.启动一个DOS窗口,转到上面的install目录,将DOS窗口的属性的屏幕缓冲区大小设置为9999,将执行第1步批处理文件以启动server,在启动之后,将DOS窗

随机推荐