ORA-28003:指定口令的口令验证失败

创建用户时提示该问题,通过查阅联机文档中verify_function_11g该函数的相关要求

对密码要求有如下几条:

  • The password contains no fewer than 8 characters and does not exceed 30 characters. 长度在8-30之间

  • The password is not the same as the user name, nor is it the user name spelled backward or with the numbers 1–100 appended.

    不能和用户名相同也不能把用户名倒过来,或者在用户名后面加1-100之间的数字

  • The password is not the same as the server name or the server name with the numbers 1–100 appended.

    不能和数据库服务器名称相同或在后加1-100之间的数字

  • The password is not too simple, for example, welcome1, database1, account1, user1234, password1, oracle, oracle123, computer1, abcdefg1, or change_on_install.

    不能太简单

  • The password is not oracle or oracle with the numbers 1–100 appended.

    不能是oracle或者在后加1-100之间的数字

  • The password includes at least 1 numeric and 1 alphabetic character.

    密码至少包含1个数字和1个字母

  • The password differs from the previous password by at least 3 letters.

    至少有三个字母不同于旧密码

### 解决 Oracle 数据库登录时遇到的用户名或密码无效 (ORA-01017) 的方法 当面对 Oracle 数据库中的 ORA-01017 错误,即“用户名/口令无效; 登录被拒绝”,可以采取多种措施来解决问题。以下是详细的解决方案: #### 诊断问题根源 对于多数据源环境,在项目启动时报 ORA-01017 错误而未指明具体哪个数据库出现问题的情况下,可以通过查询 `dba_audit_session` 表找到具体的连接失败记录[^2]。 ```sql SELECT * FROM dba_audit_session WHERE ACTION_NAME='LOGON' AND RETURNCODE=1017 ORDER BY TIMESTAMP DESC; ``` 此 SQL 查询返回的信息包括: - OS_USERNAME:客户端操作系统登录用户名, - USERNAME:尝试连接但失败的目标数据库名称, - USERHOST:发起请求的主机名, - TIMESTAMP:发生错误的时间戳。 这些信息有助于精确定位哪一用户的认证过程出现了问题以及何时发生的。 #### 修改受影响账户的密码 一旦确认了涉及的具体用户账号,则应考虑重置其密码以排除因凭证过期或输入失误造成的访问障碍。DBA 可以执行如下语句更改指定用户的密码: ```sql ALTER USER ass IDENTIFIED BY new_password123; ``` 如果当前身份不是 DBA 而是一个普通用户想要更新自己的密码,则可以在 SQL*Plus 中运行下面这条指令完成操作: ```bash PASSWORD old_password NewPassword2023!; ``` 请注意,这里假设已经知道了原来的密码 (`old_password`) 并打算将其更改为新的强安全性密码(`NewPassword2023!`)。 #### 处理跨版本兼容性问题 在某些情况下,特别是不同版本之间的远程链接(如从 Oracle 10g 到 11g),可能会由于字符大小写的处理差异而导致 ORA-01017 错误。此时建议统一设置所有相关联的身份验证凭据为全大写字母形式,从而保持一致性并减少潜在冲突的可能性[^3]. #### 配置网络参数文件 针对特定工具(例如 PL/SQL Developer)无法成功建立与目标实例间的通信链路的情况,可能是因为默认配置下不支持所使用的传输层安全协议所致。这时应当编辑位于 `$ORACLE_HOME/network/admin/sqlnet.ora` 文件夹内的 sqlnet.ora 文档,并加入必要的条目确保双方能够顺利握手协商[^4]: ```ini SQLNET.ALLOWED_LOGON_VERSION_SERVER=11 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11 ``` 以上调整旨在允许较低级别的加密标准用于向后兼容目的而不影响整体系统的安全性水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前方五十米掉头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值