11g口令区分大小写
===========================
由参数sec_case_sensitive_logon控制
参数值为true区分、false为不区分
系统默认情况为区分
--查看当前参数值
SQL> show parameter logon
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon boolean TRUE
--更改测试用户口令
--尝试连接出错
--严格按照大小写输入后才可以登陆
SQL> alter user an identified by An;
User altered.
SQL> conn an/an
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
SQL> conn an/An
Connected.
--修改参数值到false
--关闭识别大小写特征
--关闭后不区分大小写也可以登陆
SQL> alter system set sec_case_sensitive_logon=false;
System altered.
SQL> conn an/an
Connected.
-------------------------
升级中相关的口令大小写问题
使用dbua或者catupgrade.sql升级
原有的口令管理方式是不变的
也就是说升级后原来的密码也是不区分大小写的
如果使用exp或者expdp导入导出数据
则导入后口令不区分大小写
想要使用区分大小写的口令必须手动设置
--------------------------
查看口令版本
SQL> select username,password_versions from dba_users;
USERNAME PASSWORD
------------------------------ --------
SYS 10G 11G
SYSTEM 10G 11G
DBSNMP 10G 11G
AN 10G 11G
dba_users字典表中password_versions字段中如果只有10g一个值
标识数据库升级后原有口令没有改变,口令不区分大小写
如果不是则是区分大小写的
--------------------------
口令文件
使用orapwd创建口令文件,添加ignorecase=n表示创建的口令文件区分大小写
默认情况下是不区分的
--------------------------
用户默认口令
11g增加字典表dba_users_with_defpwd来记录使用默认密码的用户
SQL> select * from dba_users_with_defpwd;
USERNAME
------------------------------
XS$NULL
MDSYS
SPATIAL_WFS_ADMIN_USR
OUTLN
CTXSYS
OLAPSYS
------------------------------
散列密码的查询
11g之前的数据库即使不知道数据库密码,通过字典表dba_users中pwssword字段可以查询出密码的加密散列值
通过记录这个值,可以在修改密码后将系统原有密码重置回去
alter user xx identified by values 'xxxxx';
11g中提高了对散列加密密码的保护
在dba_users中不再记录这个值
如果要查询这个值必须要能够查询users$中的password
SQL> select name,password from user$;
NAME PASSWORD
------------------------------ ------------------------------
SYS 8A8F025737A9097A
-------------------------------
口令验证函数
11g中可以运行脚本utlpwdmg.sql来创建口令验证程序
避免系统中再出现弱口令
11g中合法的口令包括如下种类:
不少于8个字符长度
必须至少一个字母和数字
不能是简单的或者常用的,如welcome1、abcdefg1
不能是oracle或者oracle附加数字1到100
不能是用户名、用户名反拼或者用户名附加1到100的数字
不能是服务器名或者服务器名附加1到100的数字
必须和以前的口令至少相差3个字符
SQL> alter user an identified by oracle1
2 ;
alter user an identified by oracle1
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20001: Password length less than 8
SQL> alter user an identified by welcome1;
alter user an identified by welcome1
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20006: Password too simple
SQL> alter user an identified by Anbaisheng1;
User altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-712732/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13177610/viewspace-712732/