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

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

时间:2023-06-28 21:33:39浏览次数:43  
标签:30 过期 数据库 重置 密码 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.查询默认的密码保存时间

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

1 select * from all_users; 

4.重置密码:

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

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

Oracle数据库用户密码过期的解决方法_oracle_脚本之家 (jb51.net)

标签:30,过期,数据库,重置,密码,Oracle
From: https://www.cnblogs.com/roak/p/17512615.html

相关文章

  • sqflite数据库处理中的conflictAlgorithm属性
    sqflite中的conflictAlgorithmconflictAlgorithm是在数据插入或更新时发生冲突(例如违反唯一性约束)时的解决策略。在Dart的sqflite库中,有以下四种冲突解决策略:ConflictAlgorithm.rollback:回滚事务,放弃所有更改。ConflictAlgorithm.abort:放弃当前操作,但不回滚事务。ConflictAlgo......
  • mysql连接另一台电脑机器数据库
    方法一:1.开放被访问机器端口:在windows防火墙的高级设置中添加新的入站规则,选择端口选项,然后选择TCP协议,端口输入3306,其他选项按照默认即可。2.假设192.168.1.3为服务器3.首先在ip为192.168.1.103的机子上能够ping通4.把两台电脑的IP设置在同一个网段,如:192.168.1.2,192.168.1.3......
  • pmm1安装部署oracledb_exporter
    ########################被监控的oracle服务器上安装##################1.下载下载地址https://github.com/iamseth/oracledb_exporter#installationoracledb_exporter.tar.gz二进制文件包该文件里只有一个可执行文件oracledb_exporter-0.5.0.tar.gz源码包,我们需要解压该包......
  • 【Oracle】使用PL/SQL快速查询出1-9数字
    【Oracle】使用PL/SQL快速查询出1-9数字简单来说,直接RecursiveWITHClauses在Oracle里面就直接使用WITHresult(参数)即可WITHresult(num)AS(SELECT1ASnumfromdualUNIONALLSELECTnum+1ASnumFROMresultWHEREnum<9)SELECTnumFROMresult......
  • Linux - 操作mysql数据库
    运行环境Ubuntu20.04虚拟机Mysql8.0APIlibmysqlclient-devgcc9.4.0一、准备工作1、在Ubuntu上准备mysql开发环境更新软件源sudoaptupdate安装libmysqlclient-dev,这个lib库是Linux下C/C++连接mysql的客户端sudoaptinstalllibmysqlclient-dev2、创建测试数据库......
  • 使用 SQLAlchemy 库来实现对 MySQL 数据库的增删改查
    在 Flask 中使用SQLAlchemy库来实现对MySQL数据库的增删改查fromflaskimportFlask,request,jsonifyfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql://username:password@localhost/dbname'ap......
  • 数据库 - 不同数据库将表、字段、描述保存到Excel
    不同数据库将表、字段、描述保存到Excel查询语句SqlServerSELECT表名=CASEWHENA.COLORDER=1THEND.NAMEELSE''END,表备注=CASEWHENA.COLORDER=1THENISNULL(F.VALUE,'')ELSE''END,列序号=A.COLORDER,列名称=A.NAME,标识=CASEWHENCOLUMNPROPERT......
  • C++ - 连接mysql数据库
    1.准备工作1.1把libmysql.dll和libmysql.lib文件复制到工程目录下首先,我们要找到刚刚开始下载的MySQL数据库的安装目录,打开目录,并且将libmysql.dll文件和libmysql.lib文件复制到工程目录下~我安装MySQL的路径:C:\ProgramFiles\MySQL\MySQLServer5.7\lib 1.2......
  • 数据库基础知识
    数据库设计范式:第一范式每一列不能在进行换划分,第二范式每一张表都有自己的使命,且做的事相近。https://www.cnblogs.com/zl181015/p/9242699.html 查询执行顺序:from->on->join->where->groupby->having->count(聚合函数)->select->distinct->orderby->......
  • ① Oracle数据库有多个实例,并且不知道sys密码情况下如何更新密码
    ①Oracle数据库有多个实例,并且不知道sys密码情况下如何更新密码sqlplus/@orclassysdba--@orcl是实例名②修改sys密码alterusersysidentifiedby123456;......