如何在 Oracle 中更改用户的密码?

Jos*_*off 8 oracle

如何在 Oracle 中更改用户的密码?

小智 16

更改由 <password> 标识的用户 <user>;


小智 8

使用 alter user 命令更改密码的缺点是命令(和密码)以明文形式通过网络传输。

如果您没有使用任何其他方法来确保安全连接(ssh、Oracle 高级安全性等),我建议您改用 password 命令。

从 Oracle 8 开始,您可以选择使用密码 user_namepassw user_name

SQL> passw scott
Changing password for scott
New password:
Retype new password:
Password changed
Run Code Online (Sandbox Code Playgroud)

皮特·芬尼根 (Pete Finnigan) 发表了一篇关于此主题的帖子


Fer*_*anB 7

扩展@Randy 的答案,您还可以使用以下(未记录的)句子在不知道真实密码的情况下设置密码:

alter user <user> identified by values '<encrypted password>';
Run Code Online (Sandbox Code Playgroud)

您可以PASSWORD在表的列上获取密码的加密值DBA_USERS。它很好,例如将数据库迁移到另一个数据库并在不知道的情况下复制密码。密码所有者不必被打扰。

在某些场景下(例如,如果启用了密码复杂度验证功能),您必须使用以下一种:

alter user <user> identified by '<newpassword>' replace '<currentpassword>';
Run Code Online (Sandbox Code Playgroud)

作为参考,您可以查看Oracle® 数据库 SQL 参考中ALTER USER命令和INDENTIFIED BY子句。

  • 我必须在密码周围使用双引号,否则我会得到 ORA-00988: Fehlende(s) oder ungültige(s) Kennwort(wörter) 00988.00000 - “丢失或无效密码” (2认同)