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

gengliting3

gengliting3

2016-02-19 18:30

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享Oracle 11g R1中大小写敏感的密码教程,希望对大家能有一点小小的帮助。

  密码大小写敏感是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;

  正如你预料之中的那样,登陆时不用考虑密码的大小写。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

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

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  ◆11g连接到11g:创建数据库连接时,密码必须与远程数据库用户的密码大小写一致。

  ◆11g连接到11g以前的数据库:创建数据流连接时用的密码大小写随意,因为远程数据库会忽略大小写的。

  ◆11g以前的数据库连接到11g:必须将远程用户的密码全部修改为大写,只有这样才能通过11g以前的数据库验证。

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
Oracle 11g R1中大小写敏感的密码

Word2007中大小写字母转换

word
Word2007中大小写字母转换

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何区分大小写比较?

SQLServer
如何区分大小写比较?

Word快速更改文字大小写

办公软件
Word快速更改文字大小写

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何使replace方法不区分大小写?

ASP
如何使replace方法不区分大小写?

Oracle 11g数据库如何实现自我调整功能

编程语言 网络编程
Oracle 11g数据库如何实现自我调整功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

powerpoint2007设计立体图片和图形效果

powerpoint2007设计立体图片和图形效果

Win10快速更换登录背景图片的方法

Win10快速更换登录背景图片的方法
下拉加载更多内容 ↓