1.dba_user表的password(除了GLOBAL和EXTERNAL的密码)不再保存密码。

查询10g的dba_user表

SQL> select username,password from dba_users;

USERNAME                  PASSWORD
------------------------- ------------------------------
SYS                       4CCF4A082AD3F312
SYSTEM                    34F99ED804364129
GP                        BA5BE92FE6F36B67
REPADMIN                  915C93F34954F5F8
HYY                       A7AEE33D853BFBC8
OUTLN                     4A3BA55E08595C81
MGMT_VIEW                 05CB73340B23910C
MDSYS                     72979A94BAD2AF80
ORDSYS                    7EFA02EC7EA6B86F
EXFSYS                    66F4EF5650C20355
DMSYS                     BFBA5A553FD9E28A
DBSNMP                    E066D214D5421CCC
WMSYS                     7C9BA362F8314299
CTXSYS                    71E687F036AD56E5
ANONYMOUS                 anonymous
SYSMAN                    447B729161192C24
XDB                       88D8364765FCE6AF
ORDPLUGINS                88A2B2C183431F00
SI_INFORMTN_SCHEMA        84B8CBCA4D477FA3
OLAPSYS                   4AC23CC3B15E2208
SCOTT                     F894844C34402B67
ORACLE_OCM                5A2E026A9157958C
TSMSYS                    3DF26A8B17D0F29F
MDDATA                    DF02A496267DEE66
DIP                       CE4A36B8E06CA59C

  

查询11g的dba_user表

SQL> select username,password from dba_users;

USERNAME                  PASSWORD
------------------------- ----------
SYSTEM
SYS
MGMT_VIEW
DBSNMP
SYSMAN
ISC
TEST
LZQ
SCOTT
SURE
SS
OUTLN
OLAPSYS
SI_INFORMTN_SCHEMA
OWBSYS
ORDPLUGINS
XDB
ANONYMOUS
CTXSYS
ORDDATA
OWBSYS_AUDIT
APEX_030200
APPQOSSYS
WMSYS
EXFSYS
ORDSYS
MDSYS
FLOWS_FILES
SPATIAL_WFS_ADMIN_USR
SPATIAL_CSW_ADMIN_USR
APEX_PUBLIC_USER
DIP
MDDATA
XS$NULL
ORACLE_OCM

35 rows selected.

发现11g中password列值为空了。

这是因为虽然密码是经过加密存储的,但是从信息安全的角度来看,暴露的信息越多越不安全,所以即使是加密后的密码泄漏,也可能造成很严重的安全问题。所以作为11g的一个新特性,在dba_users的password列不再保存密码了。

那么问题就来了,如果我要做用户的迁移怎么办?呵呵,alter user identified by values依然可用。我们可以直接去查询sys.user$这张表。

SQL> select name,password from sys.user$ where name in (select username from dba_users);

NAME                      PASSWORD
------------------------- -------------------------
SYSTEM                    34F99ED804364129
SYS                       4CCF4A082AD3F312
MGMT_VIEW                 9F4137A5B1A2E1AC
DBSNMP                    10D93CA858E0F50D
SYSMAN                    4D4568914D47DF1D
ISC                       373F527DC0CFAE98
TEST                      7A0F2B316C212D67
LZQ                       8B8622D6B295E0E1
SCOTT                     F894844C34402B67
SURE                      7CF462527540A5B0
SS                        6C38D7B24909EB18
OUTLN                     4A3BA55E08595C81
OLAPSYS                   4AC23CC3B15E2208
SI_INFORMTN_SCHEMA        84B8CBCA4D477FA3
OWBSYS                    610A3C38F301776F
ORDPLUGINS                88A2B2C183431F00
XDB                       88D8364765FCE6AF
ANONYMOUS                 anonymous
CTXSYS                    71E687F036AD56E5
ORDDATA                   A93EC937FCD1DC2A
OWBSYS_AUDIT              FD8C3D14F6B60015
APEX_030200               6B653304BCFBC89D
APPQOSSYS                 519D632B7EE7F63A
WMSYS                     7C9BA362F8314299
EXFSYS                    33C758A8E388DEE5
ORDSYS                    7EFA02EC7EA6B86F
MDSYS                     72979A94BAD2AF80
FLOWS_FILES               738F2D4D10BF7DE2
SPATIAL_WFS_ADMIN_USR     7117215D6BEE6E82
SPATIAL_CSW_ADMIN_USR     1B290858DD14107E
APEX_PUBLIC_USER          E943E8C4CB4A6A9B
DIP                       CE4A36B8E06CA59C
MDDATA                    DF02A496267DEE66
XS$NULL                   DC4FCC8CB69A6733
ORACLE_OCM                5A2E026A9157958C

 rows selected.

事实上dba_users就是结合user$等相关基表创建的视图。从dba_uses视图的相关语句可以看出在11g中当用户被创建为全局或外部认证时password才有加密值,而10g中dba_users的password列完全取值与user$的password列值相关SQL

10g:

10g:
select u.name, u.user#, u.password,
       m.status,
       decode(u.astatus, , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime, to_date(NULL)),
       decode(u.astatus,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              decode(u.ptime, '', to_date(NULL),
                decode(pr.limit#, , to_date(NULL),
                 decode(pr.limit#, ,
                   decode(dp.limit#, , to_date(NULL), u.ptime +
                     dp.limit#),
                   u.ptime )))),
       dts.name, tts.name, u.ctime, p.name,
       nvl(cgm.consumer_group, 'DEFAULT_CONSUMER_GROUP'),
       u.ext_username
       from sys.user$ u left outer join sys.resource_group_mapping$ cgm
            on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and
                cgm.value = u.name),
            sys.ts$ dts, sys.ts$ tts, sys.profname$ p,
            sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
       where u.datats# = dts.ts#
       and u.resource$ = p.profile#
       and u.tempts# = tts.ts#
       and u.astatus = m.status#

       and u.resource$ = pr.profile#

11g:

11g:
select u.name, u.user#,
       decode(u.password, 'GLOBAL', u.password,
                          'EXTERNAL', u.password,
                          NULL),
       m.status,
       decode(u.astatus, , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime,
                         , u.ltime, to_date(NULL)),
       decode(u.astatus,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              , u.exptime,
              decode(u.ptime, '', to_date(NULL),
                decode(pr.limit#, , to_date(NULL),
                 decode(pr.limit#, ,
                   decode(dp.limit#, , to_date(NULL), u.ptime +
                     dp.limit#),
                   u.ptime )))),
       dts.name, tts.name, u.ctime, p.name,
       nvl(cgm.consumer_group, 'DEFAULT_CONSUMER_GROUP'),
       u.ext_username,
       decode(length(u.password),,'10G ',NULL)||NVL2(u.spare4, '11G ' ,NULL),
       decode(bitand(u.spare1, ),
              , 'Y',
                  'N'),
       decode(u.password, 'GLOBAL',   'GLOBAL',
                          'EXTERNAL', 'EXTERNAL',
                          'PASSWORD')
       from sys.user$ u left outer join sys.resource_group_mapping$ cgm
            on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and
                cgm.value = u.name),
            sys.ts$ dts, sys.ts$ tts, sys.profname$ p,
            sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
       where u.datats# = dts.ts#
       and u.resource$ = p.profile#
       and u.tempts# = tts.ts#
       and u.astatus = m.status#

       and u.resource$ = pr.profile#

2.密码区分大小写
可以通过初始化参数sec_case_sensitive_logon来控制密码是否大小写敏感,默认TRUE

3.密码复杂性检查
通过执行以下脚本生成密码复杂性检查函数verify_function_11G
@$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql

然后设置profile使用该函数来检查密码即可
ALTER PROFILE default PASSWORD_VERIFY_FUNCTION verify_function_11G;

11g新特性-dba_users安全性的一些增强的更多相关文章

  1. 11G新特性 -- 块介质恢复性能增强(block media recovery)

    块介质恢复性能增强(block media recovery) :只是恢复受损的块.不需要将受损的数据文件offline.针对受损的数据块,使用备份中好的数据块进行restore和recover,避免 ...

  2. 11G 新特性之 密码延迟认证

    11G 新特性之 密码延迟认证 11G 新特性之 密码延迟认证 Table of Contents 1. 特性简述 2. 特性潜在引发问题 3. 关闭特性 1 特性简述 为了防止用户密码的暴力破解,从 ...

  3. 11g新特性与12c新特性

    1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

  4. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...

  5. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  6. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  7. Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27

    Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27 1. 修改历史2 2. 适用语言::几乎所有编程语言.语言提升的三个渠道::语法,类库,框架,ide2 2.1. 单根继承  ...

  8. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  9. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

随机推荐

  1. OpenCV图像细化的一个例子

    转自:http://blog.csdn.net/zfdxx369/article/details/9091953?utm_source=tuicool 本文是zhang的一篇经典图像细化论文,效果很好 ...

  2. COGS396. [网络流24题]魔术球问题(简化版

    问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为 1,2,3,4......的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全平 ...

  3. python的正则表达式

    1 元字符: 1.1 . .除了换行符以外的任何单个字符 1.2 ^ ^只匹配起始字符 temp1=re.findall('^morra','nsudi werwuirnmorra') temp2=r ...

  4. Android开发笔记之《Window下安装Ubuntu双系统,Grub无法显示Window选项》

    解决方法是: 在terminal里面输入: sudo update-grub 会找到windows的grub 重启电脑就可以了.

  5. Java程序员岗位

    Java程序员岗位面试题有哪些?   1.面向对象的特征有哪些方面(1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择 ...

  6. ecshop 后台分页功能

    Ecshop分页规则,分以下几个步骤 1.点击类别,获取第一页获取默认分类列表数据 2.点击“下一页”,采用ajax调取分页内容 实例分析(比如订单列表分页admin/order.php) 1.先写一 ...

  7. CentOS 7 上安装 redis3.2.3安装与配置

    前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自身集群的功能. 而现在最新的项目是需要redis集群的,这篇文章我们就来介绍下有关redis的安装与配置. 一. ...

  8. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  9. Linux如何查看文件系统(磁盘使用情况)

    查看磁盘剩余空间: df -Th 用法:df [选项]… [文件]… 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统. 长选项必须用的参数在使用短选项时也是必须的. -a, ...

  10. OS X EI Capitan安装refind时出现Could not set boot device property: 0xe00002bc

    参考:terminal - OSX 10.11 El Capitan - setting boot device property not working ... 解决办法: 1.重启MacMini, ...