密码大小写敏感是Oracle 11g数据库默认的一个新特性,数据库配置助手(DBCA)在创建数据库期间允许你将这个设置返回到11g以前的功能。
SEC_CASE_SENSITIVE_LOGON初始化参数控制密码大小写是否敏感,如果现有应用程序与11g的认证过程冲突,你可以使用ALTER SYSTEM命令将这一功能关闭。
SQL> SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON NAME TYPE VALUE ———————————— ———– —————————— sec_case_sensitive_logon boolean TRUE SQL> SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; System altered. SQL> |
下面的代码说明了密码大小写敏感的功能,首先,将SEC_CASE_SENSITIVE_LOGON初始化参数设置为TRUE,然后创建一个新用户,其密码包含大小写字母。
CONN / AS SYSDBA ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE; CREATE USER test2 IDENTIFIED BY Test2; GRANT CONNECT TO test2; |
使用新创建的用户正确的连接字符和大小写错误的密码进行连接尝试,会看到大小写敏感功能起作用了。
SQL> CONN test2/Test2 Connected. SQL> CONN test2/test2 ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. SQL> |
将SEC_CASE_SENSITIVE_LOGON初始化参数设置为FALSE后就不区分密码大小写了。
CONN / AS SYSDBA ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; SQL> CONN test2/Test2 Connected. SQL> CONN test2/test2 Connected. SQL> |
需要记住的是,即使大小写敏感密码参数没有启用,在保存密码时也是区分了大小写的,以便以后在启用大小写敏感参数时有效,下面的代码先禁用了大小写敏感密码,然后创建了一个包含大小写字符密码的用户。
CONN / AS SYSDBA ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; CREATE USER test3 IDENTIFIED BY Test3; GRANT CONNECT TO test3; |
正如你预料之中的那样,登陆时不用考虑密码的大小写。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
DBA在使用SQL语句时需要注意的问题
Michael McLaughlin是Oracle 11g和MySQL 5.6开发者指南的作者,他在书中为Oracle数据库开发者提供了一些建议与帮助。
-
Oracle数据库不同版本的硬件需求
每个企业的IT环境都是不同的,这些环境中可能会包含虚拟服务器、各种网络操作系统、基于云计算的服务、SAN等等,根据应用场景选择硬件是基本的准则。
-
Oracle 11g SQL性能分析器技术指南
当今信息时代要求企业的IT系统能够始终保证系统的性能并且提供更高的服务质量,我们的IT系统经常要面对应用程序升级、硬件更新、数据库升级、对象结构变更等导致SQL性能下降的问题。
-
Oracle 11g SecureFile技术详解手册
SecureFile不仅是新一代 LOB,它们还为 LOB 带来了更多的价值,尤其是以前只能在文件系统领域中获得的特性。