在 Oracle 中为特定用户设置新密码时需要旧密码

Jos*_*and 5 database oracle change-password oracle12c

Oracle 12 是否支持在更改特定用户的密码时使用旧密码?

我想要什么:

ALTER USER user_a IDENTIFIED BY secret123;
-- ERROR, missing old password

ALTER USER user_a IDENTIFIED BY secret456 REPLACE secret123;
-- OK

ALTER USER user_b IDENTIFIED BY secret789;
-- OK, since user_b does not require old password when changing it
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mar*_*ber 0

甲骨文文档

如果您是第一次设置自己的密码,或者您具有 ALTER USER 系统权限并且要更改其他用户的密码,则可以省略 REPLACE 子句。但是,除非您具有 ALTER USER 系统权限,否则如果启用了密码复杂性验证功能,则必须始终指定 REPLACE 子句...

所以答案是 - 添加一个password verification function到那些应该提供旧密码的用户(并撤销他们的密码更改系统权限)。