创建用户时的密码校验问题(r2第34天)

今天需要在测试环境中做一些性能测试,为了不影响原有的数据,准备创建一个临时的schema。但是创建的时候报了如下的错误。 SQL> create user mig_perf identified by mig_perf; create user mig_perf identified by mig_perf * ERROR at line 1: ORA-28003: password verification for the specified password failed ORA-20002: Password same as or similar to user 第一感觉就是开启了密码的校验,11g里面有一个新特性的关于密码的大小写敏感的,会不会有关联呢。似乎有些牵强,但是目前是false选项,表示不对大小写敏感。 SQL> show parameter sen NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sec_case_sensitive_logon boolean FALSE 如果还有问题,就需要从profie的角度入手了,比如登录密码超过10次,账户就会锁定,这些都是在profile里面配置的。 来看看能得到什么信息。 select *from dba_profiles order by profile; SQL> / PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- ---------------------------------------- DBAMON_PF1 COMPOSITE_LIMIT KERNEL UNLIMITED DBAMON_PF1 SESSIONS_PER_USER KERNEL 10 DBAMON_PF1 CPU_PER_SESSION KERNEL UNLIMITED DBAMON_PF1 CPU_PER_CALL KERNEL UNLIMITED DBAMON_PF1 LOGICAL_READS_PER_SESSION KERNEL UNLIMITED DBAMON_PF1 LOGICAL_READS_PER_CALL KERNEL UNLIMITED DBAMON_PF1 IDLE_TIME KERNEL UNLIMITED DBAMON_PF1 CONNECT_TIME KERNEL UNLIMITED DBAMON_PF1 PRIVATE_SGA KERNEL DEFAULT DBAMON_PF1 FAILED_LOGIN_ATTEMPTS PASSWORD 10 DBAMON_PF1 PASSWORD_LIFE_TIME PASSWORD UNLIMITED DBAMON_PF1 PASSWORD_REUSE_TIME PASSWORD UNLIMITED DBAMON_PF1 PASSWORD_REUSE_MAX PASSWORD UNLIMITED DBAMON_PF1 PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION DBAMON_PF1 PASSWORD_LOCK_TIME PASSWORD .0106 DBAMON_PF1 PASSWORD_GRACE_TIME PASSWORD UNLIMITED DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED DEFAULT CPU_PER_SESSION KERNEL UNLIMITED DEFAULT CPU_PER_CALL KERNEL UNLIMITED DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED DEFAULT IDLE_TIME KERNEL UNLIMITED DEFAULT CONNECT_TIME KERNEL UNLIMITED DEFAULT PRIVATE_SGA KERNEL UNLIMITED DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION_11G DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 我创建的新用户,没有指定profile,所以会是默认的default profile,对应的"PASSWORD_VERIFY_FUNCTION" 有一些差别。 看来是对于密码安全的加强,来看看相关的简单测试,看看密码验证还都做了那些校验。 SQL> create user mig_perf identified by mig_perf1; create user mig_perf identified by mig_perf1 * ERROR at line 1: ORA-28003: password verification for the specified password failed ORA-20005: Password same as or similar to user name SQL> create user mig_perf identified by abc; create user mig_perf identified by abc * ERROR at line 1: ORA-28003: password verification for the specified password failed ORA-20001: Password length less than 8 SQL> create user mig_perf identified by abcabc12; User created. SQL> drop user mig_perf; User dropped. 当然了“PASSWORD VERIFY_FUNCTION_11G”其实是一个function来实现的。具体的细节可以在$ORACLE_HOME/rdbms/admin/utlpwdmg.sql中查看。 > ls -lrt utlpwd* -rw-r--r-- 1 oraccbs1 dba 11555 Aug 13 2006 utlpwdmg.sql -- This script sets the default password resource parameters -- This script needs to be run to enable the password features. -- However the default resource parameters can be changed based -- on the need. -- A default password complexity function is also provided. -- This function makes the minimum complexity checks like -- the minimum length of the password, password not same as the -- username, etc. The user may enhance this function according to -- the need. -- This function must be created in SYS schema. -- connect sys/<password> as sysdba before running the script CREATE OR REPLACE FUNCTION verify_function_11G (username varchar2, password varchar2, old_password varchar2) RETURN boolean IS n boolean; m integer; differ integer; isdigit boolean; ischar boolean; ispunct boolean; db_name varchar2(40); digitarray varchar2(20); punctarray varchar2(25); chararray varchar2(52); i_char varchar2(10); simple_password varchar2(10); reverse_user varchar2(32); BEGIN digitarray:= '0123456789'; chararray:= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 。。。。 而且在11g的数据字典里也有所体现,可以看到如下的用户密码是10g,11g的 在dba_users中有一列 password_version ****************************************************************************************************** * General Details * ****************************************************************************************************** USERNAME Default Tablespace CREATED PROFILE PASSWORD_V ------------------------- -------------------- --------- ---------- ---------- MIG_PERF DATAS01 31-MAR-14 DEFAULT 10G 11G 一些相关的链接如下: How To Enforce Mixed Case Passwords When sec_case_sensitive_logon = true? (Doc ID 1307555.1) ORA-603 ORA-604 ORA-1001 ORA-28003 when PASSWORD_VERIFY_FUNCTION Returns FALSE (Doc ID 1264842.1) --这是一个11.2.0.2以前的bug ORA-28003 Error When Use 'Password Complexity Verification' (Doc ID 132096.1) --alter user identified by 错误的WA

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

dbms_xplan之display函数的使用

DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 displ...

802
来自专栏数据和云

运维技巧 - 活用临时表隔离冷热数据

编辑手记:Oracle给了我们很多工具,在日常数据库管理中活用这些工具方可发挥最大效能。 作者简介: 张洪涛 富士康 DBA 在数据库监控过程中发现考勤数据...

3455
来自专栏乐沙弥的世界

参数job_queue_processes与Oracle jobs

Oracle jobs为Oracle开发人员和数据库管理员提供了数据库层面维护的极大便利性。对于Oracle jobs在Oracle 9i之前,是由dbms_...

663
来自专栏深度学习之tensorflow实战篇

SQL处理表结构的基本方法整理(创建表,关联表,复制表)

复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 只复制表结构到新表 CREATE TABLE 新表 SELECT * ...

3744
来自专栏从ORACLE起航,领略精彩的IT技术。

Oracle之SQL优化专题01-查看SQL执行计划的方法3.1 dbms_xplan.display_cursor(null,null,'allstats last')3.2 dbms_xplan.

3375
来自专栏杨建荣的学习笔记

关于分区表的在线重定义(r5笔记第98天)

目前项目中有一个问题,存在一个分区表,因为分区规则的问题,使得分区表中的数据分布很不均匀,数据都分区在了默认的maxvalue分区上。现在需要重新划分分区。从常...

27710
来自专栏乐沙弥的世界

提取用户对象及系统权限DDL

      在工作中难免碰到需要提取用户权限或是不同数据库用户权限的同步问题。我们知道,Oracle数据库的任意一个用户,必须有相应的权限才可以登录以及操纵数据...

723
来自专栏杨建荣的学习笔记

insert中启用错误日志的问题及分析(r2第10天)

在平时的工作中,有时候需要insert一批数据,这些数据可能是临时表,外部表,普通表,子查询等形式,类似下面的格式 insert into xxxx (sele...

2669
来自专栏数据和云

走在专家的路上,每天一条SQL优化(2)

? 每天坚持进步一点点,让优秀成为一种习惯。 SQL文本如下: INSERT INTO BPZONE.EI_ADDITION (EID,ROOTPIID...

2579
来自专栏数据和云

【动手实践】Oracle 12.2 新特性:只读分区的使用和维护

在12.2的分区新特性中引入了只读分区的特性,可以帮助我们将某些分区的数据进行静态化保护。 这一特性通过将表或者分区设置为READ ONLY或者READ WRI...

2757

扫码关注云+社区