我在 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
我已经参考了很多链接,但仍然存在同样的问题,如何解决这个问题?
Reset Password
。或使用 alter user username identified by newpassword replace oldpassword
。
Reset Password
被禁用,则转到此处。thatjeffsmith.com/archive/2012/11/…
system
是 SYSTEM
用户的原始密码吗?
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter user EPUSR100 identified by EPUSR100 account unlock;
commit;
我已经解决了这个问题,只需要检查:
open_mode from v$database
然后检查:
check account_status to get mode information
然后使用:
alter user myuser identified by mynewpassword account unlock;
检查“PASSWORD_LIFE_TIME”
Sql > select * from dba_profiles;
设置为永不过期
Sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
然后重置锁定用户的密码。
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;
连接到甲骨文
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;
即使更改密码后我也遇到了同样的问题,但它没有反映在 SQLDEVELOPER 中。
Atlast 以下解决了我的问题:
打开命令提示符键入 sqlplus login as sysdba 运行以下命令:alter user USERNAME identify by NEW_PASSWORD;
我有同样的问题,我正在尝试登录数据库,它出现一条消息:“ORA-28001:密码已过期”,我已经解决了问题简单的步骤
1.打开命令提示符 2.输入 sqlplus 3.会询问输入密码,你可以输入旧密码,会显示密码已过期 ORA-28001 4.会询问新密码并重新输入密码 5.会更改为新密码6.进入sql数据库,尝试用新密码连接,即可连接。
要知道哪些用户已过期,请运行命令 SELECT * FROM
要解锁用户,请运行命令 alter user identify by account unlock;
我在 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; …使用上一步中的用户名和密码。
这是此处和其他地方的其他答案的组合。
简单.. 转到命令提示符并键入 SQLPLUS /@connect string 按 Enter。
它说密码已过期并提供输入新密码的选项。输入新密码,您就完成了。
只要到你的数据库所在的机器,搜索windows -> search SqlPlus 输入用户名,然后输入密码,它会提示你输入新密码。在提供新密码时,它会说成功更改密码。
你在错误的 cdb/pdb 中,所以连接到正确的 pdb