Oracle 11g R1中大小写敏感的密码(二)

日期: 2008-11-18 翻译:黄永兵 来源:TechTarget中国 英文

  如果我们启用了大小写敏感参数,认证过程就会立即启用大小写验证。


CONN / AS SYSDBA
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;
SQL> CONN test3/Test3
Connected.
SQL> CONN test3/test3
ERROR:
ORA-01017: invalid username/password; logon denied

Warning: You are no longer connected to ORACLE.
SQL>
 

  DBA_USERS视图包括了一列PASSWORD_VERSIONS,它表示密码是由哪个数据库版本创建的或最后修改的。


SQL> SELECT username, password_versions FROM dba_users;
USERNAME                       PASSWORD
—————————— ——–
TEST                           10G 11G
SPATIAL_WFS_ADMIN_USR          10G 11G
SPATIAL_CSW_ADMIN_USR          10G 11G
APEX_PUBLIC_USER               10G 11G
.
.
.
SYSTEM                         10G 11G
SYS                            10G 11G
MGMT_VIEW                      10G 11G
OUTLN                          10G 11G
32 rows selected.
SQL>

 

  用户如果是从Oracle 10g导入的,那么PASSWORD_VERSIONS的值就是“10G”,维护区分大小写的密码不依赖于SEC_CASE_SENSITIVE_LOGON参数设置。假设SEC_CASE_SENSITIVE_LOGON参数被设置为TRUE,密码立即变为大小写敏感。

  orapwd工具的ignorecase参数允许你控制在密码文件中的密码是否大小写敏感,它的默认值是“n”,即默认大小写敏感。如果特权用户(SYSDBA和SYSOPER)是从之前的数据库版本中导入的,它们的密码也会包括在密码文件中,这些用户将会保留大小写敏感的密码,直到密码被修改。

  要在密码文件中创建大小写敏感的密码,使用ingnorecase=y选项重新创建密码文件即可。


$ orapwd file=orapwDB11Gb entries=100 ignorecase=y password=mypassword

  数据库连接的密码也是大小写敏感的,下面列出了在不同数据库版本之间连接时需要注意的问题。

 ◆ 11g连接到11g:创建数据库连接时,密码必须与远程数据库用户的密码大小写一致。
 ◆11g连接到11g以前的数据库:创建数据流连接时用的密码大小写随意,因为远程数据库会忽略大小写的。
 ◆11g以前的数据库连接到11g:必须将远程用户的密码全部修改为大写,只有这样才能通过11g以前的数据库验证。

  参考链接:

  启用或禁用密码大小写敏感:

http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authentication.htm#DBSEG3225
DBA_USERS:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_4206.htm

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐