签到成功

知道了

CNDBA社区CNDBA社区

Oracle 18c orapwd 命令 OPW-00029 错误说明

2018-08-31 09:01 5003 0 原创 Oracle 18c
作者: dave

当忘记sys口令的时候,可以使用orapwd命令重建口令文件。但是在Oracle 18c中却会报OPW-00029的错误。http://www.cndba.cn/dave/article/2981http://www.cndba.cn/dave/article/2981http://www.cndba.cn/dave/article/2981http://www.cndba.cn/dave/article/2981

[oracle@www.cndba.cn dbs]$ sqlplus -version

SQL*Plus: Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

[oracle@www.cndba.cn dbs]$ orapwd file=/u01/app/oracle/product/18.3.0/db_1/dbs/orapwcndba password='oracle'  

OPW-00029: Password complexity failed for SYS user : Password must contain at least 8 characters.
[oracle@www.cndba.cn dbs]$

这是因为Oracle 增强了密码验证函数:ora12c_verify_function
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbseg/configuring-authentication.html#GUID-F09749BF-2881-4EE5-B59D-041E4796BAC4

http://www.cndba.cn/dave/article/2981
http://www.cndba.cn/dave/article/2981
http://www.cndba.cn/dave/article/2981
http://www.cndba.cn/dave/article/2981
http://www.cndba.cn/dave/article/2981http://www.cndba.cn/dave/article/2981

The ora12c_verify_function function fulfills the Department of Defense Database Security Technical Implementation Guiderequirements.
This function checks for the following requirements when users create or modify passwords:
    The password contains no fewer than 8 characters and includes at least one numeric and one alphabetic character.
    The password is not the same as the user name or the user name reversed.
    The password is not the same as the database name.
    The password does not contain the word oracle (such as oracle123).
    The password differs from the previous password by at least 8 characters.
    The password contains at least 1 special character.
所以解决方法有两种:
1. 在指定符合验证函数的密码
[oracle@www.cndba.cn dbs]$ orapwd file=/u01/app/oracle/product/18.3.0/db_1/dbs/orapwcndba password='$www.cndba.cn$666'  
[oracle@www.cndba.cn dbs]$
2. 在orapwd命令中指定format到12.2 之前的版本。 该参数默认是12.2. 根据命令帮助,将format指定为12即可。
[oracle@www.cndba.cn dbs]$ orapwd -h
Usage 1: orapwd file=<fname> force={y|n} asm={y|n}
          dbuniquename=<dbname> format={12|12.2}
          delete={y|n} input_file=<input-fname>
          'sys={y | password | external(<sys-external-name>)
                | global(<sys-directory-DN>)}'
          'sysbackup={y | password | external(<sysbackup-external-name>)
                      | global(<sysbackup-directory-DN>)}'
          'sysdg={y | password | external(<sysdg-external-name>)
                  | global(<sysdg-directory-DN>)}'
          'syskm={y | password | external(<syskm-external-name>)
                  | global(<syskm-directory-DN>)}'

[oracle@www.cndba.cn dbs]$ orapwd file=/u01/app/oracle/product/18.3.0/db_1/dbs/orapwcndba password='oracle' format=12  
[oracle@www.cndba.cn dbs]$

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2262
    原创
  • 3
    翻译
  • 579
    转载
  • 192
    评论
  • 访问:8090169次
  • 积分:4350
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ