ChatGPT解决这个技术问题 Extra ChatGPT

ORA-28001: 密码已过期

我在 Oracle 中遇到了关于我的数据库的问题,当我打开我的数据库时,出现一条消息:“ORA-28001:密码已过期”

我用一些人更新了我的帐户:

sqlplus /nolog
SQL> connect / as SYSDBA
Connected.

SQL> SELECT username, account_status FROM dba_users WHERE ACCOUNT_STATUS LIKE '%EXPIRED%';

SQL> ALTER USER system IDENTIFIED BY system;         
User altered.

SQL> ALTER USER system ACCOUNT UNLOCK;
User altered.

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.

SQL> exit

我检查并看到,我的帐户:'system' 已打开,但我在 Oracle SQL Developer 上打开它,它仍然有警报:

ORA-28001: The password has expired

我已经参考了很多链接,但仍然存在同样的问题,如何解决这个问题?

它会提示您输入新密码吗?或转到 SQL*PLUS 并尝试登录,它会提示您输入新密码。或右键单击连接名称,您将在上下文菜单中看到 Reset Password。或使用 alter user username identified by newpassword replace oldpassword
在 SQL 开发人员中,重置密码被禁用,我使用提示:alter user username identify by newpassword replace oldpassword,但是它是相同的错误:(
看来我无法连接到数据库
您是否尝试过使用 SQL*PLUS?否则,如果 Reset Password 被禁用,则转到此处。thatjeffsmith.com/archive/2012/11/…
systemSYSTEM 用户的原始密码吗?

O
OmG
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter user EPUSR100 identified by EPUSR100 account unlock;
commit;

g
giannis christofakis

我已经解决了这个问题,只需要检查:

open_mode from v$database

然后检查:

check account_status to get mode information

然后使用:

alter user myuser identified by mynewpassword account unlock;

我只使用了“更改用户”并且它有效。前两个语句是干什么用的?
m
mahesh kumar thiruveedula

尝试连接 SQL Plus 中密码已过期的用户。它将提示输入新密码。输入新密码并确认密码。

它会工作

SQL Plus output image


D
Dhaval Simaria

检查“PASSWORD_LIFE_TIME”

Sql > select * from dba_profiles;

设置为永不过期

Sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

然后重置锁定用户的密码。


我尝试使用以下方式重置:更改由 new_password 帐户解锁识别的用户系统; , 但同样的错误
T
Taravat
C:\>sqlplus /nolog
SQL> connect / as SYSDBA
SQL> select * from dba_profiles;
SQL> alter profile default limit password_life_time unlimited;
SQL> alter user database_name identified by new_password;
SQL> commit;
SQL> exit;

对于系统用户;您需要使用以下命令重新设置密码:“alter user system identify by newpa$$word;”
H
Harisudha

连接到甲骨文

https://i.stack.imgur.com/C6m75.png

检查用户的状态和到期日期

从 dba_users 中选择用户名、帐户状态、到期日期;

https://i.stack.imgur.com/cdKH1.png

更改用户密码以解决到期问题

ALTER USER dummy_user IDENTIFIED BY dummy_password;

https://i.stack.imgur.com/GvT9B.png

解锁用户帐户,如果它被锁定

ALTER USER dummy_user 帐户解锁;

将密码过期限制设置为无限制以避免将来出现问题

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

https://i.stack.imgur.com/S2oj9.png

再次检查用户的状态以验证到期日期。帐户状态现在是开放的,到期日期是无限的。

从 dba_users 中选择用户名、帐户状态、到期日期;

https://i.stack.imgur.com/jlJNw.png

SQL 命令:

sqlplus sys/root 作为 sysdba

从 dba_users 中选择用户名、帐户状态、到期日期;

ALTER USER dummy_user IDENTIFIED BY dummy_password;

ALTER USER dummy_user 帐户解锁;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


S
Shweta

即使更改密码后我也遇到了同样的问题,但它没有反映在 SQLDEVELOPER 中。

Atlast 以下解决了我的问题:

打开命令提示符键入 sqlplus login as sysdba 运行以下命令:alter user USERNAME identify by NEW_PASSWORD;


k
keertijava

我有同样的问题,我正在尝试登录数据库,它出现一条消息:“ORA-28001:密码已过期”,我已经解决了问题简单的步骤

1.打开命令提示符 2.输入 sqlplus 3.会询问输入密码,你可以输入旧密码,会显示密码已过期 ORA-28001 4.会询问新密码并重新输入密码 5.会更改为新密码6.进入sql数据库,尝试用新密码连接,即可连接。


S
Sarath

要知道哪些用户已过期,请运行命令 SELECT * FROM ;

要解锁用户,请运行命令 alter user identify by account unlock;


M
Manngo

我在 Docker 容器中运行 Oracle 18c,其中有问题的数据库是可插拔数据库,所以我不得不采取不同的方法:

登录 SYSDBA 切换到 Pluggagle 数据库 ALTER SESSION SET CONTAINER=XEPDB2;删除密码到期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;获取当前用户详细信息 SELECT dbms_metadata.get_ddl('USER','username') stmt from dual;用您自己的用户名替换上面的用户名。输出将类似于: CREATE USER "..." IDENTIFIED BY VALUES '...' 要重置密码,运行如下: ALTER USER "..." IDENTIFIED BY VALUES '...' ACCOUNT UNLOCK; …使用上一步中的用户名和密码。

这是此处和其他地方的其他答案的组合。


N
Nataraj Babu C

简单.. 转到命令提示符并键入 SQLPLUS /@connect string 按 Enter。

它说密码已过期并提供输入新密码的选项。输入新密码,您就完成了。


还有其他答案(和一个接受的答案)提供了 OP 的问题,它们是前一段时间发布的。发布答案 see: How do I write a good answer? 时,请确保添加新的解决方案或更好的解释,尤其是在回答较旧的问题时。
A
Akshay Kumar Sharma

只要到你的数据库所在的机器,搜索windows -> search SqlPlus 输入用户名,然后输入密码,它会提示你输入新密码。在提供新密码时,它会说成功更改密码。


u
user3380585

你在错误的 cdb/pdb 中,所以连接到正确的 pdb


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅