Oracle数据库11g新特性:安全性
2008-12-16 13:03:52 来源:WEB开发网该问题得到了解决,在 Oracle 数据库 11g 中,口令也可以区分大小写。通过 DBCA 创建数据库时,系统会提示您是否希望升级到“新的安全标准”,其中之一就是区分大小写的口令。如果您接受该标准,口令在创建时的大小写状态将被记录下来。假如您接受了新标准,相应的操作结果如下:
SQL> conn scott/tiger
Connected.
SQL> conn scott/TIGER
ERROR:
ORA-01017:invalid username/password; logon denied
Warning:You are no longer connected to ORACLE.
注意对“tiger”和“TIGER”的不同处理方式。
现在,您的某些应用程序可能无法立刻传递大小写正确的口令。典型示例是用户输入表单:很多表单在接受口令时不会进行大小写转换。然而,在 Oracle 数据库 11g中,这种登录方式可能会失败,除非用户以区分大小写格式输入口令,或者开发人员对应用程序进行了修改,使其能够进行大小写转换(这一点不可能迅速实现)。
不过,如果您希望的话,仍然可以通过更改系统参数 SEC_CASE_SENSITIVE_LOGON 恢复到不区分大小写的状态,如以下示例所示。
SQL> conn / as sysdba
Connected.
SQL> alter system set sec_case_sensitive_logon = false;
System altered.
SQL> conn scott/TIGER
Connected.
在将现有 Oracle 数据库 10g 升级到 11g 时,可将口令移植到新标准。可以通过查询 DBA_USERS 视图来检查口令状态,尤其是新的 PASSWORD_VERSIONS 列。
select username, password, password_versions
from dba_users;
USERNAME PASSWORD PASSWORD
------------------------- ------------------------------ ------------------------
SYSTEM 10G 11G
SYS 10G 11G
MGMT_VIEW 10G 11G
您首先会注意到 PASSWORD 列为空,没有像 Oracle 数据库 10g 和以前的版本中那样使用散列值填充。那么,口令出什么问题了?口令仍然存储在数据库中(在表 USER$ 中),但它在 DBA_USERS 视图中不可见。当用户被创建为全局或外部认证时,其状态指示为 GLOBAL 或 EXTERNAL,但不显示口令的散列值。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接