Oracle 11g密码过期问题及解决方案

问题:

在自用的一个系统里,连接的是本地自建的一个数据库。用sqldeveloper登录数据库。提示如下图:

提示:密码过期

解决方案:

密码过期一般存在两种可能:

  1. 由于Oracle中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
  2. 由于Oracle中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。

首先用dba数据库超级管理员登录该数据库,然后进行以下操作

第一种情况解决方案:

  1. 查看用户用的哪种profile策略,一般是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

结果:

  4.修改密码,相当于重置密码

代码:

alter user GAEA_WHGT identified by 111111

结果:

注意:该处的GAEA_WHGT指数据库的用户名,111111指修改后的密码(改密码也可以与原先的密码一样)

  5.修改成功后即用已修改的用户名与密码登录。测试状态显示成功。则说明密码修改成功。

注意:

数据库密码有效期也可以不用更改,直接进行第四步修改密码即可,但这新修改的密码在180天后还会出现密码过期的问题。

第二种情况解决方案:

1.查看用户用的哪种profile策略,一般是default:

代码:

select username,profile from dba_users

结果:

2.查看指定概要文件(如default)的密码次数设置:

代码:

SELECT * FROM dba_profiles s WHERE s.profile=‘DEFAULT‘ AND resource_name=‘FAILED_LOGIN_ATTEMPTS‘

结果:

3.将尝试登录失败次数由默认的10次修改成“无限制”:

代码:

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

结果:

4.修改后,还没有被提示ORA-28000警告的用户不会再碰到同样的提示; 已经被锁定的帐户必须解除锁定,举例如下:

代码:

alter user GAEA_WHGT identified by oracle account unlock

结果:

5.修改后default profile应该如下
代码:

select * from dba_profiles WHERE
dba_profiles.profile=‘DEFAULT‘

结果:

6.修改之后不需要重启动数据库,会立即生效。 如果出现ORA-28000 the account is locked.错误

代码:

alter
user 用户名 account unlock

原文地址:https://www.cnblogs.com/lcword/p/12460563.html

时间: 2024-08-02 18:45:10

Oracle 11g密码过期问题及解决方案的相关文章

oracle 11g密码过期问题解决方法

ORACLE 11G密码过期问题: 1.使用oracle用户进入sql编辑器中执行修改密码(原始密码,保持不变)的命令 sql>alter user 用户名 identified by "密码"; 2.查看用户的proifle是那个,一般是default:sql>SELECT username,PROFILE FROM dba_users; 3.查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WH

Oracle 11g 密码过期被锁报 ORA-28000 the account is locked

一.触发这个错误的原因及相关因素 是由于oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致,在Oracle 11g中是 存在密码过期问题的. 二.错误现象: 用户被锁定之后会报ORA-28000的错误,并提示无法登录到数据库 SQL> conn system/oracle ERROR: ORA-28000: the account is locked Warning: You are no longer connect

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

[原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. [影响和风险] 影响    密码过期后,业务进程连接数据库异常,影响业务使用.    问题发生频率    数据库密码过期后,业务进程一旦重启会提示连接失败. [解决方案] 按照如下步骤进行操作: 1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_user

11g oracle 用户密码过期问题

Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天.如下:select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';过期的密码可用alter user userXXX identified by xxx;解决,可以修改为和以前一样. 如果想设置密码不过期,可用管理员登陆,然后执行: ALTE

Oracle 11g 密码永不过期设置

[原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致. [影响和风险] 影响 密码过期后,业务进程连接数据库异常,影响业务使用. 问题发生频率 数据库密码过期后,业务进程一旦重启会提示连接失败. [解决方案] 按照如下步骤进行操作: 1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如de

Oracle用户密码过期问题解决

一.用户密码即将过期,导致autotrace无法打开           如果用户密码即将过期,在登录数据库时会收到如下提示:           ERROR:            ORA-28002: the password will expire within 7 days           当然,此时密码还未真正过期,用户在收到错误提示后依然可以登录数据库.但是,如果当收到密码即将过期的提示,想要开启autotrace就会有问题. SQL> conn darren/darren ER

oracle数据库密码过期报错

[[email protected] ~]# su - oracle [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 15 09:23:28 2015 Copyright (c) 1982, 2009, Oracle.  All rights reserved. Connected to: Oracle Database 11g Enterprise Edi

oracle用户名密码过期引起的网站后台无法登录

本来今天休息,但是接到同事反映:客户的WEB无法登录了,网站能打开,但是后台登录不了. 我就联系了客户,客户说是WEB用户的密码过期导致的,默认是180天到期. 接着就是我的操作流程了: 1.先从WEB服务器上telnet Oracle数据的1521端口,发现是通的. 2.登录到客户的数据库服务器,以sys用户sysdba角色登录.查看oracle数据库的打开状态和读写状态: 3.我查看客户的网站目录: 4.查看客户网站连接oracle数据库的JDBC文件配置: 5.在oracle数据库中查看W

Oracle 11g password过期被锁定报道 ORA-28000 the account is locked

一.触发这个错误的原因及相关因素 是因为oracle11g中默认在default概要文件里设置了"PASSWORD_LIFE_TIME=180天"所导致.在Oracle 11g中是 存在password过期问题的. 二.错误现象: 用户被锁定之后会报ORA-28000的错误,并提示无法登录到数据库 SQL> conn system/oracle ERROR: ORA-28000: the account is locked Warning: You are no longer c