ORA-28001: the password has expired解决方法

Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未修改过,就会出现这样的问题。

解决方法可通过如下SQL语句

注: 首先需要使用dba登录.

运行SQLPlus命令行工具, 输入:

connect as sysdba;

输入dba的用户名和密码后进行.

SELECT * FROM dba_profiles WHERE profile=’DEFAULT’ AND resource_name=’PASSWORD_LIFE_TIME’

查询密码的有效期设置,LIMIT字段是密码有效天数。

在密码将要过期或已经过期时可通过如下语句进行修改密码,密码修改后该用户可正常连接数据库。

ALTER USER 用户名 IDENTIFIED BY 密码 ;

如果想去除180天的密码生存周期的限制可通过如下SQL语句将其关闭

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

如上SQL语句将口令有效期默认值180天修改成了“无限制”。但是出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议大家定期修改数据库用户口令。

Oracle密码过期the password has expired解决办法

oracle 出现the password has expired这个问题,今天突然发现项目访问不了,一查发现用不了,也登不进去,

这个问题由是Oracle11g密码过期的原因导致的

调试Web项目的时候出现异常:

java.sql.SQLException: ORA-28001: the password has expired

网上查了一下,连接Oracle,以Oracle用户登陆,输入以下命令

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



结果显示密码有效期是180天

输入命令:

alter profile default limit password_life_time unlimited;

commit;

再次执行:

select * from dba_profiles where profile=’DEFAULT’ and resource_name=’PASSWORD_LIFE_TIME’;

结果显示为:

PROFILE

RESOURCE_NAME

RESOURCE_TYPE

LIMIT

DEFAULT

PASSWORD_LIFE_TIME

PASSWORD

UNLIMITED

进行以上步骤之后需要改变密码,否则还会出现password has expired异常

改变密码的命令

alter user XXXUSER identified by Welcome1;

如果账号被锁住,则需要解锁命令

alter user XXXUSER identified by oracle account unlock;

再次调试,问题解决

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 15:45:17

ORA-28001: the password has expired解决方法的相关文章

ORACLE错误:ORA-28001: the password has expired解决方法

Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录. Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未修改过,就会出现这样的问题.解决方法有两种:解决方法可通过如下SQL语句注: 首先需要使用dba登录

wamp出现问题#1045 - Access denied for user 'root'@'localhost' (using password: NO)的解决方法

打开wamp->apps->phpmyadmin目录下面的config.inc.php文件 cfg['Servers'][$i]['verbose'] = 'localhost';$cfg['Servers'][$i]['host'] = 'localhost';$cfg['Servers'][$i]['port'] = '';$cfg['Servers'][$i]['socket'] = '';$cfg['Servers'][$i]['connect_type'] = 'tcp';$cfg[

mysql 忘记了root的password(linux下解决方法,window同理)

mysql 忘记了root的password的时候的解决步骤, 1: cd /etc/mysql/(进入mysql的配置文件夹) 2:vim my.cnf \skip-grant-tables(进入mysql的配置文件,在配置文件里增加跳过"授权表"的命令) 3:/etc/init.d/apache restart(重新启动mysql就能够了) 4:命令行输入mysql(直接进入数据库) 5:然后进入mysql->user->(update user set Passwro

zabbix启动报错:Connection to database 'xxx' failed解决方法

Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 本文讲解的是zabbix无法启动报错:Connection to database 'xxx' failed: [1045] Access denied for user 'xxx'@'localhost' (using password: NO)

.net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法

状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出"错误 1001 在初始化安装时发生异常xxx"的异常.(前提是你的安装部署中加入了"自定义操作",并为其传值). 查找原因原来是"自定义操作"中CustomActionData值有误造成.未出错前的CustomActionData. /DbName=[DBNAME] /ServerName=[SERVERNAME] /Us

ORA-28001: the password has expired

大早上正式库提示: Oracle提示错误消息ORA-28001: the password has expired 解决办法: 1.利用SYSDBA权限登陆: 2.查看账户信息:select username,account_status from dba_users 3.如果账户locked/expired, 得先解锁: alter user BJMMIS account unlock; 再修改密码 alter user BJMMIS identified by newpwd; 一劳永逸破解1

MYSQL安装时解决要输入current root password的解决方法

在装MYSQL的时候发现要输入current root password不记得以前在电脑里装过(你的系统曾经装过MYSQL在重装就会要求输入原来设定的密码,如果是第一次安装就不会出现),在网上苦苦搜寻解决方法. 终归结出以下解决方法: 1.清除MYSQL的安装目录,默认是C:\Program Files 2.清除MYSQL数据存放目录,一般在C:\Documents and Settings\All Users.windows\Application Data目录下 (需要注意的时Applica

Access denied for user 'root'@'localhost' (using password:YES) 解决方法

当遇到应用程序连不上MySQL但是workbench可以连接上时,使用 workbench 进入 Server Administration 选项卡,进行服务端管理,然后进入 SECURITY-Users and Privileges选项卡,依下图设置即可. Access denied for user 'root'@'localhost' (using password:YES) 解决方法

Oracle 11g 错误:ORA-28002: the password will expire within 7 days 解决方法

ERROR:ORA-28002: the password will expire within 7 days 错误是提示password快过期了,有两个办法解决问题. 一. 改动已经报错用户的password 已经被报告了password快要过期的账户必须再改一次password(须要DBA权限) 以system用户为例 sqlplus / as sysdba alter user system identified by root; 再连接数据再也不会出现password过期的事情了. 假设